Devops
Enabling Agility Through DevOps


Overview

This course is intended to provide you the information you need so that you can establish your goals, priorities and plans for DevOps in your organization. We start with the why, then drill down to the what and the how, showing specific examples of common tools and techniques. We will also speak to issues organizations face while adopting DevOps.

Agile broke down the barriers between product experts, developers and testers. Through collaboration they are able to create valuable software more effectively than before. The faster you can execute the concept-to-cash cycle, the more competitive you will be. Ultimately you can only be as successful as your product development processes enable. Having completed tested code is only a part of the value chain. You don’t get any real benefit until that code is productively being put to use. Hence the focus on DevOps.

DevOps combines the rigors of agile software development practices with rigorous systems operations practices. By building these capabilities your organization, you will become more effective operating in today’s dynamic systems environment which includes:

  • Rapidly changing capacity demands
  • High expectations of availability and quality
  • Complex compliance regulations
  • Security threats

To summarize, here are the outcomes you achieve when you adopt the DevOps principles and practices:

  • Faster returns on your software investments by decreasing the time it takes to go from a concept to deployed software
  • Shorter time to learn how your users respond to new product and features
  • Increased stability, manageability, scalability and diagnosability of your systems used for the development, testing and deployment of software.

The purpose of this workshop is to expose you to the core principles, practices and tools of DevOps so that you can begin developing your own implementation priorities and plan.

Duration: 2 Days
Prerequisites: Understanding of testing processes, code, tollgates and checkpoints, etc.

Participants

This course is intended for any member of a software delivery team, operation team, and their managers. The expectation is that attendees understand:

  • The current practices used in their organization for the migration and testing of code as it moves along the path from development to production, including the ability to document current state. This includes:
    • The organizations involved in the process
    • The handoffs and process used with those handoffs including any approvals
    • Tollgates or checkpoints
    • Manual steps
  • The technical constraints and limitations they experience with their current processes
  • The business constraints and limitations they experience with their current processes

Learning Objectives

By the end of this course, people attending will be able to:

  • Explain the underlying principles and goals of the DevOps approach.
  • Define and prioritize your goals for your software delivery value stream. Why are you interested in DevOps? What would “better” look like in the future?
  • Diagram out your current delivery value stream, identifying handoffs, delays and overall waste.
  • Identify the components of a DevOps technical infrastructure that will enable you to meet your goals. What are the components? What do they enable? How do they fit in with your processes?
  • Understand the Organizational impediments and challenges in a DevOps adoption
  • Explain best-practices around using the most common DevOps stack
    • CI & build loops with Jenkins
    • Static code analysis with Sonar
    • Automated acceptance testing with Cucumber
    • Infrastructure as code and automated deployments with Chef or Puppet Master
    • Management of binary artifacts with Artifactory
    • Virtualization with Vagrant
    • Containerization with Docker
    • Monitoring with Nagios
    • Automated provisioning
    • Load balancing
    • Automated failover
    • Security
    • Cloud Computing

Course Outline

Day 1

  • Overview of software, from conception through decommissioning
    • Identify each hand-off
    • What can go wrong?
    • Determine cycle time
    • Determine areas of greatest expense
  • Start of DevOps - software development teams
    • CI
    • Unit testing
  • DevOps Starts to expand
    • Automated acceptance testing
    • Deployments
    • Server configuration
    • Environment testing
  • Operations
  • Software overview

Day 2

  • Technical Practices
    • What are the technical practices?
    • How DevOps supports software development & delivery
    • How software design and development support DevOps
  • Organizational Impediments
    • Who broke the build?
    • How do you fix a broken build?
    • What do you do about code quality & technical dept?
    • Cultural change

DevOps

 
Enabling Agility Through DevOps

This training will educate development teams, managers and operations staff on how DevOps practices can improve software quality and how they can empower development groups to release new software features more frequently. Our expert consultants can also suggest ways of leveraging automation tools and cloud services, and help you select the best build, test and deployment tools for your requirements.

Learn More »

 
DevOps Maturity Assessment

Eliassen Group assesses the potential for DevOps practices within organizations while our consultants analyze development environments and recommend improvements in build, test and release processes. They will educate development teams, managers and operations staff on how DevOps practices can improve software quality and how they can empower development groups to release new software features more frequently. Our expert consultants can also suggest ways of leveraging automation tools and cloud services, and help you select the best build, test and deployment tools for your requirements.