Day 71 of #90DaysOfDevOps 🚀
Today I took my Ansible skills to the next level by learning how to structure, reuse, and secure automation. I worked with Jinja2 Templates for dynamic configs, built a custom Webserver Role, explored Ansible Galaxy community roles, encrypted secrets with Ansible Vault, and finally combined Roles + Templates + Vault into a complete automation workflow. 🔥
The biggest takeaway: good DevOps automation isn’t just about making things work — it’s about making them reusable, scalable, maintainable, and secure. 💻⚙️🔐
https://t.co/ZOsrMrgncM
#90DaysOfDevOps #DevOps #Ansible #AnsibleAutomation #ConfigurationManagement #Automation #Jinja2 #AnsibleRoles #AnsibleGalaxy #AnsibleVault #InfrastructureAsCode #IaC #CloudComputing #AWS #AWSCloud #Linux #Nginx #Docker #Git #GitHub #CICD #DevOpsEngineer #CloudEngineer #SRE #SysAdmin #PlatformEngineering #LearningInPublic #DevOpsJourney #TechLearning #Developer #DevOpsKaJosh #TrainWithShubham
Happy Learning!
@TrainWitShubham
🚀 Day 70 of #90DaysOfDevOps! 🔥
Today I made my Ansible playbooks smarter and more dynamic by learning Variables, Facts, Conditionals, Loops & Register. 🛠️ Instead of running the same static tasks everywhere, I learned how to adapt automation based on hosts, groups, OS, memory, environments, and server-specific requirements. 💻⚙️
From group_vars & host_vars to when, loop, register, and Ansible Facts — this was a big step toward writing real-world, reusable, intelligent automation. 🚀
One day at a time. One concept at a time. Building stronger DevOps skills! 💪🔥
https://t.co/ip1DNCb52p
#90DaysOfDevOps #DevOps #Ansible #AnsibleAutomation #ConfigurationManagement #Automation #DevOpsJourney #LearningDevOps #DevOpsEngineer #CloudComputing #AWS #Linux #LinuxAdministration #InfrastructureAsCode #IaC #CloudEngineering #SRE #SysAdmin #YAML #Git #GitHub #AutomationTools #CICD #ContinuousAutomation #TechLearning #CodingJourney #DevOpsTools #AnsiblePlaybook #CloudDevOps #DevOpsCommunity #100DaysOfCode #LearnInPublic #DevOpsKaJosh #TrainWithShubham
Happy Learning!
@TrainWitShubham
🚀 Day 66 of #90DaysOfDevOps!
Today I provisioned a complete AWS EKS cluster using Terraform Registry Modules! ☁️⚙️ From building a VPC with public/private subnets and NAT Gateway to creating an EKS cluster with managed node groups, connecting kubectl, and deploying an Nginx workload 🚀
This hands-on task helped me understand how Terraform and Kubernetes work together to build automated, repeatable, and production-style infrastructure. Also learned the importance of checking Kubernetes contexts, EKS authentication, subnet tags, and proper cleanup. 💡
One step closer to becoming a Cloud & DevOps Engineer! 🔥
https://t.co/7UUYOAHFau
#90DaysOfDevOps #DevOps #AWS #EKS #Kubernetes #Terraform #CloudComputing #CloudEngineer #DevOpsEngineer #InfrastructureAsCode #IaC #TerraformModules #AWSCloud #AmazonEKS #K8s #Docker #Linux #GitHub #Automation #CloudNative #SRE #PlatformEngineering #DevSecOps #TechLearning #LearningInPublic #DevOpsJourney #CloudJourney #AWSCommunity #TechTwitter #BuildInPublic #TerraWeek #DevOpsKaJosh #TrainWithShubham
Happy Learning!
@TrainWitShubham
🚀 Day 65 of #90DaysOfDevOps — Terraform Modules!
Today I moved from one huge https://t.co/N0oiSQqEIG to reusable, modular infrastructure. Built custom EC2 & Security Group modules, used dynamic blocks, passed variables between modules, reused the same EC2 module for Web & API servers, and explored public Registry modules + version pinning. 💻☁️
Big takeaway: Terraform Modules are like functions in programming — Write once, call many times. ♻️
Learning how to build scalable, maintainable, and reusable Infrastructure as Code, one day at a time! 🔥
https://t.co/TwIrxyMsL3
#Terraform #TerraformModules #DevOps #90DaysOfDevOps #AWS #Cloud #CloudComputing #InfrastructureAsCode #IaC #HashiCorp #TerraformAWS #AWSCloud #EC2 #SecurityGroups #VPC #CloudEngineer #DevOpsEngineer #DevOpsLearning #LearnDevOps #DevOpsJourney #CloudEngineering #Automation #CloudAutomation #GitHub #Linux #SRE #PlatformEngineering #TechLearning #CodingJourney #InfrastructureAutomation #TerraformRegistry #DynamicBlocks #OpenToWork #TerraWeek #DevOpsKaJosh #TrainWithShubham
Happy Learning!
@TrainWitShubham
🚀 Day 64 of #90DaysOfDevOps — Terraform State Management & Remote Backends!
Today I went deeper into one of Terraform’s most critical concepts: State Management. I learned how Terraform tracks infrastructure, migrated local state to an S3 remote backend, explored state locking with DynamoDB, imported existing AWS resources, practiced terraform state mv & terraform state rm, and simulated + fixed infrastructure drift. 🔥
The biggest takeaway: Good state management = safer infrastructure. 🛡️
One step closer to becoming a Cloud/DevOps Engineer! ☁️💻
https://t.co/kEbNCztI4i
#Terraform #TerraformAWS #TerraformState #RemoteBackend #S3 #AWS #DynamoDB #InfrastructureAsCode #IaC #DevOps #CloudComputing #CloudEngineer #DevOpsEngineer #AWSCloud #TerraformLearning #90DaysOfDevOps #DevOpsJourney #LearningDevOps #AWSDevOps #CloudInfrastructure #InfrastructureAutomation #StateManagement #TerraformImport #TerraformDrift #StateLocking #CloudAutomation #DevOpsCommunity #TechLearning #DeveloperJourney #LearnTerraform #HashiCorp #AWSCommunity #DevOpsLife #CloudJourney #TechTwitter #TerraWeek #DevOpsKaJosh #TrainWithShubham
Happy Learning!
@TrainWitShubham
@i_mika_el@TrainWitShubham Currently learning Terraform in my #90DaysOfDevOps journey. This is a great reminder that mastering tfstate now will save countless headaches later. 📚⚡
🚀 Day 61 of #90DaysOfDevOps – Introduction to Terraform & AWS Infrastructure ☁️
Today I officially started my Infrastructure as Code (IaC) journey with Terraform! Instead of manually creating cloud resources, I learned how to define infrastructure using code and let Terraform handle the provisioning.
✅ Learned the fundamentals of IaC and why it's essential in DevOps
✅ Compared Terraform with CloudFormation, Ansible, and Pulumi
✅ Installed and configured Terraform & AWS CLI
✅ Created my first AWS S3 Bucket using Terraform
✅ Launched an EC2 instance with a simple .tf file
✅ Explored the Terraform lifecycle: init → plan → apply → destroy
✅ Understood how terraform.tfstate tracks infrastructure
✅ Learned the importance of state files and why they shouldn't be edited manually or committed to Git
✅ Modified infrastructure safely using terraform plan
✅ Cleaned up all AWS resources using terraform destroy
It's amazing to see cloud infrastructure being created and managed with just a few lines of code. This is a huge step toward becoming a Cloud & DevOps Engineer! 💙
https://t.co/uZGUhAikGG
#Terraform #InfrastructureAsCode #IaC #AWS #AmazonWebServices #CloudComputing #DevOps #90DaysOfDevOps #CloudEngineer #DevOpsEngineer #S3 #EC2 #AWSCLI #HashiCorp #TerraformBeginner #Automation #CloudAutomation #Linux #Git #GitHub #CloudNative #LearningInPublic #TechJourney #ContinuousLearning #PlatformEngineering #Developer #OpenSource #Kubernetes #Docker #CI #CD #TechCommunity #Programming #SoftwareEngineering #CloudInfrastructure #BuildInPublic #InfrastructureAutomation #90DaysOfDevOps #TerraWeek #DevOpsKaJosh #TrainWithShubham
Happy Learning!
@TrainWitShubham
🚀 Day 62 of #90DaysOfDevOps ☁️
Today I moved beyond creating standalone Terraform resources and learned how real cloud infrastructure is connected! 🔥 Built an AWS networking stack from scratch with VPC, Subnet, Internet Gateway, Route Table, Security Group, EC2, and S3, while understanding implicit & explicit dependencies, depends_on, lifecycle rules, and visualizing infrastructure with terraform graph.
One of the biggest takeaways today: Terraform doesn't just create resources—it understands relationships and builds infrastructure in the correct order. This is a foundational skill for designing reliable, production-ready cloud environments. 💪
Every day brings me one step closer to becoming a Cloud & DevOps Engineer. 🚀
https://t.co/ARjG5Ey07c
#Terraform #AWS #DevOps #CloudComputing #InfrastructureAsCode #IaC #CloudEngineer #DevOpsEngineer #AmazonWebServices #EC2 #VPC #S3 #Networking #CloudNetworking #Automation #PlatformEngineering #Linux #Git #GitHub #Docker #Kubernetes #CloudNative #OpenSource #TechLearning #Developer #Coding #Programming #LearningInPublic #100DaysOfCode #90DaysOfDevOps #TerraformGraph #HashiCorp #CloudSecurity #AWSCommunity #BuildInPublic #CareerGrowth #TechCommunity #TerraWeek #DevOpsKaJosh #TrainWithShubham
Happy Learning!
@TrainWitShubham
🚀 Day 60 of #90DaysOfDevOps – Kubernetes Capstone Completed! 🎉
Today I brought together everything I learned over the past 10 days by deploying a complete WordPress + MySQL application on Kubernetes. From Namespaces, Secrets, ConfigMaps, StatefulSets, PVCs, Deployments, Services, Resource Limits, Health Probes, Autoscaling (HPA), to Helm—I combined all the core Kubernetes concepts into one real-world, production-like project.
✅ Deployed WordPress + MySQL in a dedicated namespace
✅ Configured secure Secrets & ConfigMaps
✅ Used StatefulSet with persistent storage for MySQL
✅ Exposed the application using a NodePort Service
✅ Verified self-healing by deleting Pods
✅ Confirmed data persistence after MySQL recovery
✅ Configured Horizontal Pod Autoscaler (HPA)
✅ Compared manual deployment with Helm charts
This capstone gave me hands-on experience in building a scalable, resilient, and production-ready Kubernetes application. One of the biggest milestones in my DevOps journey so far! 💙
https://t.co/F8qxo0be7f
#90DaysOfDevOps #Day60 #DevOps #Kubernetes #K8s #CloudComputing #CloudNative #Docker #Containers #WordPress #MySQL #StatefulSet #Deployment #Namespace #ConfigMap #Secrets #PersistentVolume #PVC #Storage #NodePort #Helm #Autoscaling #HPA #Linux #PlatformEngineering #SRE #Infrastructure #IaC #OpenSource #TechCommunity #LearningInPublic #DevOpsJourney #SoftwareEngineer #Automation #GitHub #TechTwitter #ContinuousLearning #CareerGrowth #DevOpsKaJosh #TrainWithShubham
Happy Learning!
@TrainWitShubham
🚀 Day 59/90 – Helm: Kubernetes Package Manager ⚓
Today I explored Helm, the package manager for Kubernetes that makes deploying and managing applications much easier. Instead of maintaining dozens of YAML files for Deployments, Services, ConfigMaps, Secrets, and PVCs, Helm packages everything into reusable Charts.
✅ Installed Helm and explored its core concepts: Chart, Release & Repository
✅ Added the Bitnami repository and searched available charts
✅ Deployed NGINX with a single Helm command
✅ Customized deployments using --set and a custom values.yaml
✅ Upgraded releases and rolled back to previous revisions
✅ Created my own Helm chart using helm create
✅ Validated templates with helm lint and previewed manifests using helm template
✅ Cleaned up releases while learning release history management
Helm simplifies Kubernetes deployments, promotes reusability, enables version-controlled releases, and makes application lifecycle management much more efficient. Every day I'm building stronger Kubernetes fundamentals on my #90DaysOfDevOps journey! 💪☸️
https://t.co/d0FuZZ4V5r
#90DaysOfDevOps #Day59 #Helm #Kubernetes #K8s #CloudNative #DevOps #PlatformEngineering #SRE #CloudComputing #Containers #Docker #Bitnami #YAML #GitOps #CNCF #Linux #OpenSource #InfrastructureAsCode #IaC #Automation #Cloud #AWS #Azure #GCP #DevCommunity #Tech #LearningInPublic #Developer #Programming #SoftwareEngineer #Kubectl #DevOpsEngineer #CloudEngineer #HelmCharts #KubernetesTools #TechJourney #ContinuousLearning #DevOpsKaJosh #TrainWithShubham
Happy Learning!
@TrainWitShubham
🚀 Day 58 of #90DaysOfDevOps ✅
Today I explored Kubernetes Metrics Server and Horizontal Pod Autoscaler (HPA) to understand how Kubernetes automatically scales applications based on real CPU usage. I installed the Metrics Server, monitored resource usage with kubectl top, deployed a CPU-intensive application with resource requests, created an HPA using both imperative commands and the autoscaling/v2 API, generated load to trigger automatic scaling, and learned how HPA behavior controls scale-up and scale-down policies. This was a great hands-on exercise in building self-healing, scalable Kubernetes workloads and understanding how resource metrics drive autoscaling decisions.
https://t.co/cbLvv3pvaZ
#90DaysOfDevOps #DevOps #Kubernetes #K8s #MetricsServer #HPA #HorizontalPodAutoscaler #CloudComputing #CloudNative #Containers #Docker #Linux #PlatformEngineering #SRE #Automation #InfrastructureAsCode #IaC #Terraform #Ansible #AWS #Azure #GCP #OpenSource #GitHub #LearningInPublic #TechCommunity #DevOpsEngineer #KubernetesLearning #CNCF #100DaysOfCode #DevOpsKaJosh #TrainWithShubham
Happy Learning!
@TrainWitShubham
Day 57 of my Kubernetes journey 🚀 —
Today was all about teaching K8s to actually care about resource health.
Set CPU/memory requests & limits and watched QoS Class flip from BestEffort → Burstable.
Pushed a container past its memory limit and confirmed the brutal truth: OOMKilled = Exit Code 137, no warnings, no mercy.
Requested absurd resources (100 CPU cores 😅) just to watch the scheduler politely refuse with "Insufficient cpu/memory."
Then tested all three probe types — liveness restarting a stuck container, readiness silently pulling a broken Pod out of Service traffic without killing it, and startup probes buying slow apps extra time before liveness checks even begin.
Documented everything in day-57-resources-probes.md. Small YAML indentation bugs, big lessons.
https://t.co/JFo07cVydg
#LearnInPublic #Kubernetes #K8s #DevOps #CloudNative #CloudComputing #SRE #ContainerOrchestration #Docker #Containers #InfrastructureAsCode #CKA #CKAD #100DaysOfCode #LearnInPublic #TechTwitter #DevOpsEngineer #CloudEngineer #SoftwareEngineering #Microservices #SysAdmin #CloudNativeComputing #KubernetesLearning #TechCommunity #DevCommunity #CodeNewbie #OpenSource #TechEducation #CloudDevOps #Automation #EngineeringLife #DevOpsKaJosh #TrainWithShubham
Happy Learning!
@TrainWitShubham
🚀 Day 56 of #90DaysOfDevOps – Mastering Kubernetes StatefulSets! ☸️
Today I explored Kubernetes StatefulSets, the workload built for stateful applications like MySQL, PostgreSQL, MongoDB, Cassandra, and Kafka. Unlike Deployments, StatefulSets provide stable pod identities, ordered deployment and scaling, persistent storage per replica, and predictable network identities—all critical for running databases and distributed systems reliably.
In today's hands-on lab, I:
✅ Compared Deployments vs StatefulSets to understand why databases need stable identities.
✅ Created a Headless Service (clusterIP: None) for stable DNS records.
✅ Deployed a StatefulSet with 3 replicas and verified ordered pod creation (web-0, web-1, web-2).
✅ Confirmed individual PVCs were created automatically using volumeClaimTemplates.
✅ Tested pod-specific DNS resolution with nslookup.
✅ Verified persistent storage by deleting a pod and confirming its data survived recreation.
✅ Practiced ordered scaling, observing pods scale up sequentially and terminate in reverse order.
✅ Learned that PVCs are retained even after scaling down or deleting the StatefulSet, protecting valuable application data.
StatefulSets are essential whenever applications require persistent storage, stable networking, and ordered operations. Another important Kubernetes concept added to the DevOps toolkit! 💪
https://t.co/O8jV68XOGe
#Kubernetes #StatefulSet #StatefulSets #DevOps #90DaysOfDevOps #CloudNative #K8s #Docker #Containers #PlatformEngineering #SRE #CloudComputing #KubernetesLearning #DevOpsEngineer #CNCF #OpenSource #Linux #Infrastructure #InfrastructureAsCode #Automation #SiteReliabilityEngineering #Cloud #LearningInPublic #TechTwitter #AWS #Azure #GoogleCloud #GitHub #Programming #Coding #DevOpsKaJosh #TrainWithShubham
Happy Learning!
@TrainWitShubham
🚀 Day 55 of #90DaysOfDevOps — Today I learned one of the most important Kubernetes concepts: Persistent Volumes (PV) & Persistent Volume Claims (PVC)! 📦
Containers are ephemeral, but production applications like databases need persistent storage. In today's hands-on lab, I explored the difference between temporary (emptyDir) storage and persistent storage using PVs & PVCs. I created static and dynamic volumes, understood StorageClasses, verified volume binding, and confirmed that data survives Pod deletion and recreation. This topic is a must-know for anyone preparing for Kubernetes, CKA, CKAD, or DevOps interviews.
I also created a detailed handwritten cheat sheet to simplify these concepts for beginners and anyone revising Kubernetes storage. Hope it helps others on their DevOps journey! 💙
📂 Check out my GitHub repository for all the practice YAML files, markdown notes, and hands-on labs from my #90DaysOfDevOps journey! Your ⭐ and feedback are always appreciated.
https://t.co/hzILWUxVQN
#90DaysOfDevOps #Kubernetes #DevOps #CloudNative #Docker #K8s #Terraform #AWS #GitHub #GitOps #CloudComputing #OpenSource #CKA #CKAD #CNCF #Kubectl #Linux #LearningInPublic #DevOpsEngineer #CloudEngineer #DevOpsKaJosh #TrainWithShubham
Happy Learning!
@TrainWitShubham