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

Delivering modern web applications with Kuberne...

vcach
April 21, 2018

Delivering modern web applications with Kubernetes and OpenSource Technologies

Talk presented on Global Azure Bootcamp Bogotá 2018

vcach

April 21, 2018
Tweet

More Decks by vcach

Other Decks in Programming

Transcript

  1. Hello! I Am Camilo Cortes H. facebook.com/vcach linkedin/cortescamilo @vcach_ops [email protected]

    SYSTEMS ENGINEER PUBLIC CLOUD & DEVOPS SME – MCP, MCTS, VCP CLOUDFIRSTCAMPUS BOARD MEMBER – COMMUNITY LEADER SYSADMIN CLOUD OPS STUDIO @GLOBANT •
  2. Objective: Understand WHY Rather than HOW! Container Orchestration Azure Container

    Registry DEMO Release automation tools Containers 101 Azure Kubernetes Service (AKS) Kubernetes Concepts
  3. Through the presentation we will be creating some resources If

    you want to replicate the demos of this talk plz refer to: On GitHub search for vcach user to access the repo: GAB2018-Kubernetes https://github.com/vcach/GAB2018-Kubernetes AKS Workshop: https://github.com/Azure/blackbelt-aks-hackfest
  4. From Traditional App to Modern App Existing Application APP Modern

    Microservices Add new services or start peeling off services from monolithic code. Modern Infrastructure Rehost as VMs or refresh to modern container platform. Containerize Applications Re-architect apps for scale with containers. Containers Container Platform On-Premises Infrastructure Platform PaaS Application Platform Serverless IaaS Infrastructure Platform “lift & shift”
  5. What we hear from Developers I need to create applications

    at a competitive rate without worrying about IT New applications run smoothly on my machine but malfunction on traditional IT servers My productivity and application innovation become suspended when I have to wait on IT
  6. What we hear from IT I need to manage servers

    and maintain compliance with little disruption I’m unsure of how to integrate unfamiliar applications, and I require help from developers I’m unable to focus on both server protection and application compliance
  7. What is a Container? Containers = operating system virtualization OS

    Kernel Applications Container Container Container Hardware Traditional virtual machines = hardware virtualization Hardware OS Application VM VM VM App OS App OS App OS
  8. VMs versus Containers Virtualization Containerization Type 1 Hardware Hypervisor 1

    VM VM VM Hardware Type 2 Host OS Hypervisor 2 VM VM VM Virtual machine Guest OS Dependencies Application Hardware Host OS Docker Engine Dependency 1 Dependency 2 C C C C C Container App dependencies Application XYZ
  9. The Container advantage Hardware Host OS Docker Engine VM VM

    Con. Con. Con. Con. Containerized environment Migrate containers and their dependencies to underutilized VMs for improved density and isolation Decommission unused resources for efficiency gains and cost savings
  10. The Container advantage Fast iteration Agile delivery Immutability Cost savings

    Elastic bursting Efficient deployment For IT For developers
  11. Azure Container Registry (ACR) Manage a Docker private registry as

    a first-class Azure resource Use familiar, open- source Docker CLI tools Azure Container Registry geo-replication Manage images for all types of containers
  12. The elements of Orchestration Scheduling Affinity/anti- affinity Health monitoring Failover

    Scaling Networking Service discovery Coordinated app upgrades
  13. Kubernetes, The de-facto orchestrator Portable Public, private, hybrid, multi-cloud Extensible

    Modular, pluggable, hookable, composable Self-healing Auto-placement, auto-restart, auto-replication, auto-scaling
  14. Kubernetes, Empowering you to do more Deploy your applications quickly

    and predictably Scale your applications on the fly Roll out new features seamlessly Limit hardware usage to required resources only
  15. Main Kubernetes concepts Services are an abstraction for a logical

    set of Pods. Pods are the smallest deployable units of computing Deployments provide declarative updates for Pods and RCs. Replica Sets ensure specified number of Pods are running Labels are key/value pairs attached to objects used for identification
  16. Azure Kubernetes Service (AKS) Simplify the deployment, management, and operations

    of Kubernetes Work how you want with open- source APIs Scale and run applications with confidence Focus on your containers not the infrastructure
  17. Azure Kubernetes Service (AKS) A fully managed Kubernetes cluster Managed

    Azure infrastructure services Docker Kubernetes • Managed control pane • Automated upgrades, patches • Easy cluster scaling • Self-healing • Cost savings Application architect Infrastructure architect Applications Operations
  18. DevOps Why? Deploy 200 times more frequently Go from code

    check-in to production 2,555 times faster Recover from failure 24 times faster Spent 50% less time remediating security challenges Spent 22% less time on unplanned work 2.2 times more likely to believe their places a great place to work Source: https://puppet.com/resources/white-paper/2016-state-of-devops-report
  19. Release Automation Tools Simplifying the Kubernetes experience Streamlined Kubernetes development

    The package manager for Kubernetes Event-driven scripting for Kubernetes Visualization dashboard for Brigade
  20. DEMO Architecture What we already create: - Docker Image -

    Resource Group - Azure Container Registry - Kubernetes Cluster - Brigade and Kashti
  21. Hello! I Am Camilo Cortes H. facebook.com/vcach linkedin/cortescamilo @vcach_ops [email protected]

    SYSTEMS ENGINEER PUBLIC CLOUD & DEVOPS SME – MCP, MCTS, VCP CLOUDFIRSTCAMPUS BOARD MEMBER – COMMUNITY LEADER SYSADMIN CLOUD OPS STUDIO @GLOBANT •