Is AWS CodeCommit Right for Your Repository Needs?
GitHub is king, but there might be another challenger worth a look. Let's examine some of AWS CodeCommit's core features to see whether it's right for you.
Join the DZone community and get the full member experience.Join For Free
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 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.
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 is 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 purchase private repositories from GitHub, but that can turn out to be very expensive. Using the AWS free tier, AWS CodeCommit allows you to create free private repositories as long as you remain within 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 make software development, build, deployment and release extremely fast.
AWS CodeCommit repositories can scale up to meet your development needs. The service can handle repositories with large numbers of ﬁles or branches, large ﬁle sizes, and lengthy revision histories. AWS CodeCommit has no limit on the size of your repositories and on the stored ﬁle 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.
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 GitHub and BitBucket in terms of providing direct integrations with other software. So, if you want to 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.
We can conclude that CodeCommit should be the ideal choice if the 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 the cloud.
Opinions expressed by DZone contributors are their own.