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 up overall release times.
Asanka Abeysinghe offers an overview of a cell-based reference architecture that is API-centric, cloud native, and microservices friendly. You’ll learn the role of APIs in the cell-based approach and examine how real applications are built as cells. Along the way, Asanka explores metrics and approaches that can be used to measure the effectiveness of the architecture and demonstrates how organizations can implement the cell approach.
27. Business vs technical services
picture credit: https://www.flickr.com/photos/arpadlukacs/
28. Service: Technical definition
A code exposes through an
interface that describes a
collection of operations that
are network accessible using
a standardized messaging
protocol.
29. 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.
30. Service: Business definition
Software components that
can be spontaneously
discovered, combined, and
recombined to provide a
solution to a business
problem.
31. 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. 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.
36. 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.
37. 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.
40. 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/
47. 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?
48. Security of Cells
picture credit: https://www.flickr.com/photos/laurelfan/ https://www.flickr.com/photos/sahdblunders/