Getting Started with DevOps in 90 Minutes
A hands-on introduction to DevOps ideas, tools, and practices
Since emerging in 2008 from the fast-moving companies of Silicon Valley, DevOps has proven to be an essential approach for building and running modern, online software systems for all kinds of companies and organizations. The combination of speed and reliability at the heart of DevOps means that you can respond to customer and market demand while satisfying increasingly demanding regulatory and security requirements. By adopting a truly shared goal—"rapidly and safely"—between the teams building software and the teams running the software systems, DevOps provides a hugely enhanced business capability in almost every industry sector.
In this hands-on introduction, Matthew Skelton cuts through the marketing spin and hype around DevOps to detail its essential elements. You'll learn what DevOps means and why and how DevOps can benefit your organization as you explore the core ideas of DevOps and how they can address the current challenges in your organization. You'll leave with an understanding of common misconceptions about DevOps, team structures and skills combinations that can work well with DevOps, essential new capabilities for DevOps, the DevOps tooling landscape, and important considerations around infrastructure.
What you'll learn-and how you can apply it
- DevOps beyond the buzzwords and hype
- Successful DevOps approaches (and when and why they work)
- The value of flow and feedback with DevOps
- The capabilities needed to make DevOps work
- The tooling landscape for DevOps
- Team structures for DevOps and which might be more suitable for you
- How to get started with a DevOps transformation
And you’ll be able to: - Create a simple value stream map of the flow of change for one software product or service - Identify gaps in capabilities, skills, and tooling required by DevOps within your organization - Use the DevOps team topologies patterns to identify suitable team structures for your organization - Recognize and distinguish user-facing features from operational features and allocate work accordingly
This training course is for you because...
- You're a C-level executive responsible for technology who needs to introduce or accelerate DevOps in your organization.
- You're a technology leader with experience in software development, IT operations, or IT service management who wants to understand what DevOps can bring to your organization.
- You're a key influencer within the IT or software development division of your organization who needs to explain the benefits of DevOps to your colleagues or the management team.
- Experience managing or working with or on software development teams, IT operations teams, testing teams, database teams, release management teams or build and deployment teams
- A clear understanding of traditional software release processes or traditional IT operations practices
- Familiarity with modern web-based (HTTP) software systems and architectures
Materials or downloads needed in advance: - Download & print from: https://www.dropbox.com/sh/f66qnyoa3zd2nhi/AACjzAaSMV6twtMVnpYQJoEPa?dl=0
Assignments to be completed prior to the training: - Please complete the Team Goals and Dynamics worksheet - Worksheet A (download from https://www.dropbox.com/sh/f66qnyoa3zd2nhi/AACjzAaSMV6twtMVnpYQJoEPa?dl=0)
Recommended preparation: - What Is DevOps? (book) - "What Devops Means to Me" (article) - 2017 State of DevOps Report (infographic) - "A Useful Working Definition of DevOps" (article) - DevOps Team Topologies (website) - Learning DevOps: Continuously Deliver Better Software (book—optional) - We Are All DevOps (video—optional)
Recommended follow-up: - The Phoenix Project (book) - The DevOps Handbook (book) - Effective DevOps, chapters 3, 4, and 5 (book) - Continuous Delivery with Windows and .NET (book) - Continuous Delivery Expert Interviews (video)
About your instructor
Matthew Skelton has been building, deploying, and operating commercial software systems since 1998. Head of Consulting at Conflux (confluxdigital.net), he specializes in continuous delivery and operability for software in manufacturing, ecommerce, and online services, including cloud, IoT, and embedded software. Matthew curates the well-known DevOps team topologies patterns at devopstopologies.com and is co-author of the books Continuous Delivery with Windows and .NET (O’Reilly, 2016) and Team Guide to Software Operability (Skelton Thatcher Publications, 2016). He is also co-founder at Skelton Thatcher Publications (http://skeltonthatcher.com/), a pioneering publisher of techniques for software teams.
The timeframes are only estimates and may vary according to how the class is progressing
Introduction to DevOps (10 minutes) - Lecture: The core ideas and principles behind DevOps, including CAMS, flow, feedback, deployment pipelines, shared goals, infrastructure automation, and responsibility alignment; why the confusion around DevOps can be removed by focusing on “delivering rapidly and safely” - Hands-on exercise: Define DevOps
Flow and feedback (15 minutes) - Lecture: Continuous delivery deployment pipelines; using value stream mapping to remove constraints and improve flow even without any automation Hands-on exercise: Draw a value stream map for a piece of software, helping to identify the delays between value-add activities
Focus on operability (10 minutes) - Lecture: Operability as a key focus for successful DevOps organizations; why you need to include operational features in Dev team backlogs; practical operability techniques for building a DevOps culture - Hands-on exercise: Distinguish user-facing features from operational features and assign a suitable amount of team time for the operational features; complete sections of an example runbook dialogue
Break (5 minutes)
Capabilities and tools (15 minutes) - Lecture: The key capabilities needed for DevOps and the team skills and tooling needed to make these capabilities effective—public versus private cloud, infrastructure as a service (Iaas), platform as a service (PaaS), function as a service (FaaS), VMs versus containers, continuous integration, continuous delivery deployment pipelines, artifact repository, log aggregation, configuration management, security testing, test automation, monitoring and metrics, and dashboards for decisions; capabilities to invest in based on your current situation and capabilities versus capabilities to simply consume as a service from an external provider; in-team capabilities like user experience (UX), product management, test automation, team autonomy, team responsibility, and alignment to the business domain - Hands-on exercise: Consider the capabilities of your organization at present and whether you should be building and running those capabilities themselves or consuming those capabilities as a service from external providers
Team topologies for DevOps (organization design) (10 minutes) - Lecture: Successful DevOps team organization patterns (team topologies); ineffective patterns (antitypes) and why they should be avoided - Hands-on exercise: Visualize and conceptualize your current team interaction patterns by drawing out the team relationships in the form of a Venn diagram (like those at Devopstopologies.com); imagine and draw a future (better) state of team interactions to make DevOps a success
Launching DevOps (10 minutes) - Lecture: Practices, activities, and techniques that can help initiate a DevOps transformation within an organization, including lunch-and-learn sessions, shared incident reporting, a single shared goal, meetups, runtime dashboards, runbook dialogue sheet collaboration, and health-check endpoints - Hands-on exercise: Choose the DevOps launch activities you should begin within your organizations and plan out a timeline of DevOps launch activities; quiz to test your DevOps knowledge
Wrap-up and Q&A (10 minutes)