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

What's hot (20)

Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
Microservices
MicroservicesMicroservices
Microservices
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and 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
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Cloud Native Application Development
Cloud Native Application DevelopmentCloud Native Application Development
Cloud Native Application Development
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, Kanban
 
More the merrier: a microservices anti-pattern
More the merrier: a microservices anti-patternMore the merrier: a microservices anti-pattern
More the merrier: a microservices anti-pattern
 
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
 
Microservices Tutorial for Beginners | Microservices Architecture | Microserv...
Microservices Tutorial for Beginners | Microservices Architecture | Microserv...Microservices Tutorial for Beginners | Microservices Architecture | Microserv...
Microservices Tutorial for Beginners | Microservices Architecture | Microserv...
 
Microservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web ServicesMicroservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web Services
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 

Similar to Why Microservice

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
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
[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
 

Recently uploaded

Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 

Recently uploaded (20)

Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdf
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 

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)