AWS CodeCommit: Introduction

AWS CodeCommit: Introduction

·

3 min read

AWS CodeCommit is a version control service from AWS where we can store and manage files - documents, code files, binary files, or any files in the cloud. It is a secure, highly scalable, managed source or version control service that hosts private Git repositories.

This facilitates developers to collaboratively develop the code and works seamlessly with existing Git tools.

Components:

Repositories - a place where the code or any files are stored. Think of it as a container, directory, or folder. Besides, a repository also contains the history of changes made to the files.

So, let’s understand the terms in the definition one by one:

Version control system: Version or source control is the act of managing and tracking changes to files. Predominantly, this version control tracks changes to the software code.

Let’s take this blog post as an example to understand version control. Do you think I wrote this post at once without any changes or modifications? No. First, I began with the definition and then after some time, I completed writing the other things. Later, multiple edits were made to the content from correcting the grammar, and punctuation to adding and removing some lines before finalizing the document.

Imagine a situation where I felt that the content before 5 or 6 edits was correct and I want to compare or see the changes I made from that version to now. Is there a way? Traditionally, there is no way we can track these changes or roll back to previous versions. We open a file, add content, and save it. The subsequent modifications to the file are overwritten thus losing the ability to see the content before it was modified. Alternatively, creating a new file every time we modify the file is not the best way to track the changes. It increases the difficulty of managing so many files and consumes more space on the disk.

Here, the version control system comes to our rescue. It keeps track of every modification to the file and you can always go back in time to compare the previous versions of files and roll back in case you feel the current version is not ideal.

The popular version control software is Git. AWS CodeCommit is a Git-based service.

It’s secure: CodeCommit repositories are encrypted at rest (AWS KMS) and in transit (HTTPS or SSH). Access can be controlled with AWS IAM.

It’s scalable: No limit on the size of the repositories or the file type we store. The repositories scale or grow as we add files.

It’s managed: The service is managed by AWS which provides high availability with minimal downtime. The repositories are always available. No manual overhead of managing hardware or software.

In conclusion, CodeCommit allows users to securely store their code and enables collaborative software development within the team by offering features such as branching, merging, and other Git features.

This is my understanding and interpretation of CodeCommit. Let me know in the comments if anything needs to be corrected, I'm happy to take in the feedback.

Happy Learning!