Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

[WSO2 Summit Sydney 2019] Emerging Architecture Patterns: API-centric and Cell-based

325 vues

Publié le

In this deck, Asanka will introduce the "cell-based" reference architecture, which is API-centric, cloud-native, and microservices-friendly. He will explain the role of APIs in the cell-based approach, as well as examine how real applications are built as cells. Asanka will explore the metrics and approaches that can be used to measure the effectiveness of the architecture and explore how organizations can implement the cell approach.

This year we’re touring the world! Join us at a city near you to learn how to achieve API-driven integration agility. - https://wso2.com/integration-summits-2019/

Publié dans : Technologie
  • Soyez le premier à commenter

[WSO2 Summit Sydney 2019] Emerging Architecture Patterns: API-centric and Cell-based

  1. 1. INTEGRATION SUMMIT 2019 Emerging Architecture Patterns API-centric & Cell-based INTEGRATION Asanka Abeysinghe Deputy CTO & VP, Architecture - CTO Office
  2. 2. Objectives #1 look at: API-centric #2 introduce: Cell-based architecture
  3. 3. picture credit: https://www.flickr.com/
  4. 4. Motivation
  5. 5. Centralized & Layered picture credit: https://www.flickr.com/photos/kaktuslampa/
  6. 6. Not enough support for Agility
  7. 7. picture credit: https://www.flickr.com/photos/69929929@N06/ Powerpoint Architects
  8. 8. picture credit: https://www.flickr.com/photos/johnerlandsen/ Reality of the Enterprise
  9. 9. Brownfield > Greenfield picture credit: https://www.apstra.com/home/landscape-of-meadow-field-with-the-changing-environment-2/ Legacy, monolithic Microservices, sprawl
  10. 10. Reference Implementations picture credit: https://www.marinersmuseum.org/
  11. 11. picture credit: http://unlocked.footlocker.com/ Underutilization of the Technology
  12. 12. Gap: architecture | development | deployment picture credit: https://www.flickr.com/photos/28994379@N02/
  13. 13. picture credit: https://www.solarpowerworldonline.com/2017/07/georgia-contractor-sells-farmers-solar-tough-market/ Dependency management
  14. 14. picture credit: https://www.flickr.com/photos/tiocfaidh_ar_la_1916/ Architecture Patterns
  15. 15. Timeline
  16. 16. Background: Layered Architecture
  17. 17. picture credit: https://www.flickr.com/photos/23119666@N03/ A platform with an agile team 100 APIs, 60 message flows, 80 services, n DBs Multi-tenanted, 3 active tenants First release after 3 years
  18. 18. picture credit: https://www.flickr.com/photos/imcountingufoz/ Rise of Microservices
  19. 19. Pragmatic Microservices Netflix: APIs Uber: Edge Gateway eBay: API Facade Gartner: Mini Services
  20. 20. Background: Layered Architecture with MSA
  21. 21. Background: Segmented Architecture BS-1 BS-2 BS-n G-1 G-2 US-1 US-n
  22. 22. Platform of Platforms Platform (shared capabilities) Project1 Project2 Project3 Projectn Platform (shared capabilities) Project1 Project2 Project3 Projectn Platform (shared capabilities) Project1 Project2 Project3 Projectn Platform (shared capabilities) Project1 Project2 Project3 Projectn CI/CD User Store
  23. 23. API Maturity Model Technical APIs Partially Business APIs Business APIs Isolated Applications Unstructured Integration Module-based Architecture Service- oriented Architecture (SOA) Microservice Architecture (MSA) Open APIs APIs as a Business Monolithic Applications Sockets File Sharing Message Que. DB Replication EJB RMI COM/COM+ CORBA WebDev SOAP ESB BPEL BAM REST AMQP MQTT WAF REST OAS ServiceMesh gRPC GraphQL
  24. 24. picture credit: https://www.flickr.com/photos/ableman/
  25. 25. Making of…… picture credit: https://commons.wikimedia.org/wiki/User:Frank_Schulenburg CC BY 3.0
  26. 26. picture credit: https://www.cricindex.com/john-buchanan-cricket-coach/
  27. 27. 2014 2018
  28. 28. Building the Concept
  29. 29. Business vs technical services picture credit: https://www.flickr.com/photos/arpadlukacs/
  30. 30. Service: Technical definition A code exposes through an interface that describes a collection of operations that are network accessible using a standardized messaging protocol.
  31. 31. Service: Business definition Software components that can be spontaneously discovered, combined, and recombined to provide a solution to a business problem.
  32. 32. Microservice: Technical definition A microservice must have a single purpose and be loosely coupled in design and deployed independently of other microservices. "Micro" is a concept of scope rather than size.
  33. 33. Microservice: Business definition Microservices is an approach to application development in which a large application is built as a suite of modular components or services. These services are built around business capabilities.
  34. 34. Group of (Micro)services
  35. 35. The cell is the basic structural, functional, and biological unit of all known living organisms
  36. 36. Cell-based Reference Architecture
  37. 37. Component: Atomic Units A component represents a process or business logic running in a container, serverless environment, or an existing runtime. A component is designed based on a specific scope, which can be independently run and reused at the runtime.
  38. 38. Cell: Units of Enterprise Architecture A cell is a collection of components, grouped from design and implementation into deployment. A cell is independently deployable, manageable, and observable.
  39. 39. Cell: Units of Enterprise Architecture A cell is an immutable application component that can be built, deployed and managed as a complete unit. The cell consists of multiple services, managed APIs, ingress and egress policies (including routing, throttling, access control), security trust domain, deployment policies, rolling update policies and external dependencies. The cell definition captures all of these in a standard technology- neutral fashion.
  40. 40. Cell:Component 1:M 1:1
  41. 41. Connected Cells picture credit: https://www.medicalnewstoday.com/
  42. 42. Control Plane: - Signaling of the network - Makes decisions about the traffic flow Data Plane: - Forwards traffic between hops - Takes data packets picture credit: https://www.flickr.com/photos/teflon/ Management Plane: - Configure - Observeabiltty, Monitor
  43. 43. Inter and Intra Cell communication Cell-mesh Global-mesh
  44. 44. Connected Cells Cell gateway (ingress) Sidecar (egress) Adaptor (egress) Ambassador (egress)
  45. 45. API-centric Architecture Pull APIs - RESTful HTTP, gRPC Push APIs - Events JMS, AMQP, SMTP - Streams Kafka, MQTT
  46. 46. Gateway Pattern picture credit: https://www.flickr.com/photos/ell-r-brown/
  47. 47. Automated Governance (Re)-enables Flow Policy Store (Registry) Observability (Monitoring/
 Analytics) Policy 
 Enforcement (GW) Automated governance is made of three things: A source of truth: Policy store/registry Enforcement of the policy Gateway or plugin attempting to keep the desired state Observability How close to the desired state are we?
  48. 48. Security of Cells picture credit: https://www.flickr.com/photos/laurelfan/ https://www.flickr.com/photos/sahdblunders/
  49. 49. Security of Cells
  50. 50. Developer Experience (DX) of a Cell
  51. 51. Creating Cells Brand new Cell Existing (micro)services Update an existing Cell Create a new version
  52. 52. Lifecycle of a Cell
  53. 53. picture credit: https://www.flickr.com/photos/rincon_de_lula/
  54. 54. Structured Agility Versioned Components Versioned Cells Dependency managed Autowired Reusable Enhanced MSA & CNA
  55. 55. Cell-based Enterprise Architecture
  56. 56. Cell Types Cell Type Components Logic Microservices, Functions, MicroGateways, lightweight storages Integration MicroESB or other integration microservices, lightweight storage and/or cache Legacy Existing systems, legacy services External SaaS and partner systems Data RDBMS, NoSQL, File, Message Broker* Identity IDP, user stores Channel Web Apps, IoT, mobile apps
  57. 57. Reference Implementation L0
  58. 58. Reference Implementation L1
  59. 59. Cells and Podular Organizations
  60. 60. Self-contained Deployable as a unit Independently elastic Data, control & management plane Summary: Cell-based Architecture
  61. 61. picture credit: https://www.flickr.com/photos/josephmorris/ Just a (steady) start https://github.com/wso2/reference-architecture
  62. 62. INTEGRATION SUMMIT 2019 “Organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.” - M. Conway
  63. 63. INTEGRATION SUMMIT 2019 THANK YOU wso2.com @asankama