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.

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

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, and many engineers are confused about how a cloud native API gateway relates to Kubernetes Ingress or a Service load balancer.

Join this session to learn about:

– 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
– 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

SoftwareCircus 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 gateways have undergone a series of evolutions, driven by architecture • “Cloud native” (microservices/K8s) changes architecture and workflow • Chose your cloud API gateway solution 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
  6. 6. 6 The past: A trip down memory lane
  7. 7. 7 ~1995
  8. 8. Application Architecture in the ‘90s 8
  9. 9. Hardware Load Balancer 9 User Systems administrators Purpose High availability / scalability Key Features Load balancing (round robin, sticky sessions) Health checks
  10. 10. 10 ~2000
  11. 11. Similar application architecture 11
  12. 12. 12 20022001
  13. 13. Software Load Balancer 13 User Systems administrators (“pre DevOps”) Purpose High availability / scalability Key Features Load balancing Health checks Observability
  14. 14. 14 ~2005
  15. 15. 15
  16. 16. 16 Ecommerce 0 75 150 225 300 2000 2005 2010 2015 2019 Amazon Revenue, Billions
  17. 17. 17
  18. 18. The Application Delivery Controller (ADC) 18
  19. 19. Application Delivery Controllers 19 User Systems administrators Purpose High availability and application acceleration Key Features SSL offload, caching, compression + load balancing
  20. 20. 20 https://www.flickr.com/photos/pchow98/5518600886
  21. 21. 21 ~2010
  22. 22. The proliferation of APIs 22 2005: API launched 2008 2009
  23. 23. API Gateway (1st Gen) 23 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
  24. 24. 24 ~2015
  25. 25. 25
  26. 26. Mini-services 26
  27. 27. API Gateway (2nd Generation) 27
  28. 28. API Gateway (2nd Generation) 28 User Systems administrators & API developers Purpose Centralize cross-cutting app concerns Key Features Authentication, rate limiting, monitoring + routing
  29. 29. 29 Present day: Cloud-native apps
  30. 30. Cloud-Native Microservices 30 • Modularisation (“microservices”) • Built, released, & operated by independent application teams • Scaled independently
  31. 31. 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 31
  32. 32. Cloud Gateway 32 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
  33. 33. “Microservices” lead to an even bigger change. 33
  34. 34. 34 Developers are on call.
  35. 35. Microservices: Full Cycle Development 35 • App teams have full responsibility (and authority) for delivering a service • Increases agility by accelerating the feedback loop. • https://netflixtechblog.com/full-cycle-developers-at-netflix-a08c31f83249
  36. 36. 36 This is a change in workflow.
  37. 37. 37 Thesis: The evolution of the edge will be driven by application architecture and the application development workflow.
  38. 38. 38 Two Biggest Challenges
  39. 39. Challenge #1: Scaling Edge Management 39 Development Team Operations / Platform Team
  40. 40. Challenge #1: Scaling Edge Management
  41. 41. Challenge #2: Supporting Diverse Edge Requirements 41
  42. 42. 42 Three Strategies
  43. 43. 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 43 https://www.getambassador.io/resources/strategies-managing-apis-edge-kubernetes/
  44. 44. #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 44
  45. 45. #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 45
  46. 46. #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 46
  47. 47. #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 47
  48. 48. #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 48
  49. 49. #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 shift • Platform team must learn about new proxy technologies and edge components 49
  50. 50. 50 Wrapping Up
  51. 51. In Conclusion • Edge/API gateways have undergone a series of evolutions, driven by architecture • Hardware -> software • Networking Layer 4 -> Layer 7 • Centralized management -> decentralised • Adopting microservices/Kubernetes changes workflow. We need to: • Scale edge management • Support multi-protocol and cross-functional requirements • Chose your solution intentionally 51
  52. 52. Many thanks! • Learn more: • https://www.getambassador.io/learn/building-kubernetes-platform/ • https://www.getambassador.io/podcasts/ • https://blog.getambassador.io/ • Find me in: • Datawire OSS Slack: http://d6e.co/slack • Twitter @danielbryantuk 52

×