Anzeige

Evolutionary evnt-driven-architecture-for-accelerated-digital-transformation

Executive IT Architect, IBM um IBM
22. Jul 2021
Anzeige

Más contenido relacionado

Presentaciones para ti(20)

Similar a Evolutionary evnt-driven-architecture-for-accelerated-digital-transformation(20)

Anzeige

Evolutionary evnt-driven-architecture-for-accelerated-digital-transformation

  1. Evolutionary Event-Driven Architecture for Accelerated Digital Transformation Slobodan Sipcic, Ph.D. Enterprise IT Architect Presented at: Monthly IBM GBS Architecture Forum July 8, 2021 1 July 8, 2021
  2. The presentation introduces an innovative approach for accelerated development and deployment of a wide range of agile Services and Data Digital Transformation Solutions that scale. The platform is based on modern 4-tier evolutionary event-driven architectural style including cloud, containers, microservices, events, streaming, and sync & async processing. The approach is instantiated as a reusable asset “Enterprise Digital Transformation Platform”. The platform is featured at Think 2019 and The Open Group Agile Architecture meetings and created considerably interest. It is currently deployed in TFS and TMC Japan and in the process of evaluation by TMNA, Salesforce, and Albertsons. July 8, 2021 2 Abstract
  3. Table of Contents • What are We Trying to Solve? Digital Transformation Domain: Business Drivers and Challenges • What Architectural Concepts Can Help Us Address Challenges • Putting Architectural Concepts to Work: How Platform Computing and EDTP Address Challenges • EDTP Digital Transformation Accelerators: o Full Stack Deployment Automation o Microservice Templating • Toyota Financial Services Use Cases • Request a Demo 3 July 8, 2021
  4. What are We Trying to Solve? Digital Transformation Domain: Business Drivers & Challenge 4 July 8, 2021
  5. Drivers for Digital Transformation Businesses may take on Digital Transformation for several reasons. But by far, the most likely reason is that they must: It is a survival issue. A business’ ability to adapt quickly to disruptions from incumbents and startups, to time to market pressures, and to rapidly changing customer expectations has become critical. It is all about evolutions and changes. 5 July 8, 2021
  6. Digital Transformation Challenges Data and integration challenges hindering businesses’ ability to transform include: 1. Data Quality and Consistency, 2. Coupling on Data & BL levels, 3. Point-to-Point Integration n- square problem, 4. Point-to-Point with imbedded transformations, 5. Multiple runtime environments. 6 July 8, 2021
  7. Digital Transformation Platform’s North Star Attributes • Decoupling • Adaptability: Service Layer Data Layer Integration Layer • Agility • Elasticity • Experimenting • Fast-failing 7 July 8, 2021
  8. What Architectural Concepts Can Help Us Address Challenges 8 July 8, 2021
  9. • Evolutionary Architecture: An evolutionary architecture designs for incremental change in an architecture as a first principle. Evolutionary architectures are appealing because change has historically been difficult to anticipate and expensive to retrofit. If evolutionary change is built into the architecture, change becomes easier and cheaper, allowing changes to development practices, release practices, and overall agility. Changes: Business Changes; Technology Changes Dimensions: Auditability; Performance; Security; Data; Legality; Scalability; Elasticity • Event Driven Architecture: An event-driven architecture is a software architecture and model for application design. With an event-driven system, the capture, communication, processing, and persistence of events are the core structure of the solution — events-first principle. The event-first approach facilitates Decoupling, Encapsulation, and Evolutionary Change. Event: An event can be defined as "a significant change in state". Note: Evolutionary architecture is a natural benefit from event-first thinking and event-driven architectures. • Design Patterns: Design patterns establish repeatable solutions to common design problems which helps keep code maintainable, extensible, and loosely coupled. Some patterns discussed in this presentation include Synchronous Pattern, Asynchronous Pattern, Asynchronous Pattern with Retries, Event Notification, Event-Carried State Transfer, Event- Sourcing, CQRS, Saga, and many more. 9 July 8, 2021 Defining Relevant Architectural Concepts
  10. • Domain-Driven Design: DDD is about designing software based on models of the underlying domain. It is hard to build a single unified model of large complex domains. DDD deals with large models by providing decomposition categories including: Domains: A domain defines a problem area for which the software is going to provide solutions. Subdomains: DDD recommends splitting a domain up into smaller parts called subdomains for easier identification. Bounded Context: A bounded context delimits the applicability of a specific model. • Microservices Architecture: A microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. One of the biggest challenges of microservices design is to define the boundaries of individual services. The principles of DDD can assist microservice design through decomposition of a domain to subdomains and bounded contexts and using that information to define and design microservices. Typically, each microservice operates in its own bounded context. • Four-Tier Engagement Platform: A four-tier engagement platform is engineered for performance, device-tailored experiences, and for integration of both internal services and external services and APIs. The platform is broken into device, delivery, aggregation, and services layers. 10 July 8, 2021 Defining Relevant Architectural Concepts
  11. Putting Architectural Concepts to Work: How Platform Computing and EDTP Address Challenges 11 July 8, 2021
  12. Enterprise Digital Transformation Platform To address the challenges, we developed EDTP for accelerated development and deployment of a wide range of agile Services and Data Digital Transformation Solutions (DTS) that scale. EDTP is a Four-Tier Engagement Platform designed based on: • Evolutionary Architecture principles, • Event Driven Architecture principles, • Streaming Architectures, • Use of design patterns, • Microservices architectural style, • Cloud & Containers. 12 July 8, 2021
  13. EDTP Layered Architecture EDTP is built on top of core technologies including Docker Kubernetes and OpenShift: • Docker provides container services, • Kubernetes run and scale containers for production, • OpenShift provides developers with the features to manage their DevOps, • EDTP builds on top of it to deliver full-stack automation and accelerators for delivery of DTS. 13 July 8, 2021
  14. EDTP Layered Distributed Architecture EDTP consists of small decoupled services that work together to deliver its functionality. It runs on top of OpenShift and Kubernetes clusters. The services are broken down by function: • EDTP Technology Components and Services are deployed in Containers – which are virtual boundaries of compute and memory resources assigned to the components. Docker images are used to spin up containers. • OpenShift leverages the Kubernetes concept of a POD, which is one or more Containers deployed together on one Worker Node. • A Kubernetes Service serves as an internal load balancer. It exposes an application running on a set of PODs as a network service. • An OpenShift Route exposes a Service by giving it an externally reachable hostname. • Master Nodes manage the OpenShift cluster. 14 July 8, 2021
  15. EDTP Reference Architecture 15 July 8, 2021 If we consider EDTP as a Four-Tier Engagement Platform, then conceptually we can identify three types of interoperating services: • Core Services – Infrastructure (AWS), Docker, Kubernetes, and OpenShift. • Technology Components – Access & Delivery (NiFi), API Gateway (Ambassador), Storage (S3 & MongoDB), Streaming (Kafka, Kafka Streams, Schema Registry), Observability (Elastic), and Service Mesh (Istio). • EDTP Streaming Data Processing Services – Ingress, Harmonization, Materialization, and Connector. • EDTP API Aggregation and Processing services. EDTP is architected as an Event Processing Digital Platform around which all Businesses’ current and future data sources, consumers, services, and processes interact. It consists of EDTP Services Layer and EDTP Data Layer.
  16. EDTP Realization - Digital Transformation Accelerators: - Full Stack Deployment Automation - Microservice Templating 16 July 8, 2021
  17. EDTP Fully Stack Automated Deployment on AWS • IaC pipeline (Terraform). • Technology Components pipeline (Jenkins):  Ambassador,  Nifi,  Kafka, Kafka Streams, and Schema Registry,  MongoDB,  ELK,  … • Services pipeline (Jenkins):  Harmonization,  Materialization,  Registration & Templates,  Ingress & Egress,  Connectors,  … 17 July 8, 2021
  18. EDTP Microservices Templating A Template Developer : • Defines Generic Schema that might include information such as Tenant ID, Version No., Correlation ID, and section for API Data. • For a given Pattern designs and develops Service Class that incorporates implementation of all cross-cutting concerns such as externalized configuration, logging, health checks, metrics, service registration and discovery, circuit breakers, distributed tracing. • Create Service Constructor API which Service Developers can use to instantiate service instances of that class. 18 July 8, 2021 EDTP’s patent pending approach for accelerated development of Microservices is based on Object-Oriented Programming paradigm where a Microservice is an instance of a Microservice Class. Each Microservice Class has a Constructor that is exposed as an API that can be invoked to create an instance of Microservice from the Class. Templating idea is especially powerful when combined with an idea of using Patterns to define Service Classes.
  19. EDTP Microservices Instantiation from Template 1. Developer invokes the Constructor API, 2. Constructor clones the Service Class Code, 3. Constructor deploys the Service Instance into Kubernetes runtime environment. 4. The result of the Constructor’s process is deployed Service Instance exposed via Rest API with generic Service Class business logic. 5. Finally, the developer implements business logic specific to his Use Case. 19 July 8, 2021 The process of instantiating a Service Instance from the Service Class includes the following steps:
  20. EDTP Provides Templates for many Patterns 20 Synchronous Pattern Asynchronous Pattern Asynchronous Pattern with Retries The slide depicts Synchronous Pattern, Asynchronous Pattern, and Asynchronous Pattern with Retries. Other patterns include Event Notification, Event-Carried State Transfer, Event-Sourcing, CQRS, and many more. July 8, 2021
  21. EDTP novel approach offers manifold of benefits including: • It offers structured process for development and governance of Microservices, • It ensures that the cross-cutting concerns are implemented in standardized and consistent ways, • It ensures that the security related cross-cutting concerns are implemented in the standardized and consistent way, • Developers can quickly and easily get started with developing Microservices, • Developers can focus on development of Use Case implementation logic rather than on setting up Service and related cross-cutting concerns. 21 EDTP Microservices Templating Benefits July 8, 2021
  22. Toyota Financial Services Use Cases 22 July 8, 2021
  23. 10/29/20 23 • NiFI Ingress Service (Async): 1) Receives Batch Files, 2) Persists the Raw Data in S3, 3) Stream the file records to Kafka Harmonization Topic. • Harmonization Service (Async): 4) Picks the records of the Topic. Harmonizes data to a single point of truth and persist the harmonized data in MongoDB Collections, 5) Streams data to Kafka Materialization Topic. • Materialization Service (Async): 6) Picks the data of the Topic. Transforms the data in a format appropriate for consumption by the consumers. Persists the data in MongoDB.  Delivery Service (Async with Retries): 7) Delivers materialized data to the consumers. 1 2 3 4 5 6 7 Batch Processing EDTP is a stream processing platform capable of efficient processing of real-time and batch data.
  24. 24 1 2 3 4 5 6 EDTP Enabled Mainframe Modernization EDTP deploys and integrates technologies that foster TFS’s digital transformation. This use case illustrates bringing Mainframe into the TFS API ecosystem. Due Date Change Use Case: 1) CSR Requests DDC (Sync). 2) Controller Service receives the request, puts it on Kafka Topic (guaranteed delivery) and sends the ACK response, 3) DDC Service picks up the request for processing, 4) DDC Service is an aggregate of six APIs exposed by z/OS Connect, 5) DDC Services invokes the APIs and executes relevant business logic, 6) Once done, DDC Services invokes Responder Service to deliver the response to CEP. July 8, 2021
  25. Request A Demo The following EDTP unique features can be demonstrate to Clients: 1. Automated Deployment of EDTP in Client’s AWS environment including: a. Infrastructure, b. Technology Components, c. Services. 2. EDTP Data and Integration Capabilities including: a. Ingestion of streaming and batch data, b. Harmonization and Materialization of the streaming data, c. Integration based on the EDTP Connector Services – such integration with Snowflake, d. Service templating for accelerated deployment of enterprise services. 3. EDTP Support for Pattern Based Service Development including: a. Event Notification, b. Event-Carried State Transfer, c. Event-Sourcing, d. CQRS, e. Asynchronous Processing, f. Service Retries Processing, g. and many more… 25 July 8, 2021
Anzeige