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/

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend