From Monolith to Micro-Services An Architectural Strategy Software - - PowerPoint PPT Presentation

from monolith to micro services
SMART_READER_LITE
LIVE PREVIEW

From Monolith to Micro-Services An Architectural Strategy Software - - PowerPoint PPT Presentation

From Monolith to Micro-Services An Architectural Strategy Software Intelligence for Digital Leaders www.castsoftware.com Goal of this Workshop Present approaches and techniques used on various architectures to support the transformation of


slide-1
SLIDE 1

Software Intelligence for Digital Leaders

www.castsoftware.com

From Monolith to Micro-Services

An Architectural Strategy

slide-2
SLIDE 2

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Goal of this Workshop

▪ Present approaches and techniques used on various architectures to support the transformation of a monolithic application into a microservices application. ▪ The importance of tracking the changes of the transformation and balancing the loss of performance or stability with the introduction of new layers.

2

slide-3
SLIDE 3

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Digital technologies are changing the face of business

Businesses expect IT to ADAPT to evolving market needs, Leverage robust and secure technology solutions and build with optimal development and maintenance cost structure.

Optimize Productivity & Cost Adapt to Market Needs

Innovate with Quality & Security

3

slide-4
SLIDE 4

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Immediate Decisions to Stay Relevant

Successful leaders have strategized, designed and executed modernization plans that would prepare their organizations to compete and excel

In-house vs. 3rd Party Application Consolidation & Retirement Application Rewrite & Redesign Modern Engineering & Process Automation Cloud Migration & Hybrid Integration

4

slide-5
SLIDE 5

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Common Obstacles in Modernization

3

Fail to Define a Clear Blueprint

Lack of analytics driven guidance

Many organizations commit heavy investment in process and technology transformation

Modernization Success Rate

Success Partial Success

Yet, more than 50% found their initiatives did not meet expectations and experienced cost overrun

Insufficient Knowledge

  • f AS-IS

5

slide-6
SLIDE 6

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Modernization Journey

AS-IS Architecture (Discovery)

TO-BE Architecture (Design)

Portfolio Assessment

Implementation (Engineering)

Portfolio Management (Trends/Progress)

6

slide-7
SLIDE 7

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Being more Agile but…

Application

Complexity Agility Volume Test and integration

✓Independent deployments and development ✓Team agility ✓Mixed technology stacks ✓Granular scaling

  • Continuous deployment is difficult
  • Application can be difficult to

understand and modify

  • Requires a long-term commitment to

a technology stack

  • Obstacle to scaling development

7

slide-8
SLIDE 8

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Where to Start

Software Resiliency

Business Impact

Retire Re-host Renew Enhance Rewrite Replace

No business value Poor Technical Capabilities Business value Expensive to Maintain High Business value Technical Efficiency Reqd Business Need Exists Technology Insufficient

▪ Is that app the most vulnerable? ▪ Which app do I work on next? ▪ Evaluate cost/benefit trade-off ▪ Create modernization plan - plain and simple ▪ Which app to modernize first? ▪ Business critical, data sensitive or troubled one? ▪ Efficiently scan the application portfolio ▪ Prioritize by difficulty and effort

8

slide-9
SLIDE 9

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Take an MRI of the As-Is Architecture

Data Layer Logic Layer UI Layer

▪ Manual investigation of IT assets and code base is resource intensive and ineffective ▪ Many lack capability to understand how data and system function as a whole

JSP XML Java SQL JSP XML Java SQL Data Layer Logic Layer UI Layer

▪ Make system architectural blueprint visible ▪ Map data flow across system components ▪ Identify application vulnerabilities and other unknowns As-Is Architecture: Understand what should change

9

slide-10
SLIDE 10

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Review the As-Is Architecture

10

slide-11
SLIDE 11

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Review the As-Is Architecture

  • 1. Map out components

and dependencies based on calls in the code

  • 2. See the complexity

and dependencies BEFORE you begin modification

  • 3. Plan, budget and

allocate resources correctly and appropriately

  • 4. Mitigate or avoid

unexpected overruns due to unknown dependencies

11

slide-12
SLIDE 12

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Two Sides to Modernize a System

By layers (East - West) By transaction (North - South)

12

slide-13
SLIDE 13

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

How to Solve

C

Maintain Design Compliance and Accelerate to More Business- Responsive Architecture Use Metrics to Track Risks during Transformation Journey

B

Clearly define and communicate new Architecture/Design

A A

Split the application architecture model by technology, frameworks, functionality

B

Identification of actual dependency between technologies

C

Review the exposed interfaces

D

Fix violations on non compliance

  • f use of interfaces

