AWS Code Deployment CodeDeploy

Introduction to AWS CodeDeploy

aws code deploy

It is 2015 and still I see organizations doing software deployments in ways that are error prone. I have seen deployment instructions that span multiple pages. Those documents look like a TV manual. Do you know what we do with those manuals? We don’t read them. That’s right.

No one reads those long boring manuals.

I have also seen manual deployments. In manual deployments, a developer will take the artifacts and copy and paste those files to a production environment. Human errors are likely to occur with these manual deployments.

Don’t worry. I have good news for you.

I want to introduce a tool by Amazon Web Services that solves this issue. The tool is called AWS CodeDeploy. Code deploy allows you to practice continuous deployment. No more manual deployments and no more long documents with instructions on how to deploy your code.

The nice thing about CodeDeploy is that allows you to deploy your applications to AWS instances and also on-premises servers. If your code runs on windows servers or linux servers, aws codeDeploy can handle that for you.

I’m a .net developer so I have experience deploying .net applications to windows servers. In a nutshell, you have to follow these steps to start deploying your apps:

1. Setup IAM user, instance profile and service roles
2. Install the code deploy service agent on your aws instances3. Add an appspec.yml file to your application
4. Setup a new codedeploy application along with a deployment group
5. Finally, add a deployment for your application

I hope this brief introduction will help your software development team consider AWS CodeDeploy to automate your deployments. In future posts, I will go into more details about the setup. Enjoy!



AWS Cloud python

What I learned by reading the AWS CLI codebase


I’m a big fan of Amazon, specially the Amazon Web Services. In this post I want to share what I learned by reading the AWS CLI code base. For those of you not familiar with those acronyms, it stands for Amazon Web Services Command Line Interface. AWS CLI allows you to manage your AWS services through a command line interface. You can download the cli at If you are using windows, there is an installer available. If you are using Mac or Linux, you can install it with pip by running this command

pip install awscli

After installing and configuring it, you can use the different services available to manage your resources. For example to list all of my s3 buckets, I can run this command, “aws s3 ls”. See the picture below to see the results.

aws cli

Now that you know more about the aws cli, let’s dive into the code base. The project is hosted at github and you can read the code at It is written in Python. It has unit, functional, and integration tests. It has an extensive set of examples on how to run commands.

The code is integrated with travis ci and it is tested against 4 versions of Python. The code runs against 2.6, 2.7, 3.3, and 3.4 versions. This file also run the installation script and tests scripts.

There is also a CLI Dev Version section on the home page of the project. It gives you enough information to setup your project and start contributing back to the project.

And finally, the project has documentation available. I hope this posts give you a brief introduction to Amazon Web Services Command Line Interface’s code base.