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. Powerpoint Architects picture credit : https://www.flickr.com/photos/69929929@N06/

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

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

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

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

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

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

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

  15. Timeline

  16. Background: Layered Architecture

  17. 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/

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

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

  20. Background: Layered Architecture with MSA

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

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

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

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

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

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

  27. Building the Concept

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

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

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

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

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

  33. Group of (Micro)services

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

  35. Cell-based Reference Architecture

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

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

  38. Cell:Component 1:M 1:1

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

  40. 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/

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

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

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

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

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

  46. 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?

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

  48. Security of Cells

  49. Developer Experience (DX) of a Cell

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

  51. Lifecycle of a Cell

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

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

  54. Cell-based Enterprise Architecture

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

  56. Reference Implementation L0

  57. Reference Implementation L1

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

  59. Cells and Podular Organizations

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

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

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

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

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

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

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

  67. Reference Methodology https://github.com/wso2/reference-methodology picture credit : https://www.flickr.com/photos/vasile23/

  68. Build, run, and manage code-first composites on Kubernetes https://cellery.io/

  69. Cellery - simple composition and graphical view

Recommend


More recommend