cell based architecture
play

Cell-based Architecture An Emerging Architecture Pattern for Agile - PowerPoint PPT Presentation

Cell-based Architecture An Emerging Architecture Pattern for Agile Integration Asanka Abeysinghe Deputy CTO & VP, Architecture - CTO Office WSO2 Inc. OLE, OLE2 Open Source COM, COM+ DCOM Co Co CORBA Programmer VP Solutions


  1. Cell-based Architecture An Emerging Architecture Pattern for Agile Integration Asanka Abeysinghe Deputy CTO & VP, Architecture - CTO Office WSO2 Inc.

  2. OLE, OLE2 Open Source COM, COM+ DCOM Co Co CORBA Programmer VP Solutions Architect COBOL Architecture Eventing Global architecture team FIX 500+ customers HL7 Age-16 Champions program 1997 2003 2012 Game hacker C++ programmer CONNECT-health 2001 2008 2018 2019 286-DX4 Java Developer Director Deputy CTO QSP J2EE Solutions AR Ref. Architecture MMS Trusted advocate Ref. Methodology Architecture Evangelize Entrepreneur Chief Hedge fund tools Architect 2005 Distributed Computing Middleware Developer/Architect

  3. Objectives #1 why: created a new pattern #2 introduce: Cell-based architecture

  4. picture credit : https://www.flickr.com/

  5. Motivation

  6. Centralized & Layered picture credit : https://www.flickr.com/photos/kaktuslampa/

  7. Centralized & Layered picture credit : https://www.flickr.com/photos/kaktuslampa/

  8. Powerpoint Architects picture credit : https://www.flickr.com/photos/69929929@N06/

  9. Reality of the Enterprise picture credit : https://www.flickr.com/photos/johnerlandsen/

  10. Brownfield > Greenfield Legacy, monolithic Microservices, sprawl picture credit : https://www.apstra.com/home/landscape-of-meadow-field-with-the-changing-environment-2/

  11. Reference Implementations picture credit : https://www.marinersmuseum.org/

  12. Underutilization of the Technology picture credit : http://unlocked.footlocker.com/

  13. Gap: architecture | development | deployment picture credit : https://www.flickr.com/photos/28994379@N02/

  14. Dependency management picture credit : https://www.solarpowerworldonline.com/2017/07/georgia-contractor-sells-farmers-solar-tough-market/

  15. Dependency management picture credit : https://www.solarpowerworldonline.com/2017/07/georgia-contractor-sells-farmers-solar-tough-market/

  16. Architecture Patterns picture credit : https://www.flickr.com/photos/tiocfaidh_ar_la_1916/

  17. Timeline

  18. Background: Layered Architecture

  19. 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 picture credit : https://www.flickr.com/photos/23119666@N03/

  20. Rise of Microservices picture credit : https://www.flickr.com/photos/imcountingufoz/

  21. Pragmatic Microservices Netflix: APIs Uber: Edge Gateway eBay: API Facade Gartner: Mini Services

  22. Background: Layered Architecture with MSA

  23. Background: Segmented Architecture G-1 G-2 BS-1 BS-2 BS-n US-1 US-n

  24. Platform of Platforms Platform (shared capabilities) Platform (shared capabilities) Project 2 Project 3 Project 2 Project 3 Project 1 Project n Project 1 Project n Platform (shared capabilities) Platform (shared capabilities) Project 2 Project 3 Project 2 Project 3 Project n Project n Project 1 Project 1 User CI/CD Store

  25. picture credit : https://www.flickr.com/photos/ableman/

  26. Making of…… picture credit : https://commons.wikimedia.org/wiki/User:Frank_Schulenburg CC BY 3.0

  27. picture credit : https://clutchpoints.com/phil-jackson-talks-about-the-kobe-bryant-michael-jordan-comparison/

  28. Paul Fremantle - CTO, Co-Founder - WSO2

  29. Building the Concept

  30. Business vs technical services picture credit : https://www.flickr.com/photos/arpadlukacs/

  31. Service: Technical definition A code exposes through an interface that describes a collection of operations that are network accessible using a standardized messaging protocol.

  32. Service: Business definition Software components that can be spontaneously discovered, combined , and recombined to provide a solution to a business problem .

  33. 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 .

  34. 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 .

  35. Group of (Micro)services

  36. The cell is the basic structural, functional, and biological unit of all known living organisms

  37. Cell-based Reference Architecture

  38. 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.

  39. 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.

  40. Cell:Component 1:M 1:1

  41. Connected Cells picture credit : https://www.medicalnewstoday.com/

  42. Management Plane: - Configure - Observeabiltty, Monitor Data Plane: - Forwards traffic between hops - Takes data packets Control Plane: - Signaling of the network - Makes decisions about the traffic flow picture credit : https://www.flickr.com/photos/teflon/

  43. Inter and Intra Cell communication DP- data plane CP- control plane MP- management plane

  44. Inter and Intra Cell communication DP- data plane CP- control plane MP- management plane Local-mesh Global-mesh

  45. Connected Cells Cell gateway (ingress) Sidecar (egress) Adaptor (egress) Ambassador (egress)

  46. API-centric Architecture picture credit : https://www.flickr.com/photos/hugh_nelson/

  47. API-centric Architecture

  48. API-centric Architecture Pull APIs - RESTful HTTP, gRPC Push APIs - Events JMS, AMQP, SMTP - Streams Kafka, MQTT

  49. Gateway Pattern picture credit : https://www.flickr.com/photos/ell-r-brown/

  50. Automated Governance (Re)-enables Flow Automated governance is made of three things: Policy 
 Enforcement A source of truth: (GW) Policy store/registry Observability Enforcement of the policy (Monitoring/ 
 Analytics) Gateway or plugin attempting to keep the desired state Policy Store (Registry) Observability How close to the desired state are we?

  51. Security of Cells picture credit : https://www.flickr.com/photos/laurelfan/ https://www.flickr.com/photos/sahdblunders/

  52. Security of Cells

  53. Developer Experience (DX) of a Cell

  54. Creating Cells Brand new Cell Existing (micro)services Update an existing Cell Create a new version

  55. Lifecycle of a Cell

  56. picture credit : https://www.flickr.com/photos/rincon_de_lula/

  57. Structured Agility Versioned Components Versioned Cells Dependency managed Autowired Reusable Enhanced MSA & CNA

  58. Cell-based Enterprise Architecture

  59. 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

  60. Reference Implementation L0

  61. Reference Implementation L1

  62. Human-centric Architecture picture credit : https://www.vertoanalytics.com/human-vs-data-centric-marketing/

  63. Cells and Podular Organizations

  64. Cell Boundaries picture credit : https://www.flickr.com/photos/woordenaar/

  65. Defining Cell boundaries The design of systems has always required an approach to the clustering of functionality, and it remains an open Computer Science problem - so don't expect a definitive answer! The number of component-component connections within a cell should be higher than the number that crosses the cell boundary. Other approaches such as Domain-driven Design (DDD) may help, but fundamentally the cell model is there to provide team boundaries. Hence the size of a cell should be based on the size, responsibility, and output of a team - and the size and output of a team based on team concepts. Cell-based architecture aims to create business focussed architectural constructs that can reuse at a higher level, so naturally organizing the teams and cells around business functions is essential.

  66. Measure the success picture credit : https://www.marketingdonut.co.uk/direct-marketing/running-a-direct-mail-campaign/getting-the-measure-of-your-marketing

  67. Mean Time to Repair https://www.tasktop.com/blog/5-best-metrics-youve-never-met/ https://dzone.com/articles/reducing-mttr

  68. Summary: Cell-based Architecture Self-contained Deployable as a unit Independently elastic Data, control & management plane

  69. My Contribution: walk the talk picture credit : https://www.omgubuntu.co.uk/2018/06/microsoft-buying-github

  70. Just a (steady) start https://github.com/wso2/reference-architecture picture credit : https://www.flickr.com/photos/josephmorris/

Recommend


More recommend