AWS DevOps Team Strategy
A Cloud Enthusiast
Search for a command to run...
A Cloud Enthusiast
No comments yet. Be the first to comment.
DNS changes are powerful and risky. A single incorrect Route 53 record can cause outages, security exposure, or compliance issues. A simple but effective governance control is to get alerted whenever

Description Terraform is an infrastructure-as-code tool that makes handling infrastructure more straightforward and manageable. A Terraform module is a collection of configuration files that encapsula
Introduction Amazon Elastic Kubernetes Service (Amazon EKS) is a managed Kubernetes service that makes it easy for you to run Kubernetes on AWS and on-premises. Kubernetes is an open-source system for automating deployment, scaling, and management of...

Introduction In this blog, we will demonstrate how to proactively monitor a web server EC2 security group for any traffic rule changes using Lambda along with a few other services. If we detect any unauthorized changes, we will then undo them using L...

In this article, I will briefly define what is DevOps, then we will discuss the suggested strategy to manage and automate DevOps teamwork in the context of AWS Team.
DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market. Below are the main benefits of DevOps:
Collaboration
Improved delivery
Security
Speed
Scale
Reliability
In order to automate and manage the AWS DevOps teamwork, we would need to split our strategy into below main parts:
As an AWS Team, we need to focus on the below AWS native services:
Continuous Integration / Continuous Deployment (CI/CD):
AWS CodeCommit: Fully managed SCM service
AWS CodeBuild: To build and test the code
AWS CodeDeploy: For application deployment within AWS infrastructure
AWS CodePipeline: Is the glue which binds these services together. It's a orchestration tool which links all these products and automates the process end-to-end
Continuous Monitoring and Improvement:
AWS X-Ray: Is a tracing service for analyzing the performance of applications/services and helps identify any issues.
AWS CloudTrail: Is a product which logs API calls and account events. It is used to diagnose security or performance issues, or to provide quality account level traceability.
Infrastructure and Application Deployment:
AWS CloudFormation: To automate infrastructure provisioning. This can avoid human errors and can be used repeatedly and at scale.
AWS Elastic Beanstalk: To deploy web applications at scale without managing the underlying infrastructure
Configuration Management:
AWS OpsWorks: Provides managed implementations of Puppet and Chef in a product which integrates with other AWS Products and services.
AWS Systems Manager: Allows you to manage applications and infrastructure running in AWS
DevSecOps: Security checks should be embedded in every below step of the CI/CD pipeline
Code
Build
Test
Deploy
Provision
Monitor
The DevOps landscape is constantly evolving and there are new and updated tools being developed all the time. Hence, the DevOps team should be always in a continuous learning mode.
Although the below is not a comprehensive list and is subject to change for the above mentioned reason, these are the main technologies that should be focused on by the DevOps team for continuous upskilling in my humble opinion:
Programming and Scripting Languages:
Python
Go
Bash Scripting
Containerization - Docker / ECS
Container Orchestration - Kubernetes / EKS
Version Control - Git
IaC:
Terraform
Pulumi
AWS CDK
Configuration Management - Ansible
Monitoring and Observability:
Prometheus - Monitoring
Grafana - Visualization
ELK Stack - Log Management
AWS Serverless Products:
Lambda
API Gateway
SQS
SNS
DynamoDB
Fargate
Etc..
CI/CD Tools:
Jenkins
GitLab
GitHub Actions
CircleCI
TravisCI
GitOps - ArgoCD
System Design
For the project management aspect, the focus should be on Agile and Scrum methodologies. Below are one of the main tools that would be beneficial for managing DevOps team workflow:
JIRA
Asana
Trello
Slack - Collaboration
On the other hand, a good recommendation when hiring is to mix experienced people having a variety of backgrounds with new team members so that they can share their knowledge for the benefit of all.