"DevOps is a way to deliver software with shared pain and responsibility"
Prio | OS | Programming | Cloud service |
---|---|---|---|
1 | Linux | Python | AWS |
2 | Golang | Google Cloud | |
3 | Microsoft Azure |
- VPC
- EC2
- ELB
- IAM
- S3
- CloudWatch
- Security Groups
Prio | Configure | Version | Package | Deploy | Run | Monitor |
---|---|---|---|---|---|---|
1 | Terraform | Git + GitHub | Docker | Jenkins | ECS | ELK Stack |
2 | Ansible | GitLab | Lambda | CodeDeploy | Kubernetes | Prometheus |
Book Links
- Practical Network Automation
- Mastering Kubernetes
- Mastering Ansible
- DevOps with Kubernetes
- Effective DevOps with AWS
- Getting Started with Kubernetes, Second Edition
- Mastering Docker
- OpenStack Administration with Ansible 2
- DevOps for Networking
- Automate it!
- Puppet 5 Beginner's Guide
- Learning Continuous Integration with Jenkins
- Continuous Delivery with Docker and Jenkins
- Deployment with Docker
- Docker and Kubernetes for Java Developers
- Write up the desired infrastructure state in Terraform / Chef / Puppet / Ansible / CFEngine / Salt / CloudFormation / ${whatever},
- Store it in source code control,
- Go through a formal pull request process to solicit feedback,
- Test it,
- Execute to provision all the resources needed.
Git
- Fork a repo
- Create Branches
- Merge changes from upstream and back
- Create Pull Requests
GitHub/GitLab
- Learn git
- Contribute everything you've learned on Git-Hub/Lab
- Leverage #1 and #2 as a showcase of all the things you have learned thus far
- Profit!
GitOps (?)
"operating system level virtualization"
- Process isolation
- Deployment
Docker allows not only for full preocess isolation but also for full dependency isolation. It is entirely possible and common to have multiple containers running side by side, on the same OS, each with its own and conflicting libraries and packages
- Runtime Management
Single, unified management interface that allows us the start, monotor and centralize logs, stop and restart many different kinds of applications
- Jenkins
- AWS CodeDeploy
- GitLab CI
- GitHub Actions
-
How To Become a DevOps Engineer In Six Months or Less, Part 1: Foundations
-
How to Become a DevOps Engineer In Six Months or Less, Part 2: Configure
-
How to Become a DevOps Engineer In Six Months or Less, Part 3: Version
-
How to Become a DevOps Engineer In Six Months or Less, Part 4: Package
-
How to Become a DevOps Engineer In Six Months or Less, Part 5: Deploy