Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cloud Native Infrastructure & Applications

Andre Almar
November 10, 2020

Cloud Native Infrastructure & Applications

Andre Almar

November 10, 2020
Tweet

More Decks by Andre Almar

Other Decks in Technology

Transcript

  1. Cloud Native Infrastructure
    & Applications
    Andre Almar
    This presentation is available at:
    https://github.com/andrealmar/talks

    View full-size slide

  2. © 2018 Cloud Native Computing Foundation
    2
    CNCF Speaker

    View full-size slide

  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

    View full-size slide

  4. © 2018 Cloud Native Computing Foundation
    4
    Projects

    View full-size slide

  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

    View full-size slide

  6. © 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

    View full-size slide

  7. © 2018 Cloud Native Computing Foundation
    8
    Infrastructure as a Diagram

    View full-size slide

  8. © 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

    View full-size slide

  9. © 2018 Cloud Native Computing Foundation
    10
    Infrastructure as a Code

    View full-size slide

  10. © 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"
    }
    }

    View full-size slide

  11. © 2018 Cloud Native Computing Foundation
    12
    Infrastructure as Software

    View full-size slide

  12. © 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

    View full-size slide

  13. © 2018 Cloud Native Computing Foundation
    14
    OSI Reference Model
    Application
    Presentation
    Session
    Transport
    Network
    Data Link
    Physical
    Applications
    Infrastructure

    View full-size slide

  14. © 2018 Cloud Native Computing Foundation
    15
    NEW OSI Reference Model
    Software
    Software
    Software
    Software
    Data Link
    Physical
    Software
    Software

    View full-size slide

  15. © 2018 Cloud Native Computing Foundation
    16
    Kubernetes in Search Trends
    Google Trends (2017-2020)

    View full-size slide

  16. © 2018 Cloud Native Computing Foundation
    17
    Kubernetes
    CONTROLLER
    for {
    getActual()
    getExpected()
    reconcile()
    }

    View full-size slide

  17. © 2018 Cloud Native Computing Foundation
    18
    Operators
    - etcd operator
    - postgresql operator
    - mysql operator
    - prometheus operator
    - and so on...

    View full-size slide

  18. © 2018 Cloud Native Computing Foundation
    19
    Cloud Maturity Matrix

    View full-size slide

  19. What is the lesson?

    View full-size slide

  20. © 2018 Cloud Native Computing Foundation
    21
    Cloud Native Infrastructure
    Infrastructure is NOW managed by SOFTWARE

    View full-size slide

  21. © 2018 Cloud Native Computing Foundation
    22
    Key Takeaways
    Stop managing Infrastructure the OLD way

    View full-size slide

  22. © 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

    View full-size slide

  23. © 2018 Cloud Native Computing Foundation
    24
    Key Takeaways
    You are now a SOFTWARE ENGINEER

    View full-size slide

  24. © 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

    View full-size slide

  25. © 2018 Cloud Native Computing Foundation
    26
    Cloud Native Infrastructure

    View full-size slide

  26. Please follow up with Andre Almar
    [email protected],
    @andrealmar_ on Twitter,
    @andrealmar on Instagram
    andrealmar.com
    This presentation is available at:
    https://github.com/andrealmar/talks

    View full-size slide