Is AWS CodeCommit right for your Repository needs?

Introduction to CodeCommit

AWS CodeCommit is a cloud based repository management system for storing managed assets like source code, binary files and documents. It offers all the main features like versioning, tagging, branching, Pull, Push, Merge etc. of any famous code repository management system like GitHub and BitBucket.

Git is the most widely used versioning system. These days almost every open source system uses Git as its code repository and has become the default choice for the development teams. AWS’s repository management system, CodeCommit, offers full compatibility with Git which means you can move your local repositories to cloud based repositories in CodeCommit, migrate your GitHub repositories to CodeCommit and run all the commonly used Git commands directly.

Ideal scenarios

There are two main elements that make CodeCommit a better choice over other versioning systems:

Free Private Git Repositories

GitHub offers free but publicly accessible repositories and are not an ideal choice for hosting code intended for internal use only. For small enterprises, developing products using GitHub public repositories is not a viable option. There is also an option to purchasing private repositories from GitHub but that can turn out to be very expensive. Using AWS free tier, AWS CodeCommit allows you to create free private repositories as long as you remain with the 50 GB of storage limit, 5 user accounts, and 10,000 requests per month. Most companies can easily incorporate a code management system within these limits and if they require more than 5 users they can add additional users at a cost of $1.00 per month.

Integration with other AWS development Services

The best scenario for using CodeCommit is when your application or software development environment is mostly based on AWS and leverages AWS services and products. CodeCommit provides seamless integration with CodeBuild, CodeStar, Lambda, Cloud9, CodePipeline, CloudFormation, SNS and other AWS service and products that makes software development, build, deployment and release extremely fast.

Other benefits

Unlimited Scalability

AWS CodeCommit repositories can scale up to meet your development needs. The service can handle repositories with large numbers of files or branches, large file sizes, and lengthy revision histories. AWS CodeCommit has no limit on the size of your repositories and on the stored file types.

AWS Guaranteed Security

Enhanced security is the key feature of all the AWS Services and same holds true for CodeCommit. You can authenticate users using IAM generated Git user and AWS access keys. This enables you to implement granular user permission over your repositories. You can implement a policy which enables a user to have permissions to view repositories, push code, create and manage Git credentials, and so on.  

Limitations

Although CodeCommit provides direct integration with the major Software products and IDEs like Visual Studio, Eclipse and Jenkins etc., however, CodeCommit is relatively new, so it falls behind GutHub and BitBucket in terms of providing direct integrations with other softwares. So, if you want integrate your current software development tools with CodeCommit via some pre-built plugin or integrated user interface you need to check the compatibility list. In any case, since CodeCommit uses Git, you should be able to indirectly integrate your existing systems with CodeCommit via simple Git commands.

Conclusion

We can conclude that CodeCommit should be the ideal choice if rest of your other development tools are AWS based. Also if you want to quickly get started with hosting your new private Git repositories on Cloud with zero or minimal cost CodeCommit should be your first choice. CodeCommit is also a suitable choice for migrating your local private Git repositories to Cloud.

Muhammad Ali

Bluestack IT Solutions