Más contenido relacionado

Similar a Why to Cloud Native(20)


Why to Cloud Native

  1. Why to Cloud Native Karthik Gaekwad @iteration1 Principal Engineer, Oracle Cloud Innotech OKC
  2. •I’m Karthik Gaekwad •NOT a DBA • •Cloud Native evangelist at Oracle Cloud •Previous: developer on the Oracle Managed Kubernetes Team. Hello @iteration1
  3. Hello • Been in Industry 15 years. • In general, I like building stuff with friends. • A maintainer for Gauntlt- Open source security scanner. • Love Teaching and building community. • Run Devopsdays Austin, Container Days, Cloud Austin. • Chair All Day Devops Cloud Native track. • LinkedIn Learning Author for Learning Kubernetes (and more).
  4. Need an OCI Trial Account?
  5. My questions for you..
  6. Agenda • What is cloud native? • Where are we today in the cloud native world? • The Cloud Native ecosystem. • Cloud Native adoption. • Challenges.
  7. What is Cloud Native?
  8. What is Cloud Native? “A new computing paradigm that is optimized for modern distributed systems environments capable of scaling to tens of thousands of self healing multi-tenant nodes” -Cloud Native Computing Foundation
  9. Pillars of Cloud Native Devops Continuous Delivery Microservices Containers
  10. Pillars of Cloud Native: Devops “DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support.” -The Agile Admin blog
  11. Pillars of Cloud Native: Devops • Generally based on principles of CALMS • Based on the ideas of Automation, Measurement, Sharing • Emphasis on a Collaborative culture in organizations • Shifting operations more to the left. • Operations teams does more than just “server management” • Uses same techniques as developers for systems work
  12. Pillars of Cloud Native: CD • Origins in the automation segment of Devops • Similar to Continuous Integration • Frequent code commits into source control • Run automated builds against each code commit • Result= Detecting errors quicker • Continuous Delivery • Step 1: Continuous Integration • Release code builds to end users • Result= ship software quicker to end users
  13. Pillars of Cloud Native: Microservices
  14. Microservices Design • Start with Twelve-Factor App design • • Based on the principals of software design and deployment at Heroku • Development best practice that synergizes with devops engineers
  15. Twelve Factor App • Principles: • Declarative formats for Automation • Clean Contracts with underlying systems • Able to deploy to modern cloud platforms • Keep your prod and dev systems similar • Easily scale up without changes to architecture, tooling, development etc. • 12 factor apps enable easy container integration
  16. Pillars of Cloud Native: Containers • Way to package applications • Fits really well as a packaging strategy for microservices • Not a new concept • Popularized by the growth of Docker, and Kubernetes
  17. Pillars of Cloud Native: Containers Phase I Developer Focus Phase II DevOps Focus Phase III Business Focus (end-to-end) Container Adoption Application Deployment Intelligent Operations SpeedEfficiencyAgility Docker Kubernetes Core to Edge Developer adoption Dev/Test apps Simple orchestration Individual developers DevOps deployment Production apps Advanced orchestration Teams & lines of business End-to-end integration Digital business apps Serverless, DevSecOps, & ML Cloud native enterprises Focus Applications Automation Community
  18. Developer Trends in the Cloud: Open source Digital Ocean Survey, October 2018 Respondents=4300
  19. Evolution of Development and Deployment Application InfrastructureDeployment and PackagingApplication ArchitectureDevelopment Process HostedVirtual ServersN-TierAgile ~ 2000 Plan Release Build Code Test Operate Monito r Deply DevOps Microservices Containers Cloud~ 2010 Now Waterfall Monolithic Physical Server Datacenter~ 1980 ~ 1990
  20. Cloud Native Usecases
  21. Share Container Use Cases Orchestration Use Cases Development Developer productivity; Consistent appstacks in Dev, Test & Production Automated deploys to accelerate application release cadence CI/CD/DevOps Containerized dependencies; Container registries; Rolling updates and reversals Operations Standardized environments for dev, testing and operations Resilient, self-healing systems; High Availability; Elastic Scalability Refactor Legacy Apps Refactor from N-tier to portable containerized applications Run distributed, stateful apps on scale-out infrastructure Migrate to Cloud Move entire appstacks and see them run identically in the cloud Cloud bursting; Reduce infrastructure costs by avoiding over-provisioning New Microservice Apps Create small purpose-built services that can be assembled to scalable custom applications Dynamically manage large-scale microservices infrastructure Key Container Use Cases 65% 48% 41% 34% 33% 32% SOURCE: THE EVOLUTION OF THE MODERN SOFTWARE SUPPLY CHAIN, DOCKER SURVEY 2016
  22. New Technology?? Must Adopt!!
  23. Business and Engineering
  24. The Business Case for Cloud Native • Quicker Time to Deliver • Modernizing present day applications • Develop new applications quickly • Improve speed of innovation
  25. Quicker Time To Deliver • Containers + Microservices allows for a common language between your development and operations teams • Shared Understanding… • Allows for IT in general to practice a devops culture • Less friction between various teams in the organization • Practicing Continuous Delivery allows you to ship faster • Process of making changes becomes easily • Reduces perceived risk of making changes
  26. Modernizing present day applications • Shipping applications in containers reduces dependencies on underlying infrastructure • As a result, previous on premise applications can be exported to the cloud. • Kubernetes provides a single unified platform to deploy containers across all your infrastructure
  27. Develop new applications quickly • Rich technical ecosystem. • Large community • Kubernetes and CNCF slack has over 35k people • Plenty of meetups in many different cities • Based on opensource • Developers can read the source code of platforms they are using • Easier to find developers who want to work on newer technologies
  28. Improve speed of innovation • Cloud Native brings a new culture, technology and processes to accelerate innovation in organizations. • Devops, CI/CD, Containerization modernizes your existing development teams • Allows them to go much faster than before.
  29. CNCF Trail Map
  30. Challenges
  31. Top 5 challenges to cloud native adoption… 0 5 10 15 20 25 30 35 40 45 Complexity Cultural Challenges Lack of Training Security Monitoring Percentages
  32. Other Challenges • Storage (30% down from 41%) • Networking (30% down from 38%) • Reliability (17% down from 20%) • Logging (25% down from 32%) • Scaling (20% down from 24%) Technical Challenges Decrease
  33. • Managing, maintaining, upgrading Kubernetes Control Plane • API Server, etcd, scheduler etc…. • Managing, maintaining, upgrading Kubernetes Data Plane • In place upgrades, deploy parallel cluster etc…. • Figuring out container networking & storage • Overlays, persistent storage etc… - it should just work • Managing Teams • How do I manage & control team access to my clusters? • Security, security, security Kubernetes & Cloud Native Challenges Source: Oracle Customer Survey 2018
  34. Where do I start? Some strategies…
  35. Silos • Heavily siloed organizations can benefit from a devops mindset • Use containers as a way to break down silos in your engineering orgs
  36. Releasing Code • Step 1: Invest in Continuous Integration • Step 2: Continuous Delivery
  37. Orchestration? Your company/organization manages containers with:
  38. Biggest Lie: “Kubernetes is easy”
  39. Kubernetes is complex • Use a Kubernetes Managed Service • Like Oracle Container Engine for Kubernetes, Google Kubernetes Engine etc • Benefits: • Enables developers to get started and deploy containers quickly. • Gives DevOps teams visibility and control for Kubernetes management. • Combines production grade container orchestration of open Kubernetes, with control, security, IAM, and high predictable performance of cloud infrastructure • Manage what you really need to manage
  40. Customer ManagedOracle Managed Kubernetes is Complex OCI Container Engine for Kubernetes OCI Registry Cluster Management OKE Dashboard in OCI Console Oracle Cloud Infrastructure Encryption for Data in Transit (SSL) and at Rest VM based Clusters and Nodes Bare Metal Clusters and Nodes Customer’s OCI Account/Tenancy HA - 3 Masters/etcd across 3 ADs 4 1
  41. End to End Workflow… Any CI/CD - ie Jenkins, Oracle Pipelines, etc. OCI Registry AD 1 AD 3 Node Pool K8S Cluster Node Pool BM VM VCN PV AD 2 Exposed Kubernetes Service • Container Native: Standard Upstream Kubernetes; Fully Managed Lifecycle; Integrated Registry • Developer Friendly: Simple, Streamlined User Interface; REST API; Helm, and DNS Built-in • Enterprise Ready: Oracle Cloud Infrastructure Performance; Highly Available; Secure with OCI Access Controls Build Test Test Test Push OCI Container Engine for Kubernetes Pods LB 42
  42. Take It slow… Greenfield OR Strangler application patterns
  43. KEEP CALM AND KUBE ON @iteration1

Hinweis der Redaktion

  1. Photo by Hayden Walker on Unsplash
  2. Photo by Joanna Kosinska on Unsplash
  3. Photo by All Bong on Unsplash Pillars of cloudnative:
  4. Photo by All Bong on Unsplash Pillars of cloudnative:
  5. Photo by All Bong on Unsplash Pillars of cloudnative:
  6. Photo by All Bong on Unsplash Pillars of cloudnative:
  7. Photo by All Bong on Unsplash Pillars of cloudnative:
  8. Photo by All Bong on Unsplash Pillars of cloudnative:
  9. Photo by All Bong on Unsplash Pillars of cloudnative:
  10. The contributors to this document have been directly involved in the development and deployment of the Heroku platform.
  11. Photo by All Bong on Unsplash Pillars of cloudnative:
  13. 80’s - mid ‘90’s: Datacenters with physical servers, running monolithic applications, developed using traditional waterfall methodologies Late 90’s – 00’s: Datacenters and hosting providers running Unix/Linux servers, emergence of virtualization (VMWare, KVM), running n-tier applications, developed using agile methodologies ~ 2010 - Now: Cloud increasingly replacing datacenters and hosting, decomposition of applications into microservices, running on container infrastructure, developers and operations collaborating using DevOps methodologies Containers are a critical component of the modern application stack, enabling DevOps and microservices, and increasingly running in the Cloiud. With the introduction of Oracle’s managed container services, we are well positioned across all of these modern approaches to software development and operations.
  14. Photo by Koen Eijkelenboom on Unsplash
  15. Reference: Photo by Aaron Burden on Unsplash
  16. However, customers face challenges along the way.  As we have spoken to customers, many have agreed with the challenges presented on this slide.
  17. The grey shaded area designates the functions that Oracle Manages for the customers, including an integrated Registry and image storage and the Container Engine / Managed Kubernetes. Oracle will manage the etcd and Master nodes of the Kubernetes instance, in a High Availability setup for the customer. Upgrades to new versions of Kubernetes will also be supported in the Container Engine dashboard, within the OCI console. The customer will manage the Clusters/Worker Nodes that are setup by the Managed Service for that instance, in their own OCI account/tenancy, shaded in blue above. Note: The customer will need to bring their own OCI account to create clusters for the managed Kubernetes cloud service and pay for any infrastructure usage incurred with their clusters of worker nodes.