AWS ECS with CloudFormation

Posted on

In a previous post, I went through the steps of setting up continuous integration and delivery using Gitlab and Amazon ECS. In this quick update, I will simplify the infrastructure provisioning using AWS CloudFormation. This is my first time using CloudFormation directly. The learning curve was pretty short and the documentation is good. The only slight problem I encountered was when AWS was trying to create the ECS Service before the ELB listener had been created.…

Read more »

Continuous Integration and Deployment using GitLab.com, ECS, ALB

Posted on

Amazon’s AWS ECS has interested me and I haven’t had a chance to really test it out yet. I decided to set up a minimal project and walk through the steps of setting up Continuous Integration and Deployment. I have been hearing good things about GitLab and I decided to give that a try as well. I’m very glad I did. It had many more features than I expected and it reduced the number of moving parts in this exercise.…

Read more »

Testing Mesos, Marathon, Chronos on Docker

Posted on

Today I decided to test out Apache Mesos, a tool that provides a layer of abstration over a datacenter. Essentially, it allows you to manage a cluster of servers and distribute tasks. I also worked with a couple frameworks that run on top of Mesos. Marathon is a framework for long-running applications, like services. Chronos is a framework for running scheduled tasks in a distributed manner. I’m running this all locally using Docker, which simplifies and isolates installation, but the networking is slightly different so following tutorials to the letter will likely lead to connection problems.…

Read more »

Testing etcd on Docker

Posted on

I was messing around with etcd today on docker. Etcd has some simple instructions for setting up a cluster, but some minor tweaks are needed when you run etcd inside a docker container. Within a docker container, the loopback address doesn’t connect back to the host. Instead you need to determine address that docker configures for the docker host. On my system the host IP is 172.16.42.1, but it seems that is not guaranteed.…

Read more »

One More AngularJS Application

Posted on

I am nearing completion one more non-trivial application using AngularJS. I really like the way it turned out. There were a couple small problems along the way, but I feel that AngularJS is a very good framework and there is a lot of momentum in the AngularJS world. Full AngularJS app, well almost My goal was to fully implement this application in AngularJS using REST based services for all server interaction.…

Read more »

Your own private Github Pages

Posted on

I decided to experiment with Docker. I want to replicate the functionality of Github Pages. Essentially, that means pulling a git repository, running Jekyll, and hosting the pages output by Jekyll. Additionally, you would need some externally exposed method to allow a push hook in the repository to trigger a build. Warning: This is all a bit new to me, so if you have any suggestions, please let me know.…

Read more »

Ubuntu + Docker + Mono = Hello World

Posted on

Below are the steps I followed to compile and execute a C# hello world application, running on Mono, in a Docker container, on Ubuntu running in a virtual machine. I thought it would be a good idea to document the process. I hope it helps. Disclaimer: I am new to a lot of these technologies, so it is very likely that I am doing something inefficiently or wrong. Keep that in mind.…

Read more »

Code Kata in C#

Posted on

Last night I completed my code katas using C#. I’ve been using C# for many years now, so the primary goal was to provide some comparison with the other languages I have been using recently. Here are my reactions: Hello again, Visual Studio It was very nice to be back in Visual Studio. Code completion is a tremendous productivity boost. Background compiling and refactoring support are quite good. On the negative side, Visual Studio does feel a bit cluttered.…

Read more »

My Experience Learning Go - Pros and Cons

Posted on

For the past couple days I’ve been going through my code katas using the language Go. Thus far, I’ve done the same process using Ruby and using Python. Go is a very interesting language. There are a lot of aspects that I really like, and some that I don’t like so much. Pros: Clean syntax - Go feels cleaner than Ruby and a little cleaner than Python. Static and native compilation - Go statically compiles to a native binary.…

Read more »

Memoization in Python in One Line

Posted on

I had a bit of a surprise today while going through some Python exercises. I needed to add memoization to a function and I had it all written with custom code. Then I decided to see if there was a more pythony way of solving the problem and I was very surprised by the answer. One line of code Okay, technically it is two lines of code if you count the import statement.…

Read more »