O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

A Decentralized Reference Architecture for Cloud-native Applications

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio

Confira estes a seguir

1 de 75 Anúncio

A Decentralized Reference Architecture for Cloud-native Applications

Baixar para ler offline

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 and be self-organized.

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 and be self-organized.

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (18)

Semelhante a A Decentralized Reference Architecture for Cloud-native Applications (20)

Anúncio

Mais de Asanka Abeysinghe (16)

Mais recentes (20)

Anúncio

A Decentralized Reference Architecture for Cloud-native Applications

  1. 1. Asanka Abeysinghe Cell-based Architecture Decentralized Architecture Pattern for Cloud-native Applications Deputy CTO & VP of Architecture - CTO Office WSO2 Inc.
  2. 2. Objectives #1 why: a new pattern #2 how: created the pattern #3 what: is Cell-based architecture
  3. 3. Motivation
  4. 4. Centralized & Layered picture credit: https://www.flickr.com/photos/kaktuslampa/
  5. 5. picture credit: https://www.flickr.com/photos/69929929@N06/ Powerpoint Architects
  6. 6. picture credit: https://www.flickr.com/photos/johnerlandsen/ Reality of the Enterprise
  7. 7. Brownfield > Greenfield picture credit: https://www.apstra.com/home/landscape-of-meadow-field-with-the-changing-environment-2/ Legacy, monolithic Microservices, sprawl
  8. 8. Reference Implementations picture credit: https://www.marinersmuseum.org/
  9. 9. picture credit: http://unlocked.footlocker.com/ Underutilization of the Technology
  10. 10. Gap: architecture | development | deployment picture credit: https://www.flickr.com/photos/28994379@N02/
  11. 11. picture credit: https://www.solarpowerworldonline.com/2017/07/georgia-contractor-sells-farmers-solar-tough-market/ Dependency management
  12. 12. picture credit: https://www.flickr.com/photos/tiocfaidh_ar_la_1916/ Architecture Patterns
  13. 13. Timeline
  14. 14. Background: Layered Architecture
  15. 15. 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
  16. 16. picture credit: https://www.flickr.com/photos/imcountingufoz/ Rise of Microservices
  17. 17. Pragmatic Microservices Netflix: APIs Uber: Edge Gateway eBay: API Facade Gartner: Mini Services
  18. 18. Background: Layered Architecture with MSA
  19. 19. Background: Segmented Architecture BS-1 BS-2 BS-n G-1 G-2 US-1 US-n
  20. 20. Platform of Platforms Platform (shared capabilities) Project1 Project2 Project3 Projectn Platform (shared capabilities) Project1 Project2 Project3 Projectn Platform (shared capabilities) Project1 Project2 Project3 Projectn Platform (shared capabilities) Project1 Project2 Project3 Projectn CI/CD User Store
  21. 21. picture credit: https://www.flickr.com/photos/ableman/
  22. 22. Making of…… picture credit: https://commons.wikimedia.org/wiki/User:Frank_Schulenburg CC BY 3.0
  23. 23. Building the Concept
  24. 24. Business vs technical services picture credit: https://www.flickr.com/photos/arpadlukacs/
  25. 25. Service: Technical definition A code exposes through an interface that describes a collection of operations that are network accessible using a standardized messaging protocol.
  26. 26. Service: Business definition Software components that can be spontaneously discovered, combined, and recombined to provide a solution to a business problem.
  27. 27. 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.
  28. 28. 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.
  29. 29. Group of (Micro)services
  30. 30. The cell is the basic structural, functional, and biological unit of all known living organisms
  31. 31. Cell-based Architecture
  32. 32. 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.
  33. 33. 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.
  34. 34. Cell:Component 1:M 1:1
  35. 35. Connected Cells picture credit: https://www.medicalnewstoday.com/
  36. 36. 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
  37. 37. Inter and Intra Cell communication Local-mesh Global-mesh DP- data plane CP- control plane MP- management plane
  38. 38. Connected Cells Cell gateway (ingress) Sidecar (egress) Adaptor (egress) Ambassador (egress)
  39. 39. API-first Architecture picture credit: https://www.flickr.com/photos/hugh_nelson/
  40. 40. API-first Architecture Pull APIs - RESTful HTTP, gRPC Push APIs - Events JMS, AMQP, SMTP - Streams Kafka, MQTT
  41. 41. Gateway Pattern picture credit: https://www.flickr.com/photos/ell-r-brown/
  42. 42. 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?
  43. 43. Security of Cells
  44. 44. Developer Experience (DX) of a Cell
  45. 45. Creating Cells Brand new Cell Existing (micro)services Update an existing Cell Create a new version
  46. 46. Lifecycle of a Cell
  47. 47. picture credit: https://www.flickr.com/photos/rincon_de_lula/
  48. 48. Structured Agility Versioned Components Versioned Cells Dependency managed Autowired Reusable Enhanced MSA & CNA
  49. 49. Cell-based Enterprise Architecture
  50. 50. 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
  51. 51. Reference Implementation L0
  52. 52. Reference Implementation L1
  53. 53. Human-centric Architecture picture credit: https://www.vertoanalytics.com/human-vs-data-centric-marketing/
  54. 54. Cells and Podular (cellular) Organizations
  55. 55. Measure the success picture credit: https://www.marketingdonut.co.uk/direct-marketing/running-a-direct-mail-campaign/getting-the-measure-of-your-marketing
  56. 56. https://www.tasktop.com/blog/5-best-metrics-youve-never-met/ https://dzone.com/articles/reducing-mttr Mean Time to Repair
  57. 57. Self-contained Deployable as a unit Independently elastic Local data & control plane Summary: Cell
  58. 58. Decentralized, MSA, Cloud-native Technology neutral Human-centric APIs as products Summary: Cell-based Architecture
  59. 59. Contribution: walk the talk picture credit: https://www.omgubuntu.co.uk/2018/06/microsoft-buying-github
  60. 60. picture credit: https://www.flickr.com/photos/josephmorris/ Just a (steady) start https://github.com/wso2/reference-architecture
  61. 61. picture credit: https://www.flickr.com/photos/vasile23/ https://github.com/wso2/reference-methodology Reference Methodology
  62. 62. https://cellery.io/ Build, run, and manage code-first composites on Kubernetes
  63. 63. Cellery - simple composition and graphical view
  64. 64. Cellery - 0.4.0 • Stateful cells • Composites (naked cells) ◦ Includes Observability, Composite patch, and Composite advanced deployments with Blue-Green and Canary. • Simpler cell testing (telepresence) and inline tests • Enhanced routing based on incoming headers • Support for ConfigMaps, and Secrets • Performance improvements on Cell startup • Support for Envoy as Cell gateway • Istio upgrade to 1.2.2 • WSO2 SP as mixer adapter to collect
  65. 65. A cloud-native programming language for microservices and APIs - A compiled, transactional, statically and strongly typed programming language with textual and graphical syntaxes. - Incorporates fundamental concepts of distributed system integration - Offers a type safe, concurrent environment to implement microservices with distributed transactions, reliable messaging, stream processing, and workflows - Compiles into container images for deployment on Kubernetes and Docker https://ballerina.io/
  66. 66. Ballerina - code and visual syntax in sync
  67. 67. picture credit: https://www.flickr.com/photos/infomatique/ Invitation to consume and contribute https://github.com/wso2/reference-architecture https://github.com/wso2/reference-methodology https://ballerina.io https://cellery.io
  68. 68. @asankama THANK YOU https://www.linkedin.com/in/asankaabeysinghe/ asankaa AT wso2.com

×