Duration 5 days – 35 hrs
Overview
This courseware training material is designed for DevOps engineers, SREs, and anyone looking to transition into the growing field of Platform Engineering. It comprehensively overviews the key concepts, skills, and tools needed to build, deploy, and manage modern, scalable microservices applications to scalable cloud-native platforms.
Objectives
- Understand the evolution of DevOps, SRE, and Platform Engineering methodologies.
- Gain expertise in building and automating CI/CD pipelines for efficient software delivery.
- Implement robust security practices and compliance measures for platform infrastructure.
- Optimize platform performance and scalability to handle changing demands.
- Learn the fundamentals of containerization and Kubernetes for managing microservices-based applications.
- Gain proficiency in infrastructure as code (IaC) tools like Terraform for repeatable infrastructure provisioning.
- Explore monitoring and logging best practices for proactive platform health management.
- Understand incident response procedures and disaster recovery strategies.
- Develop an understanding of cloud-native architectures and their integration with platform engineering principles.
- Implement GitOps practices for declarative infrastructure management.
Audience
- Software developers
- DevOps engineers
- Release engineers
- Quality assurance (QA) engineers
- System administrators
Pre-requisites
Introduction to CICD and AWS
- Overview of CI CD for DevOps
- AWS Account
Working with Linux
- Linux
- Manage User Account in Linux
Working with Git
- Version Control with Git
- Working with Branches in Git
- Conflict Resolutions in Git
- Real Project examples for Git commands
- GitHub Deep Drive – Cherry-pick, tags, rebase & merge in Git
Working with Apache Maven
- Apache Maven – Spring Boot Maven Project
- Maven Deploy to Nexus Repository
Working with SonarQube
- SonarQube – Code quality tool for better code
Working with Jenkins
- Jenkins – Automation Software DevOps Tool
- Jenkins GitHub Integration
- Build Pipeline with Jenkins
- Project – Deploy the WAR file package to a Tomcat Server using Jenkins
- Jenkins Pipeline – Declarative Pipeline
Working with Ansible
- Configuration Management Using Ansible
- Implementing Playbooks
- Managing Variables and Inclusions in Ansible
- Implementing Tasks Control in Ansible
Working with Docker
- Containerization using Docker
- Dockerfile
Project Samples
- Real Time CI/CD DevOps Project | End To End CI/CD Pipeline Project
- Real-Time CI/CD DevOps Project: End-to-End CI/CD Pipeline using Jenkins
Working with Kubernetes for CICD Pipeline
- Orchestration using Kubernetes
- Kubernetes Concepts – Cluster types, Minikube Server, YAML, Pod, Kubelet, Ports
- Labels & Selectors in Kubernetes
- Scaling and Replication in Kubernetes
- Deployment & Rollback
- Real-time project: Deploy an Application to a Kubernetes cluster using Jenkins CI/CD
Course Content
Day 1:
Introduction to Platform Engineering
- Foundations of DevOps, SRE, and Platform Engineering
- Benefits and Challenges of Platform Engineering
- Core Principles of Platform as a Product (PaaS)
- Introduction to Cloud-Native Architecture
Assessment exercises
MBuilding CI/CD Pipelines
- Principles of CI/CD and its role in Platform Engineering
- Version Control Systems (Git) and Branching Strategies
- Continuous Integration (CI): Automated Build and Testing
- Continuous Delivery/Deployment (CD): Safe and Efficient Deployments
- CI/CD Tools and Technologies (Jenkins, GitLab CI/CD, Github Actions, etc.)
- Automate code quality checks and analysis using SonarQube during the build process.
- Integrate SonarQube reports and metrics into your CI/CD pipeline for visualization and monitoring.
Assessment exercises
Hands-on Labs
Continuous Deployment with CDK8s
- Understand the benefits of using CDK8s for managing Kubernetes resources.
- Learn the core concepts of CDK8s constructs and how they map to Kubernetes objects.
- Explore the process of defining deployments, services, and other infrastructure using CDK8s code.
- Integrate CDK8s with CI/CD pipelines for automated deployments to Kubernetes clusters.
Assessment exercises
Hands-on Labs
Day 2
GitOps for Declarative Infrastructure Management
- Introduction to GitOps principles and its role in Platform Engineering
- Git as the single source of truth for infrastructure and applications
- Declarative configuration with tools like Argo CD and Flux
- GitOps workflows for continuous delivery, rollbacks, and service management
- Benefits of GitOps for version control, auditability, and collaboration
- Understand the benefits of integrating GitOps with automated project management tools.
- Explore techniques for automating project management tasks within GitOps workflows.
- Utilize GitOps tools and project management APIs to create a seamless workflow.
- Implement GitOps practices for improved visibility and traceability in project management.
Assessment exercises
Hands-on Labs
Containerization and Kubernetes
- Introduction to Containerization and Docker
- Container orchestration with Kubernetes
- Managing microservices with Kubernetes deployments
- Security considerations for containerized workloads
Assessment exercises
Hands-on Labs
Day 3
Infrastructure as Code (IaC)
- Benefits of IaC for repeatable infrastructure provisioning
- Terraform: Syntax, best practices, and real-world applications
- Automating infrastructure provisioning across multi-cloud environments
- Managing state and configuration with IaC tools
Assessment exercises
Hands-on Labs
Configuration Management with Ansible
- Introduction to Configuration Management and Its Role in Platform Engineering
- Ansible: Architecture, modules, and playbooks
- Managing configurations for various operating systems and applications
- Inventory management and targeting specific infrastructure groups
- Using Ansible with other DevOps tools (e.g., CI/CD pipelines)
- Ansible best practices for secure and maintainable configurations
Assessment exercises
Hands-on Labs
Day 4
Security and Compliance for Platforms
- Security best practices for infrastructure and applications
- Implementing access controls and identity management
- Securing the software development lifecycle (SDLC)
- Compliance with industry standards (e.g., SOC 2, HIPAA)
- Vulnerability Management and Patching Strategies
Assessment exercises
Hands-on Labs
Performance Optimization and Scalability
- Monitoring tools and techniques for platform health using Elastic Cloud for Kubernetes
- Metrics, logging, and alerting for proactive problem identification
- Capacity planning and resource optimization
- Scaling strategies for horizontal and vertical scaling
- Performance optimization best practices
Assessment exercises
Hands-on Labs
Day 5
Monitoring and Logging for Platforms
- Monitoring tools for infrastructure, applications, and performance
- Log management and aggregation strategies
- Alerting systems and notification workflows for early problem detection
- Proactive troubleshooting and incident response
Assessment exercises
Hands-on Labs
Disaster Recovery and Incident Response
- Incident response planning and procedures
- Disaster recovery strategies for platform and applications
- Backups, replication, and failover mechanisms
- Continuous improvement through post-incident analysis
Assessment exercises
Hands-on Labs
The Future of Platform Engineering
- Emerging trends and technologies in platform automation
- Continuous learning and upskilling for platform engineers
- Case studies and best practices from leading companies
Assessment exercises
Hands-on Labs