DevOps: Extreme Automation training
This is a 2-day course focused on solving challenges that organisations face when implementing automation and DevOps initiatives.
DevOps is a growing movement that encourages closer collaboration of developers and system operations to help business goals to be achieved efficiently and on time. Software development and infrastructure scaling are very fast-paced nowadays. That brings a necessity of larger automation, measurement and information sharing for all involved processes.
This 2-day workshop focuses on solving challenges that organisations face when implementing DevOps initiatives. It introduces principles of DevOps and tools that help reach full automation of infrastructure provisioning and software delivery. Theoretical background as well as practical hands-on examples of tools like Ansible, Docker, AWS, Terraform, Kubernetes, Serverless and many others are given during this workshop.
Theory vs practice is roughly 30/70.
- The course is based on real-world experiences implementing automation and DevOps initiatives.
- The course includes practical Lab work.
- The course material is continuously updated to follow latest trends in automation tooling.
- The course will show many tools in action including Jenkins, ELK, ServerSpec, Docker, Terraform, Kubernetes, Serverless.
- The course runs in a small group with a lot of discussion and experience exchange.
- Attendees will receive the optional coding assignment for skill polishing. Homework will be reviewed and supplemented by constructive feedback.
- Attendees will receive references to documents, books, videos and GitHub projects for continuous, independent self-development.
- Introduction to DevOps: The story, Problems, Main principles
- Team work: DevOps team topologies, Unplanned work, Making work visible, KanBan for Ops, Site Reliability Engineers
- Automation is the key: Why to automate? What to automate? How to automate? When to not automate? Automation arguments, mathematical models, automation approaches
- Continuous X: Continuous Integration, Continuous Deployment, Continuous Delivery, Relation to DevOps, Lean, and Agile
- Configuration management: Metadata management, Maturity model, Service Discovery, Configuration Servers, GitOps
- Infrastructure automation: Managing environments, Developer’s machine, From development to production, Infrastructure scaling, Mean time to recovery, Servers vs. Serverless, SDN (Software Defined Networks), SDx (Software Defined Everything)
- Cloud infrastructure: Public clouds, Private clouds, Cloud Economics, Cloud Security, IaaS (infrastructure as a service), PaaS (platform as a service), CaaS (container as a service), FaaS (function as a service)
- Tooling: Local development, Infrastructure connectivity, Infrastructure provisioning, Infrastructure testing, Infrastructure monitoring
- Lab work: Git, Vagrant, Packer, Bash/Fabric, Puppet/Ansible, ServerSpec, Jenkins/GitLab-CI/Bamboo, Docker, Terraform, AWS, Kubernetes, Serverless, ELK
- AWS EC2
- Getting started
- Why to automate?
- What to automate?
- How to automate?
- When to not automate?
- Automation arguments
- Continuos integration
- Continous deployment
- Continous delivery
- Delivery pipelines
- DevOps culture
- Infrastructure automation
- Confguration management
- Maturity model
- Cloud infrastructure
- Private clouds
- Infrastructure scaling
Lab workLab work will include the following tasks:
- Monitoring standards
- Monitoring tools
- Dashboard hint
- Create virtual machine in Virtual Box/Vagrant
- Install required software with Puppet/Chef
- Write application deployment script
- Create virtual machine in AWS EC2
- Reuse provisioning and deployment scripts for EC2 server
- Implement full software delivery pipeline in Jenkins
- Create monitoring dashboard in Kibana/Grafana
- Create alerts for importnant system events
Laptops with at least 8GB of RAM and 20GB of free disk space
It would be great if you can can install these tools before workshop to speed up progress:
At the moment, Andrey works as a free-lance DevOps consultant offering his expertise in implementing DevOps initiatives, selecting automation tooling, switching to infrastructure-as-code and immutable infrastructure and constructing software delivery pipelines.
Andrey is a frequent speaker at international conferences and local communities. He presented at more than 60 events in 19 countries.
- Extremely effective and useful. modern (Vladimir Kolesnik, Swedbank)
- Well prepared, structured and covering many aspects, fun ( Siim Siemann, Swebank)
- Hands on, very good practice, lot of learning about available solutions (Margus Saar, Playtech)