Pro Yearly is on sale from $80 to $50! »

Cloud Native Infrastructure & Applications

6adb4559ed75c2adbd426a6a7e5b38e3?s=47 Andre Almar
November 10, 2020

Cloud Native Infrastructure & Applications

6adb4559ed75c2adbd426a6a7e5b38e3?s=128

Andre Almar

November 10, 2020
Tweet

Transcript

  1. Cloud Native Infrastructure & Applications Andre Almar This presentation is

    available at: https://github.com/andrealmar/talks
  2. © 2018 Cloud Native Computing Foundation 2 CNCF Speaker

  3. © 2018 Cloud Native Computing Foundation 3 $whoami • Site

    Reliability Engineer and Solutions Architect • Speaker (Google DevFest, Campus Party, DevOps Days...) • DevOps BH Meetup Organizer (3k+ members) • DevOps Days BH Organizer (Largest DoD in Brazil in 2018 & 2019) • TDC BH 2019 & 2020 Organizer & Technical Committee Member • Cloud Native BH Organizer
  4. © 2018 Cloud Native Computing Foundation 4 Projects

  5. © 2018 Cloud Native Computing Foundation 5 Containers Cloud Native

    From Virtualization to Cloud Native •Cloud native computing uses an open source software stack to: – segment applications into microservices, – package each part into its own container – and dynamically orchestrate those containers to optimize resource utilization Open Source IaaS PaaS Open Source PaaS Virtualiza- tion 2000 2001 2006 2009 2010 2011 Non- Virtualized Hardware 2013 2015 IaaS
  6. None
  7. © 2018 Cloud Native Computing Foundation 7 History of Infrastructure

    • Infrastructure as a Diagram • Infrastructure as a Script • Infrastructure as a Code • Infrastructure as a Software
  8. © 2018 Cloud Native Computing Foundation 8 Infrastructure as a

    Diagram
  9. © 2018 Cloud Native Computing Foundation 9 Infrastructure as a

    Script #!/bin/bash for instance in $(gcloud compute instances list --filter= "status=terminated" --format= "value(name)" --quiet) do zone=$(gcloud compute instances list --filter= "name=$instance" --format= "value(zone)" --quiet) status=$(gcloud compute instances describe $instance --zone=$zone --format= "value(status)" --quiet) created_on=$(gcloud compute instances describe $instance --zone=$zone --format= "value(creationTimestamp.date('%Y-%m-%d'))" --quiet) echo "Instance name: $instance" echo "Created on $created_on" gcloud compute instances delete $instance --zone=$zone --quiet done
  10. © 2018 Cloud Native Computing Foundation 10 Infrastructure as a

    Code
  11. © 2018 Cloud Native Computing Foundation 11 Infrastructure as a

    Code variable "credentials" {} variable "project" {} variable "region" {} variable "cluster_name" {} // Configure the Google Cloud Provider provider "google" { credentials = "${file("${var.credentials}")}" project = "${var.project}" region = "${var.region}" } data "terraform_remote_state" "app_nodepool_remote_state" { backend = "gcs" config { bucket = "somos-terraform-remote-state" prefix = "stg" credentials = "${file("${var.credentials}")}" } } resource "google_container_node_pool" "np" { name = "app-nodepool-1" zone = "us-central1-a" cluster = "${var.cluster_name}" autoscaling = { min_node_count = 1, max_node_count = 10, } management = { auto_repair = true auto_upgrade = false } node_config = { labels { type = "app" } metadata { type = "app" } oauth_scopes = [ "gke-default", ] disk_size_gb = 200 disk_type = "pd-standard" machine_type = "n1-standard-4" } }
  12. © 2018 Cloud Native Computing Foundation 12 Infrastructure as Software

  13. © 2018 Cloud Native Computing Foundation 13 What is Cloud

    Native Infrastructure ? • CLOUD + INFRASTRUCTURE • Servers as a Service • Extreme Automation • Decoupled architecture • Encapsulate processes • Automated Orchestration
  14. © 2018 Cloud Native Computing Foundation 14 OSI Reference Model

    Application Presentation Session Transport Network Data Link Physical Applications Infrastructure
  15. © 2018 Cloud Native Computing Foundation 15 NEW OSI Reference

    Model Software Software Software Software Data Link Physical Software Software
  16. © 2018 Cloud Native Computing Foundation 16 Kubernetes in Search

    Trends Google Trends (2017-2020)
  17. © 2018 Cloud Native Computing Foundation 17 Kubernetes CONTROLLER for

    { getActual() getExpected() reconcile() }
  18. © 2018 Cloud Native Computing Foundation 18 Operators - etcd

    operator - postgresql operator - mysql operator - prometheus operator - and so on...
  19. © 2018 Cloud Native Computing Foundation 19 Cloud Maturity Matrix

  20. What is the lesson?

  21. © 2018 Cloud Native Computing Foundation 21 Cloud Native Infrastructure

    Infrastructure is NOW managed by SOFTWARE
  22. © 2018 Cloud Native Computing Foundation 22 Key Takeaways Stop

    managing Infrastructure the OLD way
  23. © 2018 Cloud Native Computing Foundation 23 Key Takeaways Your

    Infrastructure MUST be: - Horizontally scalable - No single point of failure - Resilient and self-healing - Minimal operator overhead - Decoupled from the underlying platform
  24. © 2018 Cloud Native Computing Foundation 24 Key Takeaways You

    are now a SOFTWARE ENGINEER
  25. © 2018 Cloud Native Computing Foundation 25 YAML YAML YAML

    (note: your title would be Senior Infrastructure Engineer in our HR systems, but this is negotiable ;)) https://jobs.lever.co/scribd/503a16da-a319-42f6-9c73-ee2a6e51d331
  26. © 2018 Cloud Native Computing Foundation 26 Cloud Native Infrastructure

  27. Please follow up with Andre Almar andre@y7mail.com, @andrealmar_ on Twitter,

    @andrealmar on Instagram andrealmar.com This presentation is available at: https://github.com/andrealmar/talks