DevOps In Depth
Learn how to implement DevOps techniques & practices which achieve better code quality, better maintenance, and speed to delivery.
Technology: C#, Java
Length: 4 days
- Software Developers
- Project Managers
- Quality Assurance
- Product Owners
- Business Analysts
By the end of this course, students will be able to:
- Explain the value of DevOps
- Provide real world examples of DevOPs benefits
- Define Agile & Scrum practices
- Plan automated testing & automated builds
- Plan Releases in test environments prior to product delivery
- Identify the most efficient DevOps tools for quick release & reliable maintenance of products
- Integrate DevOps methods & techniques into current workflow
This 4-day instructor led Workshop will teach the fundamental concepts, practical application, and integration skills necessary to successfully integrate DevOps practices for current and future projects. Students will learn through hands on labs, class demos, class participation exercises, frequent quizzes, video tutorials, and traditional power point presentations. This is an interactive class, and individuals will be expected to participate fully in all exercises to gain maximum benefit of the course.
Module 1: What is DevOps Really?
This module introduces the concept of DevOps, it's history, and how to put it into context with current business objectives.
- What DevOps is NOT…
- The History of DevOps
- DevOps in Context
- DevOps Objectives
- Exercise: Alignment
Module 2: Cultural Components of DevOps
In this module, we will examine the cultural components of DevOps with a focus on the Agile approach, and how these factors affect the development team workflow.
- The IT Value Chain
- Agile Manifesto
- Opposing Missions of Teams
- The Agile Team
- Cross-Functional Teams
- Continuous Delivery
- The Deployment Pipeline
- Engineering and Software Considerations
- Exercise: Culture and Continuous Workflows
Module: 3 Organizational Culture
This module covers the concept of failure as a tool, and organizational standards associated with DevOps & Agile software development.
- Common Organizational Typologies
- Lessons from Agile
- Collaboration Trends
- Exercise: Tying Cultural Findings to Action
- DevOps tool: Failure
- What should we test?
- Does it DevOp?
- Not all failure is good
- Continuous Improvement
Module 4: Implementing the DevOps Way of Work
Module 4 investigates the DevOps structure, philosophy, and the complexities that accompany it.
- The Anatomy of a DevOps Mentality
- DevOps Mindset
- DevOps Transformation
- 9 Steps to DevOps
- Configuration Management
- Infrastructure complexity
Module 5: Bringing Agility to Infrastructure and the Enterprise
In this Module, we will review the Agile development methodology, introduce Scrum practices, and define the relationship between them and DevOps.
- Agile Review
- What is Scrum?
- Scrum Roles
- Scrum Master
- Product Owner
- Delivery Team
Module 6: Scrum Process
This module endeavors to define completed software. Student will learn the definition of done, the difficulties that go with it, and how to create User Stories to increase productivity.
- User Stories
- User Story Pitfalls
- Acceptance Criteria
- What is Done?
Module 7: Lessons from Lean: Detecting and Eliminating Waste
This Module focus on Waste, how to prevent it, and how developers can avoid spending unnecessary time low value tasks and corrections.
- Understanding waste in a System
- Over Production & Over Processing
- Transportation & Motion
- Inventory & Waiting
- Latent or untapped Talent
- Final Thoughts
- Exercise: Waste
Module 8: Kanban, Visualization, and Work in Progress (WIP)
This module covers Kanban, along with the impact of Visualization and measurement as it applies to the development process.
- Visualizing and Tracking IT Work
- The Impact of Work in Progress
- Measuring Work in Progress
- Reducing Work in Progress
- Upstream and Downstream
- Kanban Boards
Module 9: Monitoring, Measurement, and Inter-Team Visibility
In this module, we will cover the importance of monitoring, measuring, and communicating progress, status, and efficiency between all who are touched by the development process.
- DevOps Metrics for Measuring Success
- Gartner's DevOps Metrics Pyramid
- Monitoring, Measurement, and Visibility
- Building visibility into operational processes
- Using Alerts to Boost Efficiency
- Common Tools for Alerts and Monitoring
Module 10: DevOps Tools for Change
Before selecting DevOps tool, it is crucial for developers and project managers to choose the correct path for each particular application. In this Module, we will review available development tools, as well as the pros & cons that they bring to the table.
- Where to Measure, How to Tweak
- Application Performance Monitoring (APM)
- Applications Release Automation
- Integration Testing & Virtualization
- Version Control
- Version Control Tools
Module 11: Automation
Every team that practices DevOps should Automate time consuming processes as often as possible. This Module reviews automation expectations, infrastructure, and tools.
- Exercise: Automation Expectations
- Automate Infrastructure
- DevOps Automation Tools
Module 12: Deployment
In this Module, Students will learn about the many different options that are available for DevOps Deployment tools.
- Team Foundation Server (TFS)
- Process Monitoring
- Log Aggregation
Module 13: DevOps Tooling
This Module covers the application of DevOps collaboration Tools, and the different options that are available.
- Collaboration Tools
Module 14: Class Conclusion
Class will wrap up with a discussion that sets significant goals that apply to the environment that they currently use, and how to implement DevOps effectively for unique solutions.
- Charting your course and class conclusion
- Towards Continuous Operation and Continuous Delivery
- Succeeding with Continuous Delivery
- Create a Repeatable, reliable way to release software
- Clarifying Expectations
- State of DevOps Report
- 12 Steps to better code
- Do you use…?
- Exercise: Actionable Goals
- Open Discussion, Q&A