Aligning Services with DevOps Stages [DevOps with AWS – Part 2 of 9]
DevOps is an iterative software development approach that brings development and operations teams together for improved collaboration and accelerated software delivery. One popular platform for implementing DevOps practices is Amazon Web Services (AWS). In this article, we will discuss how to do DevOps using AWS and introduce some of the essential AWS services that can be leveraged in a DevOps workflow.
Read part 1 here – How to Set Up DevOps with AWS?
The image given above shows the cyclic process of DevOps. But keeping in line with the scope of this article, we will only indicate what AWS services can be used as part of each stage. We will compile and present more articles that delve deeper into each stage and the services used.
Aligning Services with DevOps Stages
Considering AWS offers over 200 services and countless others from the marketplace, aligning all the services AWS offers specifically with each DevOps stage is beyond this article’s scope. But for the few indicated in the image above, if we were to align them, the list would be as follows:
Stage 1: Planning
- Amazon WorkDocs
- AWS CodeStar
Stage 2: Deployment
AWS offers over a dozen services to enable developers to code efficiently and productively. Some of the notable ones are mentioned below.
- AWS CodeStar
- AWS Cloud9
- AWS CodeCommit
- Amazon CloudGuru
Stage 3: Integration
- AWS CodeBuild
- AWS CodeDeploy
- AWS CodePipeline
- AWS CloudFormation
Stage 4: Testing
Testing strategies, environments, infrastructure needs, etc., are quite varied in the industry. In a dedicated QA environment, your entire DevOps cycle can be completed without deploying into Production. Or you might loop back to the development cycle without doing any deployment. Nevertheless, for testing environment AWS offers:
- AWS Device Farm
- Various AWS Infrastructure Services like EC2, Lambda, etc.
Stage 5: Deployment
The deployment stage for Production is being specifically called out here. But please note that deployment into Testing environments is also happening. And the AWS services that are being used to do the deployment in Testing environments are most likely going to be the same for Production.
- AWS CodeDeploy
- Other Integration Services: AWS CodePipeline and AWS CloudFormation
- Various AWS Infrastructure Services like EC2, Lambda, etc.
Stage 6: Monitoring and Feedback
I have clubbed Monitoring and Feedback into one because monitoring tools also provide feedback, and feedback tools need to do monitoring to make suggestions.
- Amazon Inspector
- Amazon CloudWatch
- AWS X-Ray
- AWS Trusted Advisor
- AWS Systems Manager
Wrapping Up!
I know different environments and different need leads to different preferences. So the above suggestions are in no way a one-size-fits-all. But, to do simple things simply, it’s a good start. In the next set of articles, we will delve deeper into each stage and talk about the objective of that stage and what preferred AWS services are bringing to the table.