Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[WSO2 Integration Summit San Francisco 2019] Emerging Architecture Patterns- API-centric & Cell-based


Published on

The number of microservices running in enterprises increases daily. As a result, service composition, governance, security, and observability are becoming a challenge to implement and incorporate. A “cell-based” architecture is an approach that can be applied to current or desired development and technologies to address these issues. This technology-neutral approach helps cloud-native dev teams become more efficient, act in a more self-organized manner, and speed overall release times.

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

[WSO2 Integration Summit San Francisco 2019] Emerging Architecture Patterns- API-centric & Cell-based

  1. 1. INTEGRATION SUMMIT 2019 Emerging Architecture Patterns API-centric & Cell-based INTEGRATION Asanka Abeysinghe Deputy CTO & VP of Architecture - CTO Office San Francisco
  2. 2. Objectives #1 why: a new pattern #2 how: created the pattern #3 what: is Cell-based architecture
  3. 3. Motivation
  4. 4. Centralized & Layered picture credit:
  5. 5. picture credit: Powerpoint Architects
  6. 6. picture credit: Reality of the Enterprise
  7. 7. Brownfield > Greenfield picture credit: Legacy, monolithic Microservices, sprawl
  8. 8. Reference Implementations picture credit:
  9. 9. picture credit: Underutilization of the Technology
  10. 10. Gap: architecture | development | deployment picture credit:
  11. 11. picture credit: Dependency management
  12. 12. picture credit: Architecture Patterns
  13. 13. Timeline
  14. 14. Background: Layered Architecture
  15. 15. picture credit: 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
  16. 16. picture credit: Rise of Microservices
  17. 17. Pragmatic Microservices Netflix: APIs Uber: Edge Gateway eBay: API Facade Gartner: Mini Services
  18. 18. Background: Layered Architecture with MSA
  19. 19. Background: Segmented Architecture BS-1 BS-2 BS-n G-1 G-2 US-1 US-n
  20. 20. 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
  21. 21. picture credit:
  22. 22. Making of…… picture credit: CC BY 3.0
  23. 23. Building the Concept
  24. 24. Business vs technical services picture credit:
  25. 25. Service: Technical definition A code exposes through an interface that describes a collection of operations that are network accessible using a standardized messaging protocol.
  26. 26. Service: Business definition Software components that can be spontaneously discovered, combined, and recombined to provide a solution to a business problem.
  27. 27. 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.
  28. 28. 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.
  29. 29. Group of (Micro)services
  30. 30. The cell is the basic structural, functional, and biological unit of all known living organisms
  31. 31. Cell-based Architecture
  32. 32. 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.
  33. 33. 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.
  34. 34. Cell:Component 1:M 1:1
  35. 35. Connected Cells picture credit:
  36. 36. Control Plane: - Signaling of the network - Makes decisions about the traffic flow Data Plane: - Forwards traffic between hops - Takes data packets picture credit: Management Plane: - Configure - Observeabiltty, Monitor
  37. 37. Inter and Intra Cell communication Local-mesh Global-mesh DP- data plane CP- control plane MP- management plane
  38. 38. Connected Cells Cell gateway (ingress) Sidecar (egress) Adaptor (egress) Ambassador (egress)
  39. 39. API-centric Architecture picture credit:
  40. 40. API-centric Architecture Pull APIs - RESTful HTTP, gRPC Push APIs - Events JMS, AMQP, SMTP - Streams Kafka, MQTT
  41. 41. Gateway Pattern picture credit:
  42. 42. 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?
  43. 43. Security of Cells
  44. 44. Developer Experience (DX) of a Cell
  45. 45. Creating Cells Brand new Cell Existing (micro)services Update an existing Cell Create a new version
  46. 46. Lifecycle of a Cell
  47. 47. picture credit:
  48. 48. Structured Agility Versioned Components Versioned Cells Dependency managed Autowired Reusable Enhanced MSA & CNA
  49. 49. Cell-based Enterprise Architecture
  50. 50. 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
  51. 51. Reference Implementation L0
  52. 52. Reference Implementation L1
  53. 53. Human-centric Architecture picture credit:
  54. 54. Cells and Podular (cellular) Organizations
  55. 55. Measure the success picture credit:
  56. 56. Mean Time to Repair
  57. 57. Self-contained Deployable as a unit Independently elastic Data, control & management plane Summary: Cell-based Architecture
  58. 58. Contribution: walk the talk picture credit:
  59. 59. picture credit: Invitation to consume and contribute
  60. 60. INTEGRATION SUMMIT 2019 THANK YOU @asankama asankaa AT