Sergey Nivens - Fotolia

Tip

Weigh the pros, cons of AWS CodeCommit for source control

Before developers commit to AWS' native source control service, they should carefully evaluate the benefits and tradeoffs compared to alternatives like GitHub.

Developers have no shortage of source control options to store code and other artifacts. Outside of services such as GitHub and Bitbucket, some public cloud providers also offer their own native source control options.

In AWS, that native option is CodeCommit, a managed source control service that lets developers extend their Git repositories to AWS' infrastructure. While CodeCommit offers many benefits, it won't meet the requirements of every development team.

Let's examine when the service makes sense and when you should consider alternatives.

AWS CodeCommit benefits

One of AWS CodeCommit's biggest advantages is its integration with the rest of the AWS ecosystem. CodeCommit tightly integrates with other native services, such as AWS CodeBuild and CodePipeline. A developer can simply select a Git repository in a drop-down box directly in the AWS console during build pipeline setup.

Through CodeCommit integrations, a developer can also trigger a Lambda function or Amazon Simple Notification Service. In addition, CodeCommit lets a dev team use existing and preconfigured AWS Identify and Access Management roles.

AWS CodeCommit also includes free, private Git repositories for developers to use. Unlike other services, such as GitHub, CodeCommit allows unlimited public and private Git repos with a pay-as-you-go model that only charges for active monthly users. This can be a big benefit for small organizations or individual developers who only want a few repositories without a high bill or without having to manage the underlying infrastructure.

CodeCommit also has robust security, as it automatically encrypts all files in transit and at rest. This helps reduce the usual concerns of bringing proprietary information into the public cloud.

AWS CodeCommit limitations

Although CodeCommit does have some intriguing features, it's not right for all situations. GitHub, for example -- which is CodeCommit's primary competitor -- touts a massive user base, as well as some important features that CodeCommit lacks, such as logging individual commits within a Git. This could be because CodeCommit, released in 2015, is still relatively young compared to GitHub, which launched in 2008 and was acquired by Microsoft this year.

While AWS has focused its efforts on the back end of CodeCommit, the service could also benefit from improved documentation and a more user-friendly interface.

What's more, performance can also be problematic for AWS CodeCommit users, according to reports. This could be due to periodic HTTPS connection issues and some overhead caused by encrypting data at rest.

Although current AWS users can benefit from CodeCommit's native integration, the broader developer community likely wants to wait and see where the service goes. My advice is to try it out and use it as a complement to your existing source code management system. Monitor AWS' feature updates and bug fixes for the service, as it has a lot of potential.

Dig Deeper on AWS cloud development