One of the best ways to start learning anything is through free
resources online. I found some free resources from Google Cloud and The
Linux Foundation to begin my journey. They are linked below.
Google Cloud - DevOps
Essentials
Accelerate the state of DevOps 2019
Reports from research by Google
Managing Deployments Using Kubernetes Engine
Use the kubectl tool
kubectl explain deployment - Tell us about the
deployment object
Tools in DevOps: Version control, CI/CD, Configuration management,
Containerization and orchestration, Infrastructure as Code, Continuous
monitoring, Collaboration and communication, Logging, Source control
management (SCM)
Future of DevOps: AI-powered automation, Security-first approach,
Shift towards self-service platforms, Rise of low-code/no-code tools,
Focus on observability and monitoring, Collaboration across the entire
value chain, Embracing the “everything as code” (EaC) approach,
Continuous learning and upskilling
Challenges and Opportunities: Managing the complexity of new
technologies, Ensuring security in a rapidly evolving environment,
Fostering a culture of collaboration and shared responsibility
Introduction to cloud
Why Should You Bother?
Scaling Success with Flexibility
Rapid Prototyping and Innovation
Types of cloud
Infrastructure as a Service (IaaS)
Platform as a Service (PaaS)
Software as a Service (SaaS)
Function as a Service (FaaS)
Cloud Deployment Models
Public Cloud
Private Cloud
Hybrid Cloud
Community Cloud
Multi-Cloud
Major Cloud Services
Compute Services
Storage Services
Database Services
Networking Services
Security and Identity Services
Machine Learning and Artificial Intelligence Services
Kubernetes: The Orchestrator of Containerized Applications
Control Plane Node
Worker Node
Pod
ReplicaSet
Deployment
Service
Volume
Namespace
ConfigMap and Secret
Infrastructure as Code (IaC)
Why? Agility and Innovation, Reliability and Stability, Resource
Optimization and Cost Savings
Categories of IaC tools
Declarative IaC Tools: Terraform, Pulumi
Configuration Management Tools: Ansible, Chef
Container Orchestration Tools
Cloud Native IaC Tools
Considerations for Choosing IaC Tools
Features of IaC Tools
Declarative Configuration
Idempotent Operations
Version Control Integration
Dependency Management
Parallel Execution
Introduction to Terraform
Terraform is a powerful open source IaC tool that lets you define
your infrastructure in human-readable configuration files, instead of
manually clicking through clunky web interfaces, you write code that
describes the infrastructure you need.
Introduction to OpenTofu
Forked from Terraform
AWS CloudFormation is a powerful Infrastructure as Code (IaC)
service offered by Amazon Web Services (AWS)
CI involves the regular merging of code changes from multiple
contributors into a shared repository
Continuous Delivery is a software development practice that extends
the principles of Continuous Integration to ensure that the codebase is
always in a deployable state.
GitOps: Deployment methodology that leverages Git as a single source
of truth for infrastructure and application configuration
Introduction to observability
Observability is the ability to understand the internal state of a
system based on its external outputs
The Three Pillars of Observability: Logs, Metrics, Traces
Why observability: Complexity of Modern Systems, Faster Incident
Resolution, Improved User Experience, Improved Troubleshooting, Enhanced
Performance, Reduced Costs
Components of an Observability Stack: Data Collection, Data Storage
and Management, Data Analysis and Visualization
Observability in DevOps and SRE: Continuous Monitoring, Feedback
Loops, Collaboration Across Teams, Infrastructure as Code (IaC)
Challenges in Observability: Data Volume and Overhead, Integration
Complexity, Lack of Standardization, Complex Distributed Systems,
Security and Privacy Concerns, Alert Fatigue, Tool Proliferation,
Cultural Resistance