DevOps Automation Tools For Agile Teams

 

Automation tools are key for delivering on the philosophy of DevOps: better application and service delivery at high velocity without sacrificing performance. DevOps practices that leverage the latest automation tools and technologies also ensure that their engineering platforms and processes are in place to facilitate continuous delivery, integration, and improvement without sacrificing quality throughout the development process. 

 

When establishing an organization’s DevOps culture, performance is priority. And when properly implemented, automation tools aid DevOps cultures through increased productivity and efficiency between development and operations teams.

 

But to reach DevOps performance goals consistently, teams must ensure that security measures are met, the right resources are utilized for optimal performance, and processes can be repeated at scale. Staying current with the latest automation tools can help DevOps teams meet the goals of speed and agility to push code into production faster without a cost in quality or security.


The Case for Cloud Automation Tools

While cloud automation tools or frameworks all share similar development objectives, tool use depends on the specific business goals linked to development. GE Appliances, for instance, has used AWS since 2012 to help them move towards a DevOps culture “where everybody codes and we are constantly deploying and iterating”. However, their newfound agility left them with a small security team that was not scalable for their overall DevOps goals. GE wanted to build a scalable security process that would also benefit their DevOps cycle through the use of DevSecOps.

 

DevSecOps relies on the philosophy of integrating security principles into the DevOps process to achieve greater efficiency while building with security in mind. GE used CloudTrail to gain visibility into both API and non-API actions across users’ AWS accounts. This automated monitoring alerts to help stretch the bandwidth of GE Appliances small security team and detect security events before they became massive scandals. 

 

Continuous Integration and Continuous Delivery for DevOps

A continuous integration and continuous delivery (CI/CD) pipeline can ensure consistent environments and reliable application deployments, with less room for error. GE utilized AWS to rapidly create and use CI/CD processes, allowing their security teams to provide additional visibility to audit trails, along with more control over the services utilized. 

 

One of the foremost common use cases for cloud automation is to define Infrastructure as Code (IAC). This allows you to manage every aspect/detail of your infrastructure across multiple environments in the same way you do your application code. 

 

One Stratus10 client required a fully-automated CI/CD process  for their image recognition application which depended on  the use of GPU instances. The challenge was integrating a microservice infrastructure to support NVIDIA drivers on GPU instances. Integrating these drivers would allow the containers to take full advantage of the GPU instances.

 

Stratus10 was able to overcome this challenge by integrating the containers running on CoreOS with NVIDIA drivers in order to run the application on GPU instances. CoreOS was chosen as the operating system due to its lightweight properties. Stratus10 also built a fully-automated CI/CD process for the application using various tools including CircleCI and AWS Code Commit. 

 

As a result, the client saw improved application performance and the CI/CD pipeline allowed them to quickly automate deployments and increase velocity, pushing code to production much faster than before.  

 

3M HIS needed a solution that could aide agility goals in their DevOps process while adhering to crucial governance and control requirements. The project team took advantage of  AWS Service Catalog and AWS CloudFormation templates to improve the autonomy of 3M HIS teams using the AWS CodePipeline and Jenkins (a CI/CD platform). 3M HIS creates, manages, and governs AWS CloudFormation templates that provision development pipelines that are now preconfigured for specific teams and purposes built to meet compliance. 3M HIS uses AWS Identity and Access Management (IAM) to assign team-specific roles with the fewest privileges necessary for each team to do its work.

 

Automation Tools for Containers and Workload Management
Cloud automation tools can deploy containers for a microservice application, connect storage, and create load balancers for the clusters and then open the workload to users.

In addition to deployment, cloud automation tools can also be used for workload management. An application performance management (APM) tool such as New Relic or DataDog configured to monitor the deployed workload and its performance. X-Ray serves to debug code and identify the source of code issues. New Relic and DataDog can then alert and trigger automatic scaling tasks, such as adding more containers to a load-balanced cluster to improve performance, or removing excess container instances to pare down resource usage.


Cloud automation tools can also provide version control for workflows, allowing organizations to deliver consistent setups that match up to business and regulatory auditing. The business can see exactly which resources are currently in use, identify which users or departments use them, predict how resources will be used in the future and ensure a level of service quality that is impossible with manual processes. 


Finally, infrastructure Stack Management tools can also be used to configure, update and specify the resources allocated to certain tasks or applications. Examples of infrastructure Stack Management tools are Terraform or AWS CloudFormation. These tools can be used for the purpose of orchestration.

Conclusion
Every cloud automation tool has its strengths, weaknesses, and learning curves associated with using a tool to an organization’s advantage. When used properly, automation tools can serve an organization’s DevOps processes with enhanced performance, security, and of course, agility that gets the application to production faster.

 

Learn your best cloud practices and get in touch now