SlideShare a Scribd company logo
1 of 32
Download to read offline
Why Microservice?
The benefits and challenges of adopting microservice
Kelvin Yeung
Lead Architect
Greater China
CA technologies
2 © 2015 CA. ALL RIGHTS RESERVED.
Agenda
 The trending microservice wave
 A closer look at microservice
 Successful strategies to develop microservice application
3 © 2015 CA. ALL RIGHTS RESERVED.
What is microservice (MS) ?
MS are small, independent processes that
communicate with each other to form complex
applications which utilize language-agnostic
APIs….
These services are small building blocks,
highly decoupled and focused on doing a
small task…. It is becoming the standard for
building continuously deployed systems.
Source : https://en.wikipedia.org/wiki/Microservices
4 © 2015 CA. ALL RIGHTS RESERVED.
Characteristics of MS
• An approach to developing a single application as a suite of small services.
• Each Service represents a business capability as opposed to a technology.
• Each service runs in its own process with lightweight communication
mechanisms.
• Services are independently deployable and scalable.
• Different services can be written in different languages and managed by
different teams.
5 © 2015 CA. ALL RIGHTS RESERVED.
Microservices Business Value
Portal Framework
BPEL Workflow
Engine
Enterprise Service
Bus
Database
Application Server
Search Checkout Payment
Shipping Pricing Inventory
Promotion
Customer
CategoryPhoto
Social Login
Monolithic Microservice Benefit of MSA
• Speed
• Composability
• Replaceability
• Code stack
independence
• Resilience
• Scale
• Cloud ready
6 © 2015 CA. ALL RIGHTS RESERVED.
New challenges from adopting MS:
 Complexity of developing a distributed system.
 Multiple DB & transaction management.
 Complexity of testing a distributed system.
 Complexity of deploying and operating a distributed system.
 Developing and deploying features that span multiple service
requires careful coordination.
7 © 2015 CA. ALL RIGHTS RESERVED.
Agenda
 The trending Microservice wave
 A closer look at microservice
 Successful strategies to develop microservice application
8 © 2015 CA. ALL RIGHTS RESERVED.
What do these successful billion dollar companies
(unicorns) have in common?
Source: http://microservices.io/articles/whoisusingmicroservices.html
9 © 2015 CA. ALL RIGHTS RESERVED.
Netflix moved from Monolithic Architecture to MS,
building a set of infrastructure services, then open-sourced as Netflix OSS.
Source: https://netflix.github.io/
Big Data
Common Libraries
Build & Delivery
These Companies are using and contributing to Netflix OSS Components
Data Persistence
Insight, Reliability,
Performance
Security
User Interface
10 © 2015 CA. ALL RIGHTS RESERVED.
Technique used in Netflix
Development: Languages and Container
Operational: Orchestration and Deployment Infrastructure
Datastores
Tooling Configuration Discovery Routing Observability
Asguard
Aminator
(AMI creator)
Eureka Prana
Demoinator
Zuul
Ribbon
Pytheus SALP
Ephemeral
Progress DB
Astyanax Staash Priam
Manual orchestration with Asgard Deployment on AWS or Eucalyptus
Groovy
Source: http://www.virtu-desk.fr/pages/actualite/les-archives/les-infrastructures-convergees/archives-2015/ces-geants-du-web-qui-passent-au-cloud-2-0.html
11 © 2015 CA. ALL RIGHTS RESERVED.
Netflix MS interdependence
Source: https://github.com/adrianco/spigo
Simplified view Actual Reality
2 billion API call per day!
12 © 2015 CA. ALL RIGHTS RESERVED.
Understanding upstream and downstream dependencies
Source: http://techblog.netflix.com/2015/02/a-microscope-on-microservices.html
13 © 2015 CA. ALL RIGHTS RESERVED.
Agenda
 What do unicorns have in common?
 A closer look at microservice
 Successful strategies to develop microservice application
14 © 2015 CA. ALL RIGHTS RESERVED.
Successful strategies to develop microservice application
1. Alignment
between monolithic
& MS projects
2. MS DevTest
3. MS routing &
transformation
4. Massive independent
deployment
5. MS
Management
15 © 2015 CA. ALL RIGHTS RESERVED.
1. Alignment between monolithic & MS projects
 Capture relevant team work information via RESTful API.
 Possible integration scenario: Resource alignment, Integrated cost
Tracking, Time Sheet Sync; Integrated tracking for
release/iteration/assignment etc.
How to align agile
& hybrid projects
with business
objects?
16 © 2015 CA. ALL RIGHTS RESERVED.
2. Service virtualization enables teams to work
independently
• Different teams responsible for different microservices
• Production application has dynamic interdependencies
• Service virtualization enables teams to work independently
17 © 2015 CA. ALL RIGHTS RESERVED.
2. Service virtualization enables MS testing
independently
Data
Access
Business Logic
Service Interface
Service
Agents
External
Services
Consumer-driven contract testing
Service virtualization can be used so
that services can be tested in isolation
without relying on external services
working correctly at this level.
End-to-end Test
End-to-end testing verifies entire process
flows work correctly, including all service
and database integration. Operations that
touch many services should be most
thoroughly tested earlier with service
virtualization
.
Consumer
SV
SV
18 © 2015 CA. ALL RIGHTS RESERVED.
3. MS routing and transformation
Source: http://microservices.io/patterns/apigateway.html
19 © 2015 CA. ALL RIGHTS RESERVED.
3. MS communication - runtime
Cloud-based Components
On-prem Components
Legacy Data
Assets
Legacy
Application
3rd Party Service
Service
API
3rd Party Data
Collector
Data
API
E
S
B
Service
API
Enterprise Shared
Web Service (JEE)
AWS
Mobile App
Backend (JEE)
Service
API
Data
API
Mgmt
API
Azure
Docker
Net New
Microservice
Service
API
Mgmt
API
Net New
Microservice
Data
API
API Adapter
Data
API
Mobile Apps
Web Apps
Connected Devices Partner
Systems
Mgmt
API
Mgmt
API
Mgmt
API
Mgmt
APIAPI Gateway
20 © 2015 CA. ALL RIGHTS RESERVED.
3. Team Collaboration- runtime
GitHub
Automated Test
Drivers
Virtual Services
AWS
Local Components
IDEs
API Developer
Portal
API SDKs
Microservice
Modeling Tools
API Design Tools
Azure
Pre-Prod
Environments
Production
Environments
SVN
Release
Management
Docker
Mgmt
API
Mgmt
API
Mgmt
API
Mgmt
API
Mgmt
API
Mgmt
API Mgmt
API
Service
Consumer
Developer
Service
Provider
Developer
Cloud-based Components
On-prem Components
21 © 2015 CA. ALL RIGHTS RESERVED.
4. Choosing a MS deployment Strategy
Source: https://www.nginx.com/blog/deploying-microservices/
22 © 2015 CA. ALL RIGHTS RESERVED.
4. Choosing a MS deployment Strategy
Blue-green Deployments
Source: http://blog.christianposta.com/deploy/blue-green-deployments-a-b-testing-and-canary-releases/
A/B Testing
Canary Releases
 Around 30 Action for Docker
23 © 2015 CA. ALL RIGHTS RESERVED.
4. Choosing a MS deployment Strategy
e.g. 500 ~ 1000 microservices
Different programming
language
Different teams
Different artifact
Enterprise release calendar provide
better coordination and alignment.
With artifact, config & environment management.
24 © 2015 CA. ALL RIGHTS RESERVED.
5. What changed from a monitoring perspective.
Complexity Is Moved, Not Removed
Monolithic Microservice
Programming
language
Few heterogeneous
Data size Small / Medium / Large Medium / Large
SW Endpoints App/ DB/ OS/ Mange, diversified
HW Infrastructure N-tier heterogeneous
Location Relatively close together Dispersed
25 © 2015 CA. ALL RIGHTS RESERVED.
5. What changed from a monitoring perspective.
Synchronous via HTTP
Asynchronous via Queues/Messages
Solution:
• Provide prospective view for each service
team.
• Self discovery topology view for your services.
• Proactive alerting for overwhelmed services.
• Trace heterogeneous programming language
like Java, PHP or Ruby.
• Trace heterogeneous infrastructures like
Docker.
Challenge:
Tracing a process as it travels
through and touches multiple
services and databases
requires tracking it across all
parts of the system.
26 © 2015 CA. ALL RIGHTS RESERVED.
5. Capability for hybrid cloud monitoring
Network Traffic
Analysis (NFA)
Network Device
Performance
(SNMPC)
Application Response
Times (ADA)
Systems
Performance
and
Application
Health
Cloud
Performance and
Health
Public Cloud
Private Cloud
Software Defined
27 © 2015 CA. ALL RIGHTS RESERVED.
5. Docker Monitoring
28 © 2015 CA. ALL RIGHTS RESERVED.
5. Docker Containers Monitoring
Monitors the performance of
apps deployed in Docker
Containers (agent)
Collects health metrics of
Docker Containers (field pack)
29 © 2015 CA. ALL RIGHTS RESERVED.
5. Cloud Foundry Monitoring
Monitors apps deployed
to CF (agent 9.7/later)
Easily deploy agent using
CF BuildPack
Collects basic perf
metrics from Pivotal CF
(Field Pack)
30 © 2015 CA. ALL RIGHTS RESERVED.
Node.js monitoring
Monitors apps written in node.js Automatically collects deep dive diagnostic
snapshots
Correlates performance to
application tiers
Does not require any modifications to the
Node.js app source code
31 © 2015 CA. ALL RIGHTS RESERVED.
Summary
1. Alignment
between monolithic
& MS projects
2. MS DevTest
3. MS routing &
transformation
4. Massive independent
deployment
5. MS
Management
• Service Virtualization
• Application Test
• API Portal
API Management
Release Automation
Application Performance Monitoring
Unified Infrastructure Management
Mobile Application Analytic
• Clarity PPM
• Agile Central (Rally)
Email: yeungwanki@gmail.com
Linkedin: https://hk.linkedin.com/in/kelvin-yeung-73856848
Kelvin Yeung
Lead Architect
Greater China
CA technologies

More Related Content

What's hot

Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Edureka!
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureAbdelghani Azri
 
Microservices
MicroservicesMicroservices
MicroservicesSmartBear
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices Amazon Web Services
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsAraf Karsh Hamid
 
Micro services vs Monolith Architecture
Micro services vs Monolith ArchitectureMicro services vs Monolith Architecture
Micro services vs Monolith ArchitectureMohamedElGohary71
 
Micro services Architecture
Micro services ArchitectureMicro services Architecture
Micro services ArchitectureAraf Karsh Hamid
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesMahmoudZidan41
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in PracticeKasun Indrasiri
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesAraf Karsh Hamid
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architectureThe Software House
 
Cloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The CloudCloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The CloudNew Relic
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootKashif Ali Siddiqui
 
Introduction to Event-Driven Architecture
Introduction to Event-Driven Architecture Introduction to Event-Driven Architecture
Introduction to Event-Driven Architecture Solace
 

What's hot (20)

Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Microservices
MicroservicesMicroservices
Microservices
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
Micro services vs Monolith Architecture
Micro services vs Monolith ArchitectureMicro services vs Monolith Architecture
Micro services vs Monolith Architecture
 
Micro services Architecture
Micro services ArchitectureMicro services Architecture
Micro services Architecture
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
 
Microservice intro
Microservice introMicroservice intro
Microservice intro
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture
 
Cloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The CloudCloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 
Introduction to Event-Driven Architecture
Introduction to Event-Driven Architecture Introduction to Event-Driven Architecture
Introduction to Event-Driven Architecture
 

Similar to Why Microservice

Microservices oracle-meetup
Microservices oracle-meetupMicroservices oracle-meetup
Microservices oracle-meetupNitu Parimi
 
Cloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key ComponentsCloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key ComponentsAndrewHolland58
 
Exploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key ComponentsExploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key ComponentsLucy Zeniffer
 
The elegant way of implementing microservices with istio
The elegant way of implementing microservices with istioThe elegant way of implementing microservices with istio
The elegant way of implementing microservices with istioInho Kang
 
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클Oracle Korea
 
Information on Cloud-native Applications
Information on Cloud-native ApplicationsInformation on Cloud-native Applications
Information on Cloud-native ApplicationsHTS Hosting
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern LaunguageInho Kang
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondUgo Landini
 
The Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineThe Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineDevOps.com
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupMatt Ray
 
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API ManagementWSO2
 
Meetup6 microservices for the IoT
Meetup6 microservices for the IoTMeetup6 microservices for the IoT
Meetup6 microservices for the IoTFrancesco Rago
 
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and MoreA Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and MoreSimform
 
MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...
MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...
MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...Jitendra Bafna
 
Microservices for Application Modernisation
Microservices for Application ModernisationMicroservices for Application Modernisation
Microservices for Application ModernisationAjay Kumar Uppal
 
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...WSO2
 

Similar to Why Microservice (20)

Microservices oracle-meetup
Microservices oracle-meetupMicroservices oracle-meetup
Microservices oracle-meetup
 
Twelve factor-app
Twelve factor-appTwelve factor-app
Twelve factor-app
 
Cloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key ComponentsCloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key Components
 
Exploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key ComponentsExploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key Components
 
The elegant way of implementing microservices with istio
The elegant way of implementing microservices with istioThe elegant way of implementing microservices with istio
The elegant way of implementing microservices with istio
 
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
 
Information on Cloud-native Applications
Information on Cloud-native ApplicationsInformation on Cloud-native Applications
Information on Cloud-native Applications
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern Launguage
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyond
 
The Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineThe Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD Pipeline
 
Whitepaper : Microservices In or Out
Whitepaper : Microservices   In or OutWhitepaper : Microservices   In or Out
Whitepaper : Microservices In or Out
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
 
Meetup6 microservices for the IoT
Meetup6 microservices for the IoTMeetup6 microservices for the IoT
Meetup6 microservices for the IoT
 
Cloud Native In-Depth
Cloud Native In-DepthCloud Native In-Depth
Cloud Native In-Depth
 
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and MoreA Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
 
Resume
ResumeResume
Resume
 
MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...
MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...
MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...
 
Microservices for Application Modernisation
Microservices for Application ModernisationMicroservices for Application Modernisation
Microservices for Application Modernisation
 
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
 

Recently uploaded

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Recently uploaded (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

Why Microservice

  • 1. Why Microservice? The benefits and challenges of adopting microservice Kelvin Yeung Lead Architect Greater China CA technologies
  • 2. 2 © 2015 CA. ALL RIGHTS RESERVED. Agenda  The trending microservice wave  A closer look at microservice  Successful strategies to develop microservice application
  • 3. 3 © 2015 CA. ALL RIGHTS RESERVED. What is microservice (MS) ? MS are small, independent processes that communicate with each other to form complex applications which utilize language-agnostic APIs…. These services are small building blocks, highly decoupled and focused on doing a small task…. It is becoming the standard for building continuously deployed systems. Source : https://en.wikipedia.org/wiki/Microservices
  • 4. 4 © 2015 CA. ALL RIGHTS RESERVED. Characteristics of MS • An approach to developing a single application as a suite of small services. • Each Service represents a business capability as opposed to a technology. • Each service runs in its own process with lightweight communication mechanisms. • Services are independently deployable and scalable. • Different services can be written in different languages and managed by different teams.
  • 5. 5 © 2015 CA. ALL RIGHTS RESERVED. Microservices Business Value Portal Framework BPEL Workflow Engine Enterprise Service Bus Database Application Server Search Checkout Payment Shipping Pricing Inventory Promotion Customer CategoryPhoto Social Login Monolithic Microservice Benefit of MSA • Speed • Composability • Replaceability • Code stack independence • Resilience • Scale • Cloud ready
  • 6. 6 © 2015 CA. ALL RIGHTS RESERVED. New challenges from adopting MS:  Complexity of developing a distributed system.  Multiple DB & transaction management.  Complexity of testing a distributed system.  Complexity of deploying and operating a distributed system.  Developing and deploying features that span multiple service requires careful coordination.
  • 7. 7 © 2015 CA. ALL RIGHTS RESERVED. Agenda  The trending Microservice wave  A closer look at microservice  Successful strategies to develop microservice application
  • 8. 8 © 2015 CA. ALL RIGHTS RESERVED. What do these successful billion dollar companies (unicorns) have in common? Source: http://microservices.io/articles/whoisusingmicroservices.html
  • 9. 9 © 2015 CA. ALL RIGHTS RESERVED. Netflix moved from Monolithic Architecture to MS, building a set of infrastructure services, then open-sourced as Netflix OSS. Source: https://netflix.github.io/ Big Data Common Libraries Build & Delivery These Companies are using and contributing to Netflix OSS Components Data Persistence Insight, Reliability, Performance Security User Interface
  • 10. 10 © 2015 CA. ALL RIGHTS RESERVED. Technique used in Netflix Development: Languages and Container Operational: Orchestration and Deployment Infrastructure Datastores Tooling Configuration Discovery Routing Observability Asguard Aminator (AMI creator) Eureka Prana Demoinator Zuul Ribbon Pytheus SALP Ephemeral Progress DB Astyanax Staash Priam Manual orchestration with Asgard Deployment on AWS or Eucalyptus Groovy Source: http://www.virtu-desk.fr/pages/actualite/les-archives/les-infrastructures-convergees/archives-2015/ces-geants-du-web-qui-passent-au-cloud-2-0.html
  • 11. 11 © 2015 CA. ALL RIGHTS RESERVED. Netflix MS interdependence Source: https://github.com/adrianco/spigo Simplified view Actual Reality 2 billion API call per day!
  • 12. 12 © 2015 CA. ALL RIGHTS RESERVED. Understanding upstream and downstream dependencies Source: http://techblog.netflix.com/2015/02/a-microscope-on-microservices.html
  • 13. 13 © 2015 CA. ALL RIGHTS RESERVED. Agenda  What do unicorns have in common?  A closer look at microservice  Successful strategies to develop microservice application
  • 14. 14 © 2015 CA. ALL RIGHTS RESERVED. Successful strategies to develop microservice application 1. Alignment between monolithic & MS projects 2. MS DevTest 3. MS routing & transformation 4. Massive independent deployment 5. MS Management
  • 15. 15 © 2015 CA. ALL RIGHTS RESERVED. 1. Alignment between monolithic & MS projects  Capture relevant team work information via RESTful API.  Possible integration scenario: Resource alignment, Integrated cost Tracking, Time Sheet Sync; Integrated tracking for release/iteration/assignment etc. How to align agile & hybrid projects with business objects?
  • 16. 16 © 2015 CA. ALL RIGHTS RESERVED. 2. Service virtualization enables teams to work independently • Different teams responsible for different microservices • Production application has dynamic interdependencies • Service virtualization enables teams to work independently
  • 17. 17 © 2015 CA. ALL RIGHTS RESERVED. 2. Service virtualization enables MS testing independently Data Access Business Logic Service Interface Service Agents External Services Consumer-driven contract testing Service virtualization can be used so that services can be tested in isolation without relying on external services working correctly at this level. End-to-end Test End-to-end testing verifies entire process flows work correctly, including all service and database integration. Operations that touch many services should be most thoroughly tested earlier with service virtualization . Consumer SV SV
  • 18. 18 © 2015 CA. ALL RIGHTS RESERVED. 3. MS routing and transformation Source: http://microservices.io/patterns/apigateway.html
  • 19. 19 © 2015 CA. ALL RIGHTS RESERVED. 3. MS communication - runtime Cloud-based Components On-prem Components Legacy Data Assets Legacy Application 3rd Party Service Service API 3rd Party Data Collector Data API E S B Service API Enterprise Shared Web Service (JEE) AWS Mobile App Backend (JEE) Service API Data API Mgmt API Azure Docker Net New Microservice Service API Mgmt API Net New Microservice Data API API Adapter Data API Mobile Apps Web Apps Connected Devices Partner Systems Mgmt API Mgmt API Mgmt API Mgmt APIAPI Gateway
  • 20. 20 © 2015 CA. ALL RIGHTS RESERVED. 3. Team Collaboration- runtime GitHub Automated Test Drivers Virtual Services AWS Local Components IDEs API Developer Portal API SDKs Microservice Modeling Tools API Design Tools Azure Pre-Prod Environments Production Environments SVN Release Management Docker Mgmt API Mgmt API Mgmt API Mgmt API Mgmt API Mgmt API Mgmt API Service Consumer Developer Service Provider Developer Cloud-based Components On-prem Components
  • 21. 21 © 2015 CA. ALL RIGHTS RESERVED. 4. Choosing a MS deployment Strategy Source: https://www.nginx.com/blog/deploying-microservices/
  • 22. 22 © 2015 CA. ALL RIGHTS RESERVED. 4. Choosing a MS deployment Strategy Blue-green Deployments Source: http://blog.christianposta.com/deploy/blue-green-deployments-a-b-testing-and-canary-releases/ A/B Testing Canary Releases  Around 30 Action for Docker
  • 23. 23 © 2015 CA. ALL RIGHTS RESERVED. 4. Choosing a MS deployment Strategy e.g. 500 ~ 1000 microservices Different programming language Different teams Different artifact Enterprise release calendar provide better coordination and alignment. With artifact, config & environment management.
  • 24. 24 © 2015 CA. ALL RIGHTS RESERVED. 5. What changed from a monitoring perspective. Complexity Is Moved, Not Removed Monolithic Microservice Programming language Few heterogeneous Data size Small / Medium / Large Medium / Large SW Endpoints App/ DB/ OS/ Mange, diversified HW Infrastructure N-tier heterogeneous Location Relatively close together Dispersed
  • 25. 25 © 2015 CA. ALL RIGHTS RESERVED. 5. What changed from a monitoring perspective. Synchronous via HTTP Asynchronous via Queues/Messages Solution: • Provide prospective view for each service team. • Self discovery topology view for your services. • Proactive alerting for overwhelmed services. • Trace heterogeneous programming language like Java, PHP or Ruby. • Trace heterogeneous infrastructures like Docker. Challenge: Tracing a process as it travels through and touches multiple services and databases requires tracking it across all parts of the system.
  • 26. 26 © 2015 CA. ALL RIGHTS RESERVED. 5. Capability for hybrid cloud monitoring Network Traffic Analysis (NFA) Network Device Performance (SNMPC) Application Response Times (ADA) Systems Performance and Application Health Cloud Performance and Health Public Cloud Private Cloud Software Defined
  • 27. 27 © 2015 CA. ALL RIGHTS RESERVED. 5. Docker Monitoring
  • 28. 28 © 2015 CA. ALL RIGHTS RESERVED. 5. Docker Containers Monitoring Monitors the performance of apps deployed in Docker Containers (agent) Collects health metrics of Docker Containers (field pack)
  • 29. 29 © 2015 CA. ALL RIGHTS RESERVED. 5. Cloud Foundry Monitoring Monitors apps deployed to CF (agent 9.7/later) Easily deploy agent using CF BuildPack Collects basic perf metrics from Pivotal CF (Field Pack)
  • 30. 30 © 2015 CA. ALL RIGHTS RESERVED. Node.js monitoring Monitors apps written in node.js Automatically collects deep dive diagnostic snapshots Correlates performance to application tiers Does not require any modifications to the Node.js app source code
  • 31. 31 © 2015 CA. ALL RIGHTS RESERVED. Summary 1. Alignment between monolithic & MS projects 2. MS DevTest 3. MS routing & transformation 4. Massive independent deployment 5. MS Management • Service Virtualization • Application Test • API Portal API Management Release Automation Application Performance Monitoring Unified Infrastructure Management Mobile Application Analytic • Clarity PPM • Agile Central (Rally)