githubuniverseworkshops / GitHub-Actions-Planet-GitHubUniverse2021

Welcome to GitHub Actions planet, which lives among the GitHub Universe and is a place with full of joys, knowledges, and activities
9 stars 5 forks source link

DevOps - Infrastructure continent #6

Closed bryantson closed 3 years ago

bryantson commented 3 years ago

Welcome to DevOps - Infrastructure continent

7_DevOpsAppdev

Dangerous beasts roam and lurk among two DevOps continents, but the treasures come to those who dare to venture. DevOps continents are for those who truly want to reveal the treasures what GitHub Actions can do.

Your mission

Learn about DevOps and DevOps for Infrastructure

When somebody is asked to define what DevOps is, you can will get different answers like this:

Origin of term "DevOps**

To understand DevOps, it is good to understand where it got started. The story goes back to a legendary session Velocity conference: 10+ Deploys per Day: Dev and Ops Cooperation at Flickr -- you can find this video in Youtube.

image

After the conference, Patrick Debois, who is a co-author of a famous book The DevOps Handbook together with Gene Kim, Jez Humble, and John Willis, is said to coin the term by combining the term Dev for development with another term Ops for operation.

image

Is DevOps truly hyped?

Although it is maybe easy to claim that DevOps is hyped, it is hard to deny that some companies like Amazon deploys over 23,000 per day, Google deploys over 5,500 deploys per day through DevOps process.

image

While DevOps is not just about automation, the core tenet of DevOps depends on replacing the manual processes with the automated processes. Thus, it is impossible to talk about DevOps without mentioning CI/CD process.

image

Infrastructure DevOps process

Another question, though, is what to automate? It is recommended to think about infrastructure DevOps process differently from app dev DevOps process. As an infrastructure engineer—also called an operations engineer (Ops) or a DevOps engineer—you are responsible for building the environment necessary to host and run applications. Most of the time, this means a cloud environment, which can be either running on top of a virtual machine (VM) or in containers. Please see the architecture diagram below, which illustrates a general DevOps pipeline process applicable to an infrastructure engineer or an architect.

BuildCICDValuesStream

Here are some, though not all, of infrastructure DevOps activities.

Activity - Execute Terrform scripts through GitHub Actions to provision Azure and AWS resources

We will use two Terraform scripts to create resources for Azure and AWS. Each one requires different GitHub Action pipeline script and associated main.tf file under devops/infra.

All the credentials are stored in GitHub Secrets

⏭️ After you are done, you can close this issue to move forward to next one.

github-actions[bot] commented 3 years ago

Congratulation. You are done with DevOps - Infrastructure continent

image

Let's move to the next issue