REPEATABILITY RELIABILITY SCALABILITY THROUGH GITOPS by Bryan Feuling
Author:Bryan Feuling [Bryan Feuling]
Language: eng
Format: epub
Publisher: Packt Publishing
Published: 2021-05-13T16:00:00+00:00
These best practices will assist in building out an effective continuous deployment process that will increase deployment frequency, shorten developer lead time, reduce mean-time-to-restore, and even have a positive impact on the change-failure rate of the applications. But a true continuous deployment process wouldn't be truly continuous without a continuous delivery process surrounding it.
Continuous delivery considerations
As the DevOps team deliberated over what deployment best practices would be like for their company, they realized that they would also need best practices for before and after the deployment was done. Every developer that had releasable code would need to pass their artifacts through a set of testing sequences. But before they could submit the artifact for a deployment, they would have to work through a set of change management practices to ensure that sufficient approvals and documentation were submitted. Because of the company's compliance standards, the artifact would not be able to be deployed to production by the same person who submitted the code. This requirement created at least a two-person release process. Additionally, audit-related requirements meant that significant access controls needed to be in place, and changes that had been made to any service needed to be documented. Every release would also require a set of documented and automated verification and failure remediation steps, such as rollbacks, with root cause analysis practices as a part of the failure remediation requirements. Although all of the pre-deployment and post-deployment requirements were well understood, the best practices around these requirements needed to be better defined.
The first of the best practices is around change management. Although the requirement of having proper approvals and documentation was well-understood, relying on a person or set of people to manually work through the process will always result in bottlenecks. Instead, the best practice should be that any change management steps should be repeatable because of automation, reliable because of sequential execution, and scalable because of templatization. Every delivery pipeline that's executed should provide the relevant information to a command that automatically generates the appropriate change management document, and then waits for the desired outcome before the next step is allowed to move on. The DevOps team will need to implement some level of dependencies to prevent anyone from skipping these requirements as well.
Another best practice for continuous delivery is automated failure strategies. The deployment process should allow for easily detecting the status of the deployment and executing the appropriate failure strategy, based on what has already been successfully accomplished. If there was an issue with the creation of a change management ticket, then the failure should just stop the pipeline, as there is nothing to roll back to. However, if the deployment was taking too long or there was a noticeable error, a rollback process should be executed. Helm would allow for an easy rollback execution because of its built-in rollback commands.
The last best practice for the DevOps team to implement would be environment configuration consistencies. Every deployment that goes out should be deployed in the same way with the same environment configuration steps.
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Sass and Compass in Action by Wynn Netherland Nathan Weizenbaum Chris Eppstein Brandon Mathis(7808)
Grails in Action by Glen Smith Peter Ledbrook(7719)
Azure Containers Explained by Wesley Haakman & Richard Hooper(6815)
Configuring Windows Server Hybrid Advanced Services Exam Ref AZ-801 by Chris Gill(6813)
Running Windows Containers on AWS by Marcio Morales(6330)
Kotlin in Action by Dmitry Jemerov(5089)
Microsoft 365 Identity and Services Exam Guide MS-100 by Aaron Guilmette(5054)
Combating Crime on the Dark Web by Nearchos Nearchou(4629)
Microsoft Cybersecurity Architect Exam Ref SC-100 by Dwayne Natwick(4583)
Management Strategies for the Cloud Revolution: How Cloud Computing Is Transforming Business and Why You Can't Afford to Be Left Behind by Charles Babcock(4437)
The Ruby Workshop by Akshat Paul Peter Philips Dániel Szabó and Cheyne Wallace(4318)
The Age of Surveillance Capitalism by Shoshana Zuboff(3977)
Python for Security and Networking - Third Edition by José Manuel Ortega(3880)
The Ultimate Docker Container Book by Schenker Gabriel N.;(3538)
Learn Windows PowerShell in a Month of Lunches by Don Jones(3528)
Learn Wireshark by Lisa Bock(3499)
Mastering Python for Networking and Security by José Manuel Ortega(3376)
Mastering Azure Security by Mustafa Toroman and Tom Janetscheck(3355)
Blockchain Basics by Daniel Drescher(3322)
