Course intended for:

The training is intended for programmers, system administrators or their leaders, whose task it is to ensure fast delivery of functionality increment to the production environment, taking into account development, tests, release and deployment

Course objective:

The training provides a comprehensive presentation of DevOps, both with regard to understanding of the concept and its practical implementation through getting familiar with tools that allow for automation of the process of software production and delivery for installation in the environment and creation of the infrastructure.

Course strengths:

After the training, the participant should:

  • Understand the DevOps concept,

  • Be an effective member of the DevOps team,

  • Suggest changes in the existing organization so that it is favorable for emergence of DevOps teams,

  • Understand the concept of automation as a tool, which improves team and organization performance,

  • Understand the concept of Continuous Integration and be able to apply it in practice using Jenkins tool,

  • Understand the concept of infrastructure automation and be able to use it in practice thanks to Vagrant and Puppet tools (alternatively: Chef),

  • Understand management of infrastructure in the cloud, using Amazon EC2 as an example.

Course parameters:

3 x 8h in the following proportion: 70% workshops, discussions; 30% lectures

Course curriculum

  1. ITIL and DevOps.

  2. Product development from the perspective of the developer in accordance with the traditional approach

    • Development of new products, functionalities, bug fixes

    • Waiting for weeks for the code to emerge in production

    • Simultaneous maintaining of the production code and the code for implementation in production

    • Differences between the development and the production environment

  3. Product development from the perspective of the system administrator according to the standard approach

    • Providing SLA and HA

    • Maintaining a constantly growing number of environments due to a growing number of products and functionalities

    • Differences in administration of several, several dozen or several hundred environments

    • Implementation of a new code for production and its configuration, planning of implementation windows

    • Diagnosis of problems in association with the change

  4. Product development from the perspective of a DevOps team member (developer and administrator)

    • Common goal and shared responsibility

    • Automation of tests

    • Automation of workflows

    • Automation of infrastructure

    • Continuous measurement of functioning of the application

    • Development of small product increments and the pace and frequency of implementations

    • Consistency of the development and production environments

  5. Success with DevOps = a change in the way of thinking + tools

    • Continuous Integration using Jenkins

      • Constant building

        • Configuration of tasks

        • Integration with SVN / git

        • Integration with Maven

      • Continuous testing

        • Integration tests using Embedded Jetty

        • Tests using a browser based on the example of Selenium

        • Performance tests illustrated by the example of JMeter

        • Web Service tests and the example of Soap UI

      • Continuous inspection

        • Assessment of code coverage with tests

        • Detection and presentation of errors using FindBugs

        • Integration with Sonar

    • Automation of the infrastructure using Vagrant and Puppet (alternatively: Chef)

      • Vagrant

        • Installation

        • Management of virtual machines

      • Puppet

        • installation

        • basic configuration

        • management of users and groups, dependency declaration

        • modules

        • master-agent architecture

        • Vagrant-Puppet integration

        • An exemplary configuration of the environment with an Apache, Tomcat server and MySQL application and database

    • Continuous measurement of functioning of the application using the example of Nagios

      • Server configuration

      • Client configuration

      • Reports

      • E-mail and text notification etc.

      • Automatic response to an error found

  6. DevOps in a cloud

    • Amazon EC2 in a nutshell

      • Creating an account

      • Configuration and launching of virtual machines

      • A review of capabilities of the platform

    • Heroku in a nutshell

      • Automatic code building

      • automatic deployment

  7. Lean in the software development process

    • basics

      • workflow, its visualization and measure

      • the nature of losses

      • WIP

    • Kanban simulation game

Any questions?

* Required.

Phone +48 22 2035600
Fax +48 22 2035601