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
  2. © 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
  3. © 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
  4. © 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
  5. © 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
  6. © 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" } }
  7. © 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
  8. © 2018 Cloud Native Computing Foundation 14 OSI Reference Model

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

    Model Software Software Software Software Data Link Physical Software Software
  10. © 2018 Cloud Native Computing Foundation 18 Operators - etcd

    operator - postgresql operator - mysql operator - prometheus operator - and so on...
  11. © 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
  12. © 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
  13. 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