Upgrade to Pro — share decks privately, control downloads, hide ads and more …

An Emerging Architecture Pattern for Agile Inte...

An Emerging Architecture Pattern for Agile Integration: Cell-based Architecture

A cell-based architecture is a composable unit of architecture that is self-contained. The cell is independently scalable. It’s independently deployable. It’s independently governed. It is part of an ecosystem of cells. A cell-based architecture is a common pattern that any enterprise can connect architecture, implementation, and deployment by making autonomous development teams, self-directed, that own their own technology, completely independent of others.

Asanka Abeysinghe

February 05, 2019
Tweet

More Decks by Asanka Abeysinghe

Other Decks in Technology

Transcript

  1. INTEGRATION SUMMIT 2019 Emerging Architecture Patterns API-centric & Cell-based INTEGRATION

    Asanka Abeysinghe Deputy CTO & VP, Architecture - CTO Office
  2. 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
  3. Platform of Platforms Platform (shared capabilities) Project 1 Project 2

    Project 3 Project n Platform (shared capabilities) Project 1 Project 2 Project 3 Project n Platform (shared capabilities) Project 1 Project 2 Project 3 Project n Platform (shared capabilities) Project 1 Project 2 Project 3 Project n CI/CD User Store
  4. 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
  5. Service: Technical definition A code exposes through an interface that

    describes a collection of operations that are network accessible using a standardized messaging protocol.
  6. Service: Business definition Software components that can be spontaneously discovered,

    combined, and recombined to provide a solution to a business problem.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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
  13. API-centric Architecture Pull APIs - RESTful HTTP, gRPC Push APIs

    - Events JMS, AMQP, SMTP - Streams Kafka, MQTT
  14. 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?
  15. 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
  16. Self-contained Deployable as a unit Independently elastic Data, control &

    management plane Summary: Cell-based Architecture
  17. INTEGRATION SUMMIT 2019 “Organizations which design systems … are constrained

    to produce designs which are copies of the communication structures of these organizations.” - M. Conway