The DevOps movement believes there is a better way of building teams and software that has rapidly spread across the development and operations community. The culture of a DevOps organization and team is the heart of the movement and the most important pillar to implement. In this two day course you will explore the origins of the movement, the building blocks of Agile and Lean and the cultural changes you and your organization will need to adopt to become a successful DevOps team. In a blended mixture of theory, hands on, workshops and the use of tools such as Jenkins you will learn how to plan, organize and work in an atmosphere of collective responsibility.
This course provides an insight into the principles, added value and characteristics of DevOps.
- Automated Build and Test
- Using continuous integration techniques
- Overview of architecture approach
- Component based architecture
- Understand the inner workings from different perspectives
- The use of a common language
- Increase efficiency
- Real-time measurements of the software
- Supporting the DevOps strategy
- Software delivery process flow.
- Making sure to enhance rather than impede the overall process
- A few brave men and women
- Freeing up valuable Development and Operations resources.
- Developers solve problems by writing code
- System operators solve problems by implementing technical solutions
- Businesses want both to be optimal and work in harmony
- No Pain, No Gain
Elephant in the room
- Ground rules
- Openness and honesty is the key
- Include (almost) everyone
- Some tried and tested techniques
- Value stream mapping
- Using retrospectives
- The timeline game
- Plan of Attack
Setting and communicating goals and vision
- Standardizing vocabulary and language
- A business change project in its own right
- The benefits of a dedicated team
- The importance of evangelism
- The courage and determination required throughout the organization
- Understanding the cost
- Seeking advice from others
- Tools and Technical Approaches
Engineering best practice
- Source control
- Small, frequent, and simple changes
- Never break your consumer
- Open and honest peer working practices
- Fail fast and often
- Automated build and testing
- Continuous integration
- Architectural approaches
- Component based architecture
- Layers of abstraction
- How many environments is enough?
- Using the same binary across all environments
- Develop against a like live environment
- Continuous delivery tooling
- Automated provisioning
- No-downtime deployments
- When a simple manual process is also an effective tool
- Culture and Behaviors
Open, honest, and courageous dialogue
- Openness and honesty
- The physical environment
- Encouraging and embracing collaboration
- Fostering innovation and accountability at grass roots
- Blame slow, learn quickly
- Building trust-based relationships across organizational boundaries
- Recognizing how different teams are incentivized
- Embracing change and reducing risk
- Changing people's perceptions with pudding
- Being highly visible about what you are doing and how you are doing it
- Hurdles to Look Out For
What are the potential issues you need to look out for?
- Dissenters in the ranks
- The change curve
- The outsiders
- Corporate guidelines, red tape, and standards
- Geographically diverse teams
- Failure during the evolution
- Processes that are not repeatable
- Measuring Success and Remaining Successful
Measuring effective engineering best practice
- Code versus comments
- Commit rates
- Unused/redundant code
- Duplicate code
- Adherence to coding rules and standards
- Where to start and why bother?
- Measuring the real world
- Measuring stability of the environments
- Incorporating automated tests
- Combining automated tests and system monitoring
- Real-time monitoring of the software itself
- Measuring effectiveness of Continuous delivery
- Inspect, adapt, and drive forward
- Are we there yet?
- Wider vision
- What's next?
Who is the course aimed at?
Business analysts, project managers, business and IT consultants and architects.
Organizations that want to apply the principle of "Continuous delivery" in an efficient manner.
We recommend the following knowledge:
- Basic knowledge of processes -and understanding -IT
- Reading English.