Slide 1

Slide 1 text

Deep Dive into GitLab CI/CD Pipeline using Terraform to delivery Infra as Code at AWS 1

Slide 2

Slide 2 text

Hello! • I am Amaury Borges Souza • Based on Monte Mor - SP • I love to give DevOps Talks • DevOps Engineer @kyndryl • Ex Linux SysAdmin @IBM • +9 years of IT experience • Member of SRE Brasil Meetup • Member of DevOps Campinas Meetup • Medium Digital Creator • DM me on Slack @amaury 2

Slide 3

Slide 3 text

DevOps Days https://devopsdays.org 3

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

SRE Brasil Meetup Não importa sua experiência, histórico profissional, ou nível de conhecimento. Se você quer construir a maior comunidade aberta de tecnologia do brasil você é bem- vindo. 5

Slide 6

Slide 6 text

Table of Contents 1. CI/CD using GitLab 1. CI/CD Workflow 2. CI/CD Terms 3. CI/CD Tools Analisys 2. Infrastructure as Code 1. What’s Infrastructure as Code? 2. Infrastructure as Code Workflow 3. Terraform as Code 3. GitOps Approach 4. CNCF (Cloud Native) 1. What’s CNCF? 2. Projects & initiatives & GitOps 3. CNCF Landscape 5. Demo (Hand-on DevOps)

Slide 7

Slide 7 text

What’s the purpose of this? Let’s start discuss the real objetive

Slide 8

Slide 8 text

Bringing some questions… Why you are using GitLab, Terraform and AWS? How are these tools integrating? How it works? What’s the connection of this with the DevOps? 8

Slide 9

Slide 9 text

Roadmap 9 1 3 5 6 4 2 DevOps (Collaboration, Automation, Communication) Infrastructure as Code (Terraform, Pulumi, Ansible) Cloud Native (Argo CI, Kubernetes, Crossplane, FluxCD) Continuous Integration & Continuous Delivery Jenkins/GitLab/GitHub Actions GitOps (Infrastructure Automation using Git) Automated DevOps workflow (Comming soon apps bringing scale, elasticity, resiliency, flexibility)

Slide 10

Slide 10 text

1. CI/CD – Continous Integration & Continuous Delivery Bringing some essential concepts

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

12 Cloud Native Glossary DevOps CI/CD Infrastructure as Code Terraform CNCF Kubernetes Containers Cloud Cluster Machine Learning Ansible Git K8S Kubelet GitOps

Slide 13

Slide 13 text

GitLab CI/CD Pipelines For every stage of the DevOps Lifestyle 13

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

GitLab Pipeline Example

Slide 16

Slide 16 text

CI/CD Tools Analysis 16 Jenkins Open source automation server which enable developers to build, test and deploy their app. GitLab Not a Open source tool. Pipeline as Code feature, pipeline based on YML files. Actions is a CI/CD tool for GitHub workflow. Pipelinein YML files, support many Devops Tools. GitHub Actions A CD Tool focused on GitOps workflow inside Kubernetes. Argo CD

Slide 17

Slide 17 text

2. Infrastructure as Code Bringing some essential concepts

Slide 18

Slide 18 text

What’s (IaC) Infrastructure as Code? Basically IaC is a way to use code instead manual process to create and provisioning the resources on Cloud environment. 18

Slide 19

Slide 19 text

Infrastructure as Code Workflow 19

Slide 20

Slide 20 text

Infra as Code (IaC) with Terraform to provision an autoscaling group 20

Slide 21

Slide 21 text

Terraform demonstration diagram 21 AWS API’s Terraform main.tf Azure declarative Infrastructure as Code (IaC)

Slide 22

Slide 22 text

Terraform process is easy 22 1 2 3

Slide 23

Slide 23 text

How Terraform calls the Cloud providers 23

Slide 24

Slide 24 text

Terraform x Crossplane Basically everything is called via API’s. The Crossplane keeps the eyes on the providers API’s until to modify the infrastructure 24

Slide 25

Slide 25 text

3. GitOps Bringing some essential concepts

Slide 26

Slide 26 text

4. CNCF Bringing some essential concepts

Slide 27

Slide 27 text

“As part of the Linux Foundation, we provide support, oversight and direction for fast-growing, cloud native projects, including Kubernetes, Envoy and Prometheus”. 27

Slide 28

Slide 28 text

16 Graduated Projects 71 Sandbox Projects 34 Uncubating Projects 28

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

30 Medium Digital Creator Cloud Native: Conheça projetos, iniciativas e uma trilha de estudos. Fonte: https://amaurybsouza.medium.com/cloud- native-conhe%C3%A7a-projetos-iniciativas-e- uma-trilha-de-estudos-9704f7c59d8

Slide 31

Slide 31 text

5. Demo “Talk is cheap. Show me the code”. Linus

Slide 32

Slide 32 text

Thanks! Any questions? I apreciate HCS Week staff ❤ 32