
Yehor Pliasov
We reviewed and validated all practical work for the «DevOps for Devs» course. All assignments were completed and approved by a mentor. We confirm the acquired expertise.
🚀 DevOps for Developers A hands-on DevOps course for developers covering the complete application journey from source code to production infrastructure. Throughout the course, participants progressively build the infrastructure for a real application: containerizing services, configuring servers and networking, automating CI/CD, implementing monitoring and centralized logging, migrating the application to Kubernetes, setting up GitOps and DevSecOps processes, and finally deploying cloud infrastructure in AWS using Terraform. 🐳 Containerization Participants work with Docker and learn the complete application containerization workflow: • Docker and Dockerfile • image layers and caching • Docker image optimization • environment variables • Docker Compose • networks and volumes • health checks • Docker Registry • Docker Hub As part of the practical work, frontend, backend, databases, and infrastructure services are combined into a single multi-container environment. 🌐 Linux, Servers and Networking Participants independently prepare a Linux server and deploy the application to it. The practical work includes: • Linux and Bash • SSH • users and access permissions • Firewall • DNS • Nginx as a reverse proxy • domain configuration • HTTPS/TLS • obtaining and renewing Let's Encrypt certificates As a result, developers understand the complete path of an HTTP request from the user's domain name to the application running inside a container. ⚙️ CI/CD GitHub Actions is used to automate development and deployment processes. Participants build complete CI/CD pipelines that include: • running tests • building the application • building Docker images • publishing images to a registry • automated deployment • working with secrets • matrix builds • caching • environments • notifications After changes are pushed to Git, the application can automatically pass validation checks, build a new image, and be deployed to production without manual deployment. 📊 Monitoring and Logging A modern observability stack is used to monitor the infrastructure: • Prometheus • Grafana • Loki • Promtail • Portainer Participants collect application and server metrics, centralize logs, create dashboards, and configure infrastructure health monitoring. ☸️ Kubernetes A significant part of the course is dedicated to container orchestration and running applications in Kubernetes. The following technologies and concepts are used: • kubectl • minikube • k3s • Pods • Deployments • Services • Ingress and ingress-nginx • ConfigMaps • Secrets • StatefulSet • DaemonSet • Persistent Volumes • PVC • StorageClass • HPA • readiness and liveness probes • rolling updates and rollback • kubens • k9s Participants deploy the application to Kubernetes and configure traffic routing, data persistence, application configuration, scaling, and service health mechanisms. 📦 Helm and GitOps The following tools are used to manage Kubernetes infrastructure and automate deployments: • Helm • ArgoCD • SOPS • age Participants work with Helm charts and learn the GitOps approach, where infrastructure configuration is stored in Git and the state of the Kubernetes cluster is automatically synchronized with the repository. Special attention is given to secure secret storage and management. 🔐 DevSecOps Security is integrated directly into the development and CI/CD process. The following tools are used: • Gitleaks — detecting accidentally exposed secrets • Semgrep — static source code analysis • Trivy — detecting vulnerabilities in dependencies and container images Participants learn the principle of running containers with minimal privileges and automating security checks within the pipeline. ☁️ AWS The final infrastructure is deployed in AWS. Participants work with: • AWS CLI • IAM • ECR • EKS • NLB • eksctl Docker images are published to Amazon ECR, the application is deployed to a managed Amazon EKS Kubernetes cluster, and external traffic is routed through a cloud Load Balancer. 🏗 Infrastructure as Code Terraform is used to provision infrastructure. Participants describe infrastructure declaratively and learn to manage cloud resources as code instead of creating and configuring them manually through web interfaces. YAML is actively used for infrastructure configuration. 🎯 Course Outcome By the end of the course, developers gain hands-on experience building modern production infrastructure and understand the complete application lifecycle — from git push and Docker images to CI/CD pipelines, Kubernetes clusters, monitoring, GitOps, and AWS cloud infrastructure. Graduates are able to independently containerize an application, prepare a Linux server, configure HTTPS and a reverse proxy, build CI/CD pipelines, organize monitoring and logging, deploy and operate applications in Kubernetes, integrate DevSecOps checks, and describe cloud infrastructure using Terraform.