ICAgile Implementing DevOps – Guaranteed to Run
Are you a developer or operations staff member working in a DevOps environment? Applying DevOps requires well-defined goals and a good understanding of the different tools available and which ones are right for you.
This course will provide you with hands-on experience in a DevOps environment: planning and setting the strategy; designing and implementing the pipeline; automating the provisioning and configuration of infrastructure and deployment of systems; monitoring the pipeline and the systems with telemetry; identifying bottlenecks; and applying continuous improvement to evolve the pipeline and the architecture.
Certification
ICAgile accredited course: The ICAgile Certified Professional, Implementing DevOps is granted on the successful completion of this course. This certification is part of the ICAgile DevOps track along with our Agile Fundamentals and Foundation of DevOps courses. We offer the complete ICAgile DevOps Track for those looking to become an ICAgile Certified Expert in DevOps (ICD-DO).
PDUs
This course will contribute 14 PMI® Professional Development Units towards your chosen certification (8 technical, 2 leadership hours and 4 strategic hours).
Intended For
- Developers working in DevOps teams
- Operations staff supporting or working in DevOps teams
Prerequisites
This is an advanced technical course. To get the most out of this course, you should have an understanding of fundamental agile and DevOps concepts. These are covered in our Agile Fundamentals and Foundation of DevOps courses. Experience using command lines is also important as some of the hands-on work is performed in a Bash shell.
Learning Objectives
During this course you will learn about:
- Identifying policies and processes to support DevOps and prepare a strategy for continuous delivery
- The impact of various architectural patterns on DevOps
- Designing a deployment pipeline and implement it
- Automating the provisioning and configuring of environments in the cloud
- Implementing telemetry monitoring to support continuous improvement
- Techniques for involving the customer in continuous improvement efforts
- Maturing the pipeline, including evolving the architecture, using virtualization and cloud computing, and ensuring compliance and governance is maintained.
Content
Continuous improvement follows a plan-do-study-act cycle, and this course follows that cycle.
- Plan – identify the objectives
- Identify what changes are needed in the culture, policies, and processes
- Use Value Stream Mapping to identify waste in the process
- Apply the Theory of Constraints to improve the process
- Define an architecture, including the pipeline and its stages, to support the goals
- Do – build the pipeline
- Implement the pipeline (as code) in Go CD
- Evaluate the benefits of automating each stage in the pipeline
- Provision a VM in AWS EC2 with Terraform
- Configure the VM and deploy the system with Ansible
- Study – monitor the pipeline
- Manage log data with the Elastic stack:
- Collect log events with Logstash
- Aggregate them in Elasticsearch
- Analyze them with Kibana
- Evaluate the benefits of different types of telemetry and the policies around it
- Diagnose problems using the telemetry
- Identify symptoms of security problems using the telemetry – DevSecOps
- Evaluate policies and practices for support in production
- Use formal techniques to elicit feedback from users and customers
- Manage log data with the Elastic stack:
- Act – mature the pipeline
- Evolve the architecture in response to issues identified, for example:
- Moving to microservices to address deployment problems
- Using cloud computing and containers to address performance and scalability
- Evolve the pipeline in response to issues identified:
- Evaluate release patterns to address deployment problems
- Engineer the pipeline to make it more robust
- Ensure compliance and governance needs are satisfied
- Evolve the architecture in response to issues identified, for example:
Delivery:
This program is offered as a classroom-based course as well as a LiveOnline program. Our LiveOnline delivery is over three days (each four and a half hours in duration). The instructor is live and interaction and learning objectives are the same as our in-person classes with the added benefit of being able to take this course from your home, your office or your home office. We use Zoom for our LiveOnline classes. Zoom is an easy to use and reliable cloud platform and we have in place robust security settings to ensure our users and their privacy are protected.
For people with hearing loss, we can provide closed captions and in some cases full transcripts for our LiveOnline courses. In addition to captioning, we can also provide early access for learners with hearing loss to read through the course materials and test the tools and technologies.
Methods Used
This is a hands-on lab-based course where the learning is achieved through applying the practices and techniques in realistic exercises, using common DevOps tools.
The technologies used are:
- A Java project that uses:
- Ant – build automation
- Checkstyle – static code analysis
- Junit – unit testing
- JaCoCo – test coverage
- Cucumber (with Web Driver) – acceptance testing
- SoapUI – API testing, also performance and security testing
- Go CD – continuous integration
- AWS EC2 – cloud hosting
- Terraform – provisioning EC2 instances
- Ansible – configuring EC2 instances and deploying the project
- Elastic Stack (Logstash, Elasticsearch, Kibana) – log monitoring and analysis