E Define a more granular exposed interfaces, externalize a specific piece of the application or move to the next phase

13

slide-14
SLIDE 14

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Don’t Forget it is a Journey (step-by-step)

14

slide-15
SLIDE 15

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Revamp your Application

Application

15

slide-16
SLIDE 16

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Split Frontend and Backend

Spring MVC Spring Fwk AngularJS NodeJS

Application Application

16

slide-17
SLIDE 17

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Extract Services

Application

17

slide-18
SLIDE 18

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Beyond APIs

Application

18

▪ HTTP/HTTPS Support ▪ Limited bandwidth and resources; REST and JSON are easy to develop. REST approach uses the standard GET, PUT, POST, and DELETE verbs. ▪ Totally stateless operations; if you need stateless CRUD operations, then REST is the solution. ▪ Caching situations; if the information can be cached because of the totally stateless operation of the REST approach, this is perfect.

REST SOAP

▪ Extensibility ▪ “Generic” transport not limited to HTTP ▪ Asynchronous processing and invocation; If your application needs to be continued after the first interaction with the API and/or if your application needs a guaranteed level of reliability and security then SOAP offers additional standards to ensure this type of operation. ▪ Formal contracts; if you have to define your own exchange format ▪ Stateful operations; if the application needs contextual information and conversational state management then SOAP

slide-19
SLIDE 19

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Orchestration or Reactive (aka Event-Driven)

▪ Orchestration, there is typically one controller that acts as the “orchestrator” of the overall service interactions. ▪ Microservices should minimize synchronous invocations (for example, through REST) for intra-microservices communications to ensure the best possible isolation and atomicity. ▪ Reactive programming focuses on building decoupled scalable and resilient services. Focus on asynchronously and parallel use of sub microservices. ▪ Reactive programming removes the blocking, or waiting. ▪ Publish/subscribe system is usually performed by using an implementation of an event bus. ▪ Recommended of an Hybrid Model; mix of synchronous and asynchronous processing.

19

slide-20
SLIDE 20

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Identify Which Process can be Desynchronized

▪ There are no direct connections between programs. ▪ Communication between programs can be independent of time. ▪ Recovery support. ▪ Communication can be driven by events. ▪ Applications can assign a priority to a message. ▪ Security and Data integrity (unit of work to be committed or rolled back). ▪ Work can be carried out by small, self-contained programs.

20

slide-21
SLIDE 21

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Size Practical Concerns

Modularization - Replaceability Data Consistency

Consistency of data and transactions can

  • nly be ensured within a micro-service.

Functionalities within a micro-service should be used by more than one other module. Micro-service should be easy to understand in term of service contract (input and output).

Infrastructure

Micro-service use increase the infrastructure consumption. Creation

  • f more layer should support more

agility or more functionality.

A B C D E

21

Team Size

Micro-service should be maintain and enhance by a small team, and lead his own roadmap.

Bounded Context

Micro-service should support a specific functionality, this should be the prime trigger.

slide-22
SLIDE 22

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

22

Quality Practical Concerns

System Unit Micro-Services

import java.applet.*; import java.awt.*; public class SecondApplet extends Applet { static final String message = "Hello World"; private Font ; // One-time initialization for the applet public void init() { font = new Font("Helvetica", Font.BOLD, 48); } // Draw the applet whenever necessary. Do some fancy graphics. public void paint(Graphics g) { // The pink oval g.setColor(Color.pink); g.fillOval(10, 10, 330, 100); // The red outline. java doesn't support wide lines, so we

Ease of detection Critical Failures risk Ease of detection Critical Failures risk Ease of detection Critical Failures risk

  • Code at developer level
  • Single technology layer
  • Micro-service level
  • Entire application
  • Interaction and orchestration between

application components and micro-services

  • Code syntax
  • Code style & layout
  • Code hygiene
  • Code documentation
  • Common standards
  • Component quality and structure
  • Some security vulnerabilities
  • Best coding practices
  • Transaction integrity
  • Risk propagation
  • Entire application security
  • Inter-layer resiliency
  • Data access control
  • Architectural cohesion

The use of many small, granular services can result in more inter-service communication.

slide-23
SLIDE 23

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Digital Leaders

www.castsoftware.com

Software Intelligence for Architect

AS-IS Architecture (Discovery)

TO-BE Architecture (Design)

Portfolio Assessment

Implementation (Engineering)

Portfolio Management (Trends/Progress)

23

slide-24
SLIDE 24

Software Intelligence for Digital Leaders

www.castsoftware.com

Thank You Visit CAST at Booth #107

  • n the show floor

Philippe Guerin – Chris White p.guerin@castsoftware.com – c.white@castsoftware.com