What you’ll learn
Training overview
Objectives
After taking this training, you should be able to:
- Describe the DevOps philosophy and practices, and how they apply to real-life challenges
- Explain container-based architectures and available tooling provided by Docker
- Describe application packaging into containers and start building secure container images
- Utilize container networking and deploy a three-tier network application
- Explain the concepts of Configuration Item (CI) pipelines and what tooling is available
- Implement a basic pipeline with Gitlab CI that builds and deploys applications
- Implement automated build testing and validation
- Describe DevOps principles applied to infrastructure
- Implement on-demand test environments and explain how to integrate them with an existing pipeline
- Implement tooling for metric and log collection, analysis, and alerting
- Describe the benefits of application health monitoring, telemetry, and chaos engineering in the context of improving the stability and reliability of the ecosystem
- Describe how to implement secure DevOps workflows by safely handling sensitive data and validating applications
- Explain design and operational concepts related to using a mix of public and private cloud deployments
- Describe modern application design and microservices architectures
- Describe the building blocks of Kubernetes and how to use its APIs to deploy an application
- Explain advanced Kubernetes deployment patterns and implement an automated pipeline
- Explain how monitoring, logging, and visibility concepts apply to Kubernetes
Prerequisites
Before taking this training, you should have the following knowledge and skills:
- Basic programming language concepts and familiarity with Python
- Basic understanding of compute virtualization
- Ability to use Linux, text-driven interfaces, and CLI tools, such as Secure Shell (SSH), bash, grep, ip, vim/nano, curl, ping, traceroute, and telnet
- Foundational understanding of Linux-based OS architecture and system utilities
- CCNA® level core networking knowledge
- Foundational understanding of DevOps concepts
- Awareness and familiarity with continuous integration, continuous deployment, and continuous delivery CI/CD) concepts
- Hands-on experience with Git
The following Cisco trainings can help you gain the knowledge you need to prepare for this training:
Lab outline
- Interact with GitLab Continuous Integration (CI)
- Explore Docker Command-Line Tools
- Package and Run a WebApp Container
- Build and Deploy Multiple Containers to Create a Three-Tier Application
- Explore Docker Networking
- Build and Deploy an Application Using Docker Compose
- Implement a Pipeline in Gitlab CI
- Automate the Deployment of an Application
- Validate the Application Build Process
- Validate the Deployment and Fix the Infrastructure
- Build a Yaml Ain’t Markup Language (YAML) Infrastructure as Code (IaC) Specification for the Test Environment
- Manage On-Demand Test Environments with Terraform
- Build Ansible Playbooks to Manage Infrastructure
- Integrate the Testing Environment in the CI/CD Pipeline
- Implement Pre-deployment Health Checks
- Set Up Logging for the Application Servers and Visualize with Kibana
- Create System Dashboard Focused on Metrics
- Use Alerts Through Kibana
- Instrument Application Monitoring
- Use Alerts and Thresholds to Notify Webhook Listener and Cisco Webex® Teams™ Rooms
- Secure Infrastructure in the CI/CD Pipeline
- Explore Kubernetes Setup and Deploy an Application
- Explore and Modify a Kubernetes CI/CD Pipeline
- Kubernetes Monitoring and Metrics—Elasticsearch, Logstash, and Kibana (ELK)