Understanding the AWS Code Suite

Besides providing a plethora of infrastructure-related services, AWS also provides a few services that are designed to help developers quickly design, develop, build, and deploy their applications on the AWS cloud platform. In this section, we will have a quick look at these services and how you can leverage them together to build your very own continuous integration and delivery pipelines:

  • AWS CodeCommit: An important starting point for any CI/ CD pipeline is a simple yet functional source control repository. Traditionally, this would be set up on one or more physical servers in the form a Git or SVN repository that developers would use to push their code and updates to; however, maintaining such code repositories and scaling them was always going to be a challenge. That's where AWS CodeCommit comes into play! AWS CodeCommit is a managed source control service that enables developers to securely store their code on the AWS cloud. It offers many of the features that you would require and use while working with different source control repositories, such as branching, commits, rollbacks, and much more.
  • AWS CodeBuild: AWS CodeBuild is a code build service that developers can leverage to automate their source code compilations, tests, executions, and code packaging for deployments. Similar to its other counterpart services in the Code Suite, CodeBuild too is managed completely by AWS, thus eliminating any unnecessary administrative overheads, such as patching or scaling the code build software. CodeBuild is highly extensible and it also easily integrates with your existing CI/CD workflows as well.
  • AWS CodeDeploy: With your application code stored securely and compiled, the final step requires the code to be deployed across your fleet of EC2 instances. This can be easily achieved with the help of our next Code Suite service, called AWS CodeDeploy. Using CodeDeploy, a developer can automate code deployments to any environment that runs off of either EC2 instances as well as servers that are running in an on-premise datacenter. CodeDeploy essentially eliminates deployment complexities by allowing you to automate the delivery of your code across thousands of instances without having to undergo any major downtimes.
  • AWS CodePipeline: AWS CodePipeline is a full fledge CI/CD service provided by AWS that developers can leverage to build end-to-end CI/CD pipelines either by using the AWS Code Suite of services or even with other popular third-party tools, such as GitHub, Jenkins, and so on. Using CodePipeline, you can also create and define custom software release models using which your application gets updated with the latest set of updates, tested, and packaged as well for the next iterative set of deployments.

Here is a brief representation of how these services map together collaboratively to create a comprehensive CI/CD pipeline:

For the purpose of this chapter, however, we will be working with only three AWS Code Suite services, namely AWS CodeCommit, AWS CodeDeploy, and AWS CodePipeline. The chapter will showcase how these three services can be leveraged together to build your very own CI/CD pipelines for our sample WordPress application. Here is a high-level depiction of our overall use case:

With the basic understanding of the Code Suite services out of the way, let's learn a bit more about AWS CodeCommit and how you can leverage it as your very own source code repository!

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset