In this course, we introduce you to the DevOps Playbook Part 1.
The DevOps Playbook Part 1 course begins with Book 1, a brief introduction to DevOps and how in recent times it has become the defacto approach to developing and operating applications. We then introduce you to Books 2 through to 7, covering the topics, CALMS, Collaboration, Automation, Version Control, Continuous Integration, and Continuous Testing, where each book documents a required DevOps competency, one in which you’ll need to adopt and establish skills in to be effective in DevOps.
- Book 1 - DevOps
- Book 2 - CALMS
- Book 3 - Collaboration
- Book 4 - Automation
- Book 5 - Version Control
- Book 6 - Continuous Integration
- Book 7 - Continuous Testing
The DevOps Playbook Part 1 course includes 2 demonstrations where we put into practice some of the DevOps theory presented.
- Atlassian BitBucket and Slack Integration
- Atlassian BitBucket Pipelines and Docker
Note: the source code as used within these demonstrations is available at: https://github.com/cloudacademy/devops/tree/master/DevOps-Adoption-Playbook
- [Instructor] Welcome back. In this lecture, we'll introduce you to CALMS. CALMS is an acronym that represents a conceptual framework for adopting DevOps into an organization. CALMS stands for culture, automation, lean, measurement, and sharing. When starting out on a DevOps journey it helps to have guidance and that's where CALMS can assist.
CALMS is a framework which you can use to guide you through the adoption and transition into a DevOps practice. Each pillar of the CALMS framework can be used to benchmark existing capabilities and highlight areas where improvement can be made. In the following slides we'll spend time understanding each of the individual CALMS pillars.
C: Culture. One thing is for sure, DevOps as a practice is as much about the cultural shift as it is anything else. Everyone in your organization, regardless of team, needs to have a mindset that focuses on working together to achieve a common goal. It is no longer the case that specialization infers bounded areas of interest or skillset. Being able to collaborate and share across multiple teams allows the business as a whole to be far more productive, increasing cadence of delivery, and shortening the time between release cycles. Taking a closer look at the culture that exists within your organization and understanding whether it emphasizes and breeds collaboration will help you to transition towards a successful DevOps practice.
A: Automation. DevOps requires automation and lots of it. A lack of automation means you will waste time and effort performing manual undifferentiated tasks which will affect your business bottom line. Automation allows you to maintain focus on adding business value into your business applications by performing all of the repetitive tasks reliably and quickly. Understanding your build and deploy workflows and current automation posture will allow you to determine where more automation can be applied. For example, you might be able to adapt towards a programmable infrastructure rather than manually provisioning infrastructure.
L: Lean. Lean in the principle of keeping things minimal yet still productive. It applies to just about everything, smaller teams, smaller deployments, smaller scripts. By keeping things lean you can again focus on adding business value while reducing and minimizing technical debt. Reviewing existing processes within your team and projects can help to find areas where refinement can be made, where complexity can be removed, and where reduction can increase productivity.
M: Measurement. DevOps improves cadence and frequency when it comes to releasing into production, but in doing so, puts extra effort on the production environment. And you should never expect things to not go wrong, and when they do you need to be able to understand quickly what has happened, and what part of the system. Being able to measure through the use of metrics and monitoring is both a vital and important part of a successful DevOps practice. Is your team notified in near real time that a production issue exists? How quickly can you react, diagnose, and resolve a production issue? And new feature releases influencing, and user adoption? These types of questions will help you to know whether your application and, or infrastructures have the necessary instrumentation and logging in place which can help your team monitor and measure healthiness across the board.
S: Sharing. Sharing and collaboration are essential to insuring a successful and productive DevOps practice. All experiences, both good and bad, should be shared amongst team members. It is only then that you can learn from these experiences and continue to evolve in a way that is beneficial to the overall business. Sharing is an essential quality to the process of learning. Consider what is currently shared within and amongst your team structures, and whether there are other information steams, ideas, experiences, and, or thoughts that could be communicated more openly. Consider using CALMS as a framework to measure existing competencies and to help understand key areas where focus and improvement can be applied. This will help you adopt DevOps more successfully.
Okay, that completes this lecture on CALMS. Go ahead and close this lecture and we'll see you shortly in the next one.
Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.
He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 25+ years. In recent times, Jeremy has been focused on DevOps, Cloud (AWS, Azure, GCP), Security, Kubernetes, and Machine Learning.
Jeremy holds professional certifications for AWS, Azure, GCP, Terraform, Kubernetes (CKA, CKAD, CKS).