O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"

Many engineers are confused about how a cloud-native API gateway relates to Kubernetes Ingress or a Service load balancer. This talk will unravel this confusion.

An API gateway is at the core of how APIs are managed, secured and presented within any web-based system. Although the technology has been in use for many years, it has not always kept pace with recent developments within the cloud-native space.

Join the expert to experts Daniel Bryant in uncovering the evolution of API gateways over the past ten years and how the original problems they were solving have shifted in relation to cloud-native technologies and workflow.

Current challenges of using an API gateway within Kubernetes: scaling the developer workflow, and supporting multiple architecture styles and protocols

In this talk, you'll learn:

How the evolution of API gateways looks
Strategies for exposing Kubernetes services and APIs at the edge of your system
A brief guide to the (potential) future of cloud-native API gateways

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"

  1. 1. The Past, Present, and Future of Cloud Native API Gateways Daniel Bryant
  2. 2. tl;dr • Edge and API gateways have undergone a series of evolutions, driven by architecture and technology • Adopting microservices, Kubernetes, and cloud changes the workflow • Chose your Kubernetes API gateway (and platform) intentionally 2
  3. 3. @danielbryantuk 3
  4. 4. 4 Edge: The boundary between your data center and your user(s)
  5. 5. 5 Thesis: The evolution of the edge has been driven by application architecture and technology
  6. 6. 6 ~1995
  7. 7. Application Architecture in the ‘90s 7
  8. 8. Hardware Load Balancer 8 User Systems administrators Purpose High availability / scalability Key Features Load balancing (round robin, sticky sessions) Health checks
  9. 9. 9 ~2000
  10. 10. Similar application architecture 10
  11. 11. 11 20022001
  12. 12. Software Load Balancer 12 User Systems administrators (“pre DevOps”) Purpose High availability / scalability Key Features Load balancing Health checks Observability
  13. 13. 13 ~2005
  14. 14. 14
  15. 15. 15 Ecommerce 0 75 150 225 300 2000 2005 2010 2015 2019 Amazon Revenue, Billions
  16. 16. 16
  17. 17. The Application Delivery Controller (ADC) 17
  18. 18. Application Delivery Controllers (ADCs) 18 User Systems administrators Purpose High availability and application acceleration Key Features SSL offload, caching, compression + load balancing
  19. 19. 19 https://www.flickr.com/photos/pchow98/5518600886
  20. 20. 20 ~2010
  21. 21. The proliferation of APIs 21 2005: API launched 2008 2009
  22. 22. API Gateway (1st Gen) 22 User Systems administrators & API developers Purpose Expose business APIs to broader ecosystem (“API management”) Key Features L7 routing (e.g., throttling), Publishing, Dev Portal, Analytics, Monetization
  23. 23. 23 ~2015
  24. 24. 24
  25. 25. Mini-services 25
  26. 26. API Gateway (2nd Generation) 26
  27. 27. API Gateway (2nd Generation) 27 User Systems administrators & API developers Purpose Centralize cross-cutting app concerns Key Features Authentication, rate limiting, monitoring + routing
  28. 28. 28 Cloud-native applications
  29. 29. Cloud-Native Microservices 29 • Modularisation (“microservices”) • Built, released, & operated by independent application teams • Scaled independently
  30. 30. App Architecture: A Spectrum of Services • Different locations (K8s, VMs, FaaS) • Different protocols (gRPC, HTTP, WebSockets, TCP) • Different load balancing requirements (sticky sessions, round robin) • Different authentication requirements 30
  31. 31. Cloud Gateway 31 Real-time Service Discovery Need ADC-like traffic management capabilities: timeouts, retries, rate limiting, load balancing, caching, … Need API Gateway-type management capabilities: authentication, developer portal, metrics, … 1 2 3
  32. 32. Microservices lead to an even bigger change. 32
  33. 33. 33 “You build it, you run it” - Werner Vogels, CTO Amazon i.e. you own what you code, from idea to production
  34. 34. Workflow: Full Cycle Development 34 • App teams have full responsibility (and authority) for delivering a service, and ultimately, value to users • Increase agility by accelerating the feedback loop • https://netflixtechblog.com/full-cycle-developers-at-netflix-a08c31f83249
  35. 35. 35 This is a change in workflow.
  36. 36. 36 Thesis: The future evolution of the edge will be driven by application architecture, technology, and workflow
  37. 37. 37 Two biggest challenges with k8s & the edge
  38. 38. Challenge #1: Scaling Edge Management 38 Development Team Operations / Platform Team
  39. 39. Challenge #1: Scaling Edge Management
  40. 40. Challenge #2: Supporting Diverse Edge Requirements 40
  41. 41. 41 Three Strategies
  42. 42. Three Strategies for the Edge with Kubernetes #1: Deploy an Additional Kubernetes API Gateway #2: Extend Existing API Gateway #3: Deploy an in-Cluster Edge Stack 42 https://www.getambassador.io/resources/strategies-managing-apis-edge-kubernetes/
  43. 43. #1 Deploy an Additional Kubernetes API Gateway • Simply deploy an additional “in-cluster” gateway • Below the existing gateway • Below the load balancer • Management • Development teams responsible • OR existing ops team manages this 43
  44. 44. #1 Deploy an Additional Kubernetes API Gateway • Pros • There is minimal change to the core edge infrastructure. • Incremental migration easily • Cons • Increased management overhead of working with different components • Challenging to expose the functionality to each independent microservice teams 44
  45. 45. #2 Extend Existing API Gateway • Implemented by modifying or augmenting the existing API gateway solution • Enable synchronization between the API endpoints and location of k8s services • Custom ingress controller for the existing API Gateway or load balancer 45
  46. 46. #2 Extend Existing API Gateway • Pros • Reuse the existing tried and trusted API gateway • Leverage existing integrations with on-premises infrastructure and services • Cons • Workflows must change to preserve a single source of truth for the API gateway configuration. • Limited amount of configuration parameters via Kubernetes annotations 46
  47. 47. #3 Deploy an In-Cluster Edge Stack • Deploy Kubernetes-native API gateway with integrated supporting edge components • Installed in each of the new Kubernetes clusters, replacing existing edge • Ops team own, and provide sane defaults • Dev teams responsible for configuring the edge stack as part of their normal workflow 47
  48. 48. #3 Deploy an In-Cluster Edge Stack • Pros • Edge management is simplified into a single stack • Supports cloud native best practices: “single source of truth”, GitOps etc • Cons • Potentially a large architectural/responsibility shift • Platform team must learn about new proxy technologies and edge components 48
  49. 49. 49 Wrapping Up
  50. 50. In Conclusion • Edge/API gateways have undergone a series of evolutions, driven by architecture and tech • Hardware -> software • Networking Layer 4 -> Layer 7 • Centralized management -> decentralised • Adopting microservices/Kubernetes changes workflow • Scale edge management • Support multi-protocol and cross-functional requirements • Chose your cloud API gateway (and platform components in general) intentionally 50
  51. 51. app.getambassador.io thenewstack.io/learning-kubernetes-the-need-for-a-realistic-playground
  52. 52. Many thanks! • Learn more: • www.getambassador.io/learn/building-kubernetes-platform • www.getambassador.io/podcasts • www.infoq.com/profile/Daniel-Bryant • Find me in: • Datawire OSS Slack: d6e.co/slack • Twitter @danielbryantuk 52

×