SlideShare a Scribd company logo
Micro-service Architecture Style
SMAC ERA…
February 5, 2015
Nguyen Quang Tung
Solution Architect
M: 0127 666 0909
E: tungnq@fsoft.com.vn
tungnq@gmail.com
2Copyright © 2014 by FPT Software
WHO AM I?
Nguyen Quang Tung
•E1: tungnq@fsoft.com.vn
•E2: tungnq@gmail.com
•M: +841276660909
Professional:
• Cán Bộ Công Nghệ FPT Lvl3 –
System Architect
•7+ Solution Architect
•6+ Project Manager
•11+ Java/J2EE Development
Domain:
•Multi-media/Video Broadcasting
•Stock Market
•CMS & DMS
•Real Property Market.
•eGovernment
Bachelor of Science Master of Science Mini – MBA
3Copyright © 2014 by FPT Software
4Copyright © 2014 by FPT Software
WHO IS BIG PLAYER IN THIS GAME!
http://microservices.io/patterns/microservices.html

Recommended for you

Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture

Microservice architecture. Short intro into the world of microservices, the talk I gave in VilniusPHP meetup.

symfonymicroservicearchitecture
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture

The presentation from our online webinar "Design patterns for microservice architecture". Full video from webinar available here: https://www.youtube.com/watch?v=826aAmG06KM If you’re a CTO or a Lead Developer and you’re planning to design service-oriented architecture, it’s definitely a webinar tailored to your needs. Adrian Zmenda, our Lead Dev, will explain: - when microservice architecture is a safe bet and what are some good alternatives - what are the pros and cons of the most popular design patterns (API Gateway, Backend for Frontend and more) - how to ensure that the communication between services is done right and what to do in case of connection issues - why we’ve decided to use a monorepo (monolithic repository) - what we’ve learned from using the remote procedure call framework gRPC - how to monitor the efficiency of individual services and whole SOA-based systems.

microservicesnode.jssoftware development
Microservices
MicroservicesMicroservices
Microservices

Learn all about microservices from Product Marketing Manager Dan Giordano. We'll cover how to get started, the benefits, potential challenges, and how SmartBear can help.

microservicesmicroservices architectureapis
5Copyright © 2014 by FPT Software
MICROSERVICE ARCHITECTURE - CONCEPTS
Concepts
Why?
How?
What?
•Concept
•Technology
6Copyright © 2014 by FPT Software
SW Architecture in the Context of History
7Copyright © 2014 by FPT Software
Concepts: WHAT ARE MICRO-SERVICERS?
The Micro-Service 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.
These services are built around business capabilities and independently deployable by
fully automated deployment machinery. There is a bare minimum of centralized
management of these services, which may be written in different programming languages
and use different data storage technologies.
8Copyright © 2014 by FPT Software
Concepts: SERVICE ORENTED ARCHITECTURE (SOA)?
Classic SOA
•Integrates different
applications as a set
of services
Microservices
•Architect a single
application as a set
of services
Yes, it’s SOA … but different implementation approach

Recommended for you

Microservices
MicroservicesMicroservices
Microservices

Microservices are an architectural style that structures an application as a collection of small, independent services that communicate with each other. Each service runs a unique process and focuses on doing a small job, such as user authentication or shopping cart functionality. The advantages of microservices include improved scalability, maintainability, and ability to upgrade parts of the system independently. However, adopting microservices also introduces additional operational complexity and communication overhead between services.

microervicesmicroervice
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture

A introduction to Microservices Architecture: definition, characterstics, framworks, success stories. It contains a demo about implementation of microservices with Spring Boot, Spring cloud an Eureka.

architecturemicroservices patternsnetflix
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...

Here is the version of my microservices talk that that I gave on September 17th at the SVforum Cloud SIG/Microservices meetup. To learn more see http://microservices.io and http://plainoldobjects.com

microservicesevent sourcingeventual consistency
9Copyright © 2014 by FPT Software
Concepts: CLASSIC SOA vs MICROSERVICE
Classic SOA
• Integrates different applications as a
set of services
Typical implementation solution
• Heavy-weight
• Orchestration
• ESB
• WS*/SOAP
• License-driven
• Intelligent Communication Layer
Target Problem
• Integrate (Legacy) Software
10Copyright © 2014 by FPT Software
Concepts: CLASSIC SOA vs MICROSERVICE
MICROSERVICE
• Architect a single application as a set
of services
Typical implementation solution
• Light-weight
• Choreography
• HTTP/REST/JSON
• Intelligent Services
• Dumb Communication Layer
Target Problem
• Architect new Business Platform
11Copyright © 2014 by FPT Software
MICROSERVICE ARCHITECTURE – WHY?
Concepts
Why?
How?
What?
•Concept
•Technology
12Copyright © 2014 by FPT Software
WHY: EVOLUTION OF SOFTWARE ARCHITECTURE

Recommended for you

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 Training: https://www.edureka.co/microservices-... ) This Edureka's Microservices tutorial gives you detail of Microservices Architecture and how it is different from Monolithic Architecture. You will understand the concepts using a UBER case study. In this video, you will learn the following: 1. Monolithic Architecture 2. Challenges Of Monolithic Architecture 3. Microservice Architecture 4. Microservice Features 5. Compare architectures using UBER case-study

microservicesonlinetrainingmicroservicesforbeginnersmicroservicearchitecturetutorial
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices

The introduction covers the following 1. What are Microservices and why should be use this paradigm? 2. 12 factor apps and how Microservices make it easier to create them 3. Characteristics of Microservices Note: Please download the slides to view animations.

javaspring bootsoa
Cloud Native Application
Cloud Native ApplicationCloud Native Application
Cloud Native Application

VMware is introducing new platforms to better support cloud-native applications, including containers. The Photon Platform is a lightweight, API-driven control plane optimized for massive scale container deployments. It includes Photon OS, a lightweight Linux distribution for containers. vSphere Integrated Containers allows running containers alongside VMs on vSphere infrastructure for a unified hybrid approach. Both aim to provide the portability and agility of containers while leveraging VMware's management capabilities.

applicationcloud native applicationvmugit
13Copyright © 2014 by FPT Software
WHY: FROM MONOLITHIC TO CLOUD
14Copyright © 2014 by FPT Software
WHY: THE CURSE OF THE MONOLITH
Simple to Develop Simple to Deploy Simple to Scale
15Copyright © 2014 by FPT Software
WHY: THE CURSE OF THE MONOLITH
Hard to understand
and modify
Overloaded IDE
Overloaded
Web Container
• Large Code Intimidates Developers
Development
Slows Down
16Copyright © 2014 by FPT Software
WHY: THE CURSE OF THE MONOLITH
• Small Change - Big Impact
Any change requires full
rebuild, test and deploy
Impact analysis is huge effort
and takes long
Obstacle for frequent
changes and deployments

Recommended for you

Microservices, Containers and Docker
Microservices, Containers and DockerMicroservices, Containers and Docker
Microservices, Containers and Docker

Microservices, Containers and Docker This document provides an overview of microservices, containers, and Docker. It begins by defining microservices as an architectural style where applications are composed of independent, interchangeable components. It discusses benefits of the microservices style such as independent deployability, efficient scaling, and design autonomy. The document then introduces containers as a way to package applications and their dependencies to run uniformly across various environments. It compares containers to virtual machines. Finally, it describes Docker as an open source tool that automates deployment of applications into containers, providing portability and management of containers. The document concludes by discussing the need for container orchestration at scale.

cloud computingdockercontainers
A Pattern Language for Microservices
A Pattern Language for MicroservicesA Pattern Language for Microservices
A Pattern Language for Microservices

This is a talk I gave at PLoP 2017 - http://www.hillside.net/plop/2017/index.php?nav=program The microservice architecture is growing in popularity. It is an architectural style that structures an application as a set of loosely coupled services that are organized around business capabilities. Its goal is to enable the continuous delivery of large, complex applications. However, the microservice architecture is not a silver bullet and it has some significant drawbacks. The goal of the microservices pattern language is to enable software developers to apply the microservice architecture effectively. It is a collection of patterns that solve architecture, design, development and operational problems. In this talk, I’ll provide an overview of the microservice architecture and describe the motivations for the pattern language. You will learn about the key patterns in the pattern language.

microservicesmicroservice architecturepatterns
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices

Kevin Huang: AWS San Francisco Startup Day, 9/7/17 Architecture: When, how, and if to adopt microservices - Microservices are not for everyone! If you're a small shop, a monolith provides a great amount of value and reduces the complexities involved. However as your company grows, this monolith becomes more difficult to maintain. We’ll look at how microservices allow you to easily deploy and debug atomic pieces of infrastructure which allows for increased velocity in reliable, tested, and consistent deploys. We’ll look into key metrics you can use to identify the right time to begin the transition from monolith to microservices.

awsamazon web servicescloud
17Copyright © 2014 by FPT Software
WHY: THE CURSE OF THE MONOLITH
• Big Risk for Re-Write
No hard module boundaries
Quality and Modularity breaks down over
time this enforces eventual need for re-write
Long term commitment to technology stack
Change or try-out new technology implies re-
write
Re-write = complete re-write
No partial re-write
18Copyright © 2014 by FPT Software
WHY: THE CURSE OF THE MONOLITH
• Little Resilience to Failure
Failure in monolith brings it down
19Copyright © 2014 by FPT Software
WHY: THE CURSE OF THE MONOLITH
• Scaling can be difficult
Mostly Horizontal scaling many load
balanced instances
Hard to scale to data growth cope with
all data
Different components have different
resource needs
Scaling development implies
coordination overhead
20Copyright © 2014 by FPT Software
WHY: TYPES OF SCALING
• The Scale Cube

Recommended for you

Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices

Microservices architectures are changing the way that organizations build their applications and infrastructure. Companies can now achieve new levels of scale and efficiency by disaggregating their large, monolithic applications into small, independent “micro services”, each of which perform different functions. In this session, we’ll introduce the concept of microservices, help you evaluate whether your organization is ready for microservices, and discuss methods for implementing these architectures. We’ll also cover topics such as using API gateways, enabling self-service infrastructure provisioning, and ways to manage your microservices.

cloud computingdevopsstartups
An introduction to Microservices
An introduction to MicroservicesAn introduction to Microservices
An introduction to Microservices

This document provides an introduction to microservices architecture. It discusses why companies adopt the microservices style, how to design microservices, common patterns, and examples from Netflix. The key points are: 1) Microservices architecture breaks applications into small, independent services that communicate over well-defined interfaces. This improves modularity, scalability, and allows independent deployments. 2) When designing microservices, services should be organized around business capabilities, have decentralized governance and data, and be designed to fail independently through patterns like circuit breakers. 3) Netflix is a leader in microservices and has open sourced many tools like Hystrix for latency handling and Eureka for service discovery that

architecturemicroservicesnetflix
What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...

( Microservices Architecture Training: https://www.edureka.co/microservices-architecture-training) This Edureka's Microservices tutorial on What are Microservices gives you an introduction to microservices and also shows the practical implementation of microservices with a demo. In this video, you will learn the following: 1.Why Microservices 2.What Is Microservice Architecture 3.Features Of Microservice Architecture 4.Advantages Of Microservice Architecture 5.Companies Using Microservices 6.Hands-On Using SpringBoot

microserviceswithspringbootmicroservicesonlinetrainingmicroservicesforbeginners
21Copyright © 2014 by FPT Software
WHY: TYPES OF SCALING
22Copyright © 2014 by FPT Software
WHY: TYPES OF SCALING
V1
V2
Re-write a service in 2-3 weeks
23Copyright © 2014 by FPT Software
WHY: ARCHITECTURAL BENEFITS
Small and focused on 1
capability
•Easier to understand
•IDE and deployment faster for 1
service
Independent
•Release and deployment
•Scaling
•Development
Loosely Coupled
•Through lightweight
communication
Fault Isolation vs bring all
down.
Allows try-out of new
technologies.
Re-write can be limited to
1 service
•Impact Analysis stops at
boundary
Provide firm module
boundaries with explicit
interface!
•Less risk on re-write
•Harder to violate boundary in
development
Decentralized
choreography
•vs central orchestration
•vs central point of failure
Decentralized data
•Polyglot persistence
24Copyright © 2014 by FPT Software
WHY: ARCHITECTURE EVOLUTION
1 - Key (business) drivers guide architectural decisions
• Micro-services are organized around business capabilities
2 - Postpone decisions to Last Responsible Moment
• Micro-services allow delay of scaling and technological decisions
3 - Architect and develop for Evolvability
• Micro-services support evolution in technology, scaling, and features

Recommended for you

Monitoring on Kubernetes using prometheus
Monitoring on Kubernetes using prometheusMonitoring on Kubernetes using prometheus
Monitoring on Kubernetes using prometheus

This document discusses using Prometheus to monitor Kubernetes clusters. It provides background on Kubernetes and Prometheus architectures. It then describes challenges with the previous monitoring setup and proposes using the Prometheus operator to more easily monitor Kubernetes and application metrics. The Prometheus operator allows automatically generating target configurations based on Kubernetes labels and provides Custom Resource Definitions for Prometheus and Service Monitors.

prometheuskubernetesmonitoring
Microservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and KafkaMicroservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and Kafka

Understand the Microservices Architecture concepts Understand Event Sourcing and CQRS Understanding Domain Driven Design Understanding Functional Reactive Programming Understanding Distributed Transaction Management Understanding Microservices Messaging Setting up Micro services Infrastructure (API Gateway, Service Discovery, Load Balancer, Circuit Breaker) https://github.com/meta-magic/microservice_workshop

microservicesdddcqrs
The Cloud Foundry Story
The Cloud Foundry StoryThe Cloud Foundry Story
The Cloud Foundry Story

Cloud Foundry open Platform as a Service makes it easy to operate, scale and deploy application for your dedicated cloud environments. It enables developers and operators to be significantly more agile, writing great applications and deliver them in days instead of months. Cloud Foundry takes care of all the infrastructure and network plumbing that you need to build, run and operate your applications and can do this while patching and updating systems and services without any downtime.

cloud foundrycloud foundry foundationcloud expo
25Copyright © 2014 by FPT Software
MICROSERVICE ARCHITECTURE - HOW-TO?
Concepts
Why?
How?
What?
•Concept
•Technology
26Copyright © 2014 by FPT Software
HOW-TO: PRINCIPLES OF MICROSERVICES
http://12factor.net/
27Copyright © 2014 by FPT Software
HOW-TO: Big Picture!
28Copyright © 2014 by FPT Software
HOW-TO: 7 PRINCIPLES OF MICROSERVICES
Principles Of
Microservices
1. Modelled
Around
Business
Domain
2. Culture Of
Automation
3. Hide
Implementation
Details
4. Decentralise
All The Things
5. Deploy
Independently
6. Isolate Failure
7. Highly
Observable

Recommended for you

Inovacao e Arquitetura Moderna com APIs e Mulesoft
Inovacao e Arquitetura Moderna com APIs e MulesoftInovacao e Arquitetura Moderna com APIs e Mulesoft
Inovacao e Arquitetura Moderna com APIs e Mulesoft

The document discusses digital transformation and how it is a top priority for many executives and industries. It notes that customer expectations are changing with demands for more personalized, connected experiences. This is putting pressure on companies to digitally transform and many industries are being disrupted. The document then discusses how IT is facing challenges keeping up with demands and how most companies' applications are not well connected. It positions MuleSoft as helping with digital transformation by being a leader in the enterprise integration platform as a service space and powering connectivity across industries.

interopdaymulesoftapi
Synectiks Microservice Platform
Synectiks Microservice PlatformSynectiks Microservice Platform
Synectiks Microservice Platform

Synectiks Microservice delivery platform -- multi cloud container orchestration and continuous delivery

containerdockermicroservice
Cutting Through the Disruption
Cutting Through the DisruptionCutting Through the Disruption
Cutting Through the Disruption

The pace of change in business is faster than we could have ever imagined, and in this day and age you must either disrupt, or be disrupted. This presentation aims to explain the changes we are seeing in the business technology world, the struggles many organizations are facing to keep up, and present the audience with solutions to these difficulties. The presentation was originally presented by OSSCube CEO Lavanya Rastogi.

solutionstechnologyinformation technology
29Copyright © 2014 by FPT Software
HOW-TO: 7 PRINCIPLES OF MICROSERVICES
1. Modelled Around Business Domain
Principles
Of
Microservic
es
1. Modelled
Around
Business
Domain
2. Culture Of
Automation
3. Hide
Implementatio
n Details
4. Decentralise
All The Things
5. Deploy
Independently
6. Isolate
Failure
7. Highly
Observable
Benefits
 Domain modules can migrate
independently to next version!
 Database schema is internal to
the domain bundle, i.e. NOT
part of the API!
 Persistence and/or database
technology can differ between
modules in one system!
30Copyright © 2014 by FPT Software
HOW-TO: 7 PRINCIPLES OF MICROSERVICES
2. Culture Of Automation
Principles
Of
Microservic
es
1. Modelled
Around
Business
Domain
2. Culture Of
Automation
3. Hide
Implementatio
n Details
4. Decentralise
All The Things
5. Deploy
Independently
6. Isolate
Failure
7. Highly
Observable
Infrastructure Automation
Automated Testing
Continuous Delivery!
31Copyright © 2014 by FPT Software
HOW-TO: 7 PRINCIPLES OF MICROSERVICES
3. Hide Implementation Details
Principles
Of
Microservic
es
1. Modelled
Around
Business
Domain
2. Culture Of
Automation
3. Hide
Implementatio
n Details
4. Decentralise
All The Things
5. Deploy
Independently
6. Isolate
Failure
7. Highly
Observable
Databases
Business Partner
Vehicle Service
Business Partner Service
Transport Service
Databases
Vehicle Databases
Transport
Databases
Vehicle
Business Partner
Transport
Vehicle App
Business Partner App
Transport App
Vehicle Context
Transport Context
Business
Partner
Context
Hide Your Database!
32Copyright © 2014 by FPT Software
HOW-TO: 7 PRINCIPLES OF MICROSERVICES
4. Decentralize All The Things
Principles
Of
Microservic
es
1. Modelled
Around
Business
Domain
2. Culture Of
Automation
3. Hide
Implementatio
n Details
4. Decentralise
All The Things
5. Deploy
Independently
6. Isolate
Failure
7. Highly
Observable
What is autonomy?
 Giving people as much freedom
as possible to do the job at hand
Autonomy!
Self Service
Share
Governance
Owner
Operator
Internal
Open
Source
Dumb-
Pipes,
Smart
Endpoint

Recommended for you

Engineering DevOps and Cloud
Engineering DevOps and CloudEngineering DevOps and Cloud
Engineering DevOps and Cloud

This document summarizes a 30-minute talk on engineering DevOps given by Marc Hornbeek. The talk discusses defining engineering DevOps, how to engineer people, processes, and technology for DevOps. It also covers how to engineer applications, pipelines, and infrastructures for DevOps. The talk presents a seven-step DevOps engineering transformation blueprint and discusses the future of engineering DevOps beyond continuous improvement. The document provides benefits of a well-engineered DevOps approach and why engineering is needed to implement DevOps successfully. It also summarizes DevOps engineering tools and maturity levels.

devopsdevops_the_graycloud
Dec2020 meetup mule.pptx
Dec2020 meetup mule.pptxDec2020 meetup mule.pptx
Dec2020 meetup mule.pptx

This document discusses the implementation of an API-led architecture for a Swiss bank. It outlines the challenges the bank faced with a point-to-point integration architecture and siloed systems. The bank adopted an API-led approach using MuleSoft to enable modular development, reuse of APIs, and flexibility to change. This allowed the bank to launch a mobile banking application twice as fast and dedicate more time to innovation projects. Lessons learned included designing APIs first, evangelizing the approach, involving all business lines early, and identifying low-risk quick win projects.

Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship

With businesses built around software now disrupting multiple industries that appeared to have stable leaders, the need has emerged for enterprises to create "software factories" built around the following principles: Streaming customer feedback directly into rapid, iterative cycles of application development Horizontally scaling applications to meet user demand Compatibility with an enormous diversity of clients, with mobility (smartphones, tablets, etc.) taking the lead Continuous delivery of value, shrinking the cycle time from concept to cash Infrastructure has taken the lead in adapting to meet these needs with the move to the cloud, and Platform as a Service (PaaS) has raised the level of abstraction to a focus on an ecosystem of applications and services. However, most applications are still developed as if we're living in the previous generation of both business and infrastructure: the monolithic application. Microservices - small, loosely coupled applications that follow the Unix philosophy of "doing one thing well" - represent the application development side of enabling rapid, iterative development, horizontal scale, polyglot clients, and continuous delivery. They also enable us to scale application development and eliminate long term commitments to a single technology stack. While microservices are simple, they are certainly not easy. It's recently been said that "microservices are not a free lunch". Interestingly enough, if you look at the concerns expressed here about microservices, you'll find that they are exactly the challenges that a PaaS is intended to address. So while microservices do not necessarily imply cloud (and vice versa), there is in fact a symbiotic relationship between the two, with each approach somehow compensating for the limitations of the other, much like the practices of eXtreme Programming.

cloud foundryplatform-as-a-servicematt stine
33Copyright © 2014 by FPT Software
HOW-TO: 7 PRINCIPLES OF MICROSERVICES
5. Deploy Independently
Deployment
One
Service
Per-Host
Consumer-
Driven
Contracts
Co-Exist
Point
Principles
Of
Microservic
es
1. Modelled
Around
Business
Domain
2. Culture Of
Automation
3. Hide
Implementatio
n Details
4. Decentralise
All The Things
5. Deploy
Independently
6. Isolate
Failure
7. Highly
Observable
34Copyright © 2014 by FPT Software
HOW-TO: 7 PRINCIPLES OF MICROSERVICES
6. Isolate Failure
Principles
Of
Microservic
es
1. Modelled
Around
Business
Domain
2. Culture Of
Automation
3. Hide
Implementatio
n Details
4. Decentralise
All The Things
5. Deploy
Independently
6. Isolate
Failure
7. Highly
Observable
35Copyright © 2014 by FPT Software
HOW-TO: 7 PRINCIPLES OF MICROSERVICES
7. Highly Observable
Principles
Of
Microservic
es
1. Modelled
Around
Business
Domain
2. Culture Of
Automation
3. Hide
Implementatio
n Details
4. Decentralise
All The Things
5. Deploy
Independently
6. Isolate
Failure
7. Highly
Observable
Correlation IDs
Aggregation
36Copyright © 2014 by FPT Software
HOW-TO: MICROSERVICE CHALLENGES

Recommended for you

Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship

As delivered to the Cloud Foundry Summit 2014 in San Francisco, CA: With businesses built around software now disrupting multiple industries that appeared to have stable leaders, the need has emerged for enterprises to create "software factories" built around the following principles: * Streaming customer feedback directly into rapid, iterative cycles of application development * Horizontally scaling applications to meet user demand * Compatibility with an enormous diversity of clients, with mobility (smartphones, tablets, etc.) taking the lead * Continuous delivery of value, shrinking the cycle time from concept to cash Infrastructure has taken the lead in adapting to meet these needs with the move to the cloud, and Platform as a Service (PaaS) has raised the level of abstraction to a focus on an ecosystem of applications and services. However, most applications are still developed as if we're living in the previous generation of both business and infrastructure: the monolithic application. Microservices - small, loosely coupled applications that follow the Unix philosophy of "doing one thing well" - represent the application development side of enabling rapid, iterative development, horizontal scale, polyglot clients, and continuous delivery. They also enable us to scale application development and eliminate long term commitments to a single technology stack. While microservices are simple, they are certainly not easy. It's recently been said that "microservices are not a free lunch". Interestingly enough, if you look at the concerns expressed here about microservices, you'll find that they are exactly the challenges that a PaaS is intended to address. So while microservices do not necessarily imply cloud (and vice versa), there is in fact a symbiotic relationship between the two, with each approach somehow compensating for the limitations of the other, much like the practices of eXtreme Programming.

2014cloud foundrycfsummit
Anypoint Platform for Pivotal Cloud Foundry
Anypoint Platform for Pivotal Cloud FoundryAnypoint Platform for Pivotal Cloud Foundry
Anypoint Platform for Pivotal Cloud Foundry

Customers need a choice of deployment environments whether on MuleSoft's cloud, on-premises or in a private cloud using a platform as a service (PaaS) framework. Learn how MuleSoft and Pivotal work together to deliver application networks within a secure private cloud. In this session, we will discuss the different deployment modes of Anypoint Platform on Pivotal Cloud Foundry.

connect 2017
Innovate at speed with Devops
Innovate at speed with DevopsInnovate at speed with Devops
Innovate at speed with Devops

This is my ignite talk from #devopsdays in Ghent Belgium. As this is an ignite talk look at the notes as these contain the wordings I used.

#devops #devopsdays
37Copyright © 2014 by FPT Software
HOW-TO: MICROSERVICE CHALLENGES
Communication Between Services
• Use case: New Order Received
38Copyright © 2014 by FPT Software
HOW-TO: MICROSERVICE CHALLENGES
Handling Failures
• FALLBACK MESSAGE QUEUE
• PER-SERVICE THREAD POOLS
39Copyright © 2014 by FPT Software
HOW-TO: MICROSERVICE CHALLENGES
Minimising Communicational Overhead
• API GATEWAY
40Copyright © 2014 by FPT Software
HOW-TO: MICROSERVICE CHALLENGES
Handling Failures in Communication
• CIRCUIT BREAKER

Recommended for you

Say no to microservices slideshare
Say no to microservices slideshareSay no to microservices slideshare
Say no to microservices slideshare

Microservices are getting a lot of hype these days and traditional SOA is seen as deprecated. However, microservices architecture is not the best solution for everything, so this presentation contains the considerations that need to be made to be ready for microservices and shows where they are applicable or not.

microservicesoraclesoa
PCF Cloud-Native Workshop Slides
PCF Cloud-Native Workshop SlidesPCF Cloud-Native Workshop Slides
PCF Cloud-Native Workshop Slides

The document provides an overview of Pivotal Cloud Foundry (PCF), an extreme cloud native platform. It discusses PCF's architecture which includes elastic runtime, container management using Diego, services, and management through the command line interface and application manager. The document also promotes PCF's ability to improve developer productivity through continuous delivery and integration using modern software methodologies and containers on cloud infrastructure.

pcfcloud-nativeworkshop
How IT Pros Can Get and Stay Relevant in the Cloud
How IT Pros Can Get and Stay Relevant in the CloudHow IT Pros Can Get and Stay Relevant in the Cloud
How IT Pros Can Get and Stay Relevant in the Cloud

The shift to cloud computing is about a lot more than just adopting new technology. It's a total business transformation. As an IT professional, are you prepared for the changing roles in the cloud? If not, you need to arm yourself with information about how IT jobs are evolving and what new skills are needed in the new cloud-focused landscape. Hank Marquis, our resident cloud expert, will uncover: • Why and how cloud computing is changing IT job roles • Which roles are changing and what to do about it • How to become cloud ready, stay relevant, and not get left behind https://www.brighttalk.com/webcast/10193/120367

cloudit jobs
41Copyright © 2014 by FPT Software
MICROSERVICE ARCHITECTURE - WHAT?
Concepts
Why?
How?
What?
•Concept
•Technology
42Copyright © 2014 by FPT Software
WHAT: TECHNOLOGY
Microservice Implementation Stack
43Copyright © 2014 by FPT Software
WHAT: DEPLOYMENT
Deployment Options
44Copyright © 2014 by FPT Software
WHAT: DEPLOYMENT
Docker - Build, Ship, and Run Any App, Anywhere

Recommended for you

What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...

Presentation at Progress Exchange 2014. The Internet of Things is everywhere, from the connected home to the connected car, from smart watches to smart glasses, from beacons to smart thermostats. In this session we will provide an updated view of the IOT space and we will show you how Pacific technology like Node.js and Rollbase can be used to build IOT applications. The presentation included a demo showing how Node.js and MongoDB can be used to process a GPS feed (from vehicles like snow plows), using MongoDB to store the data. The data is then presented to Rollbase as an external source where it can be combined with other sources in model-driven productivity applications. The content is also exposed via REST through a SPA using AngularJS and through an Apache Cordova (Phonegap)-based mobile app.

rollbaseiotibeacons
Mule soft meetup Houston 16
Mule soft meetup Houston 16Mule soft meetup Houston 16
Mule soft meetup Houston 16

Our next Houston MuleSoft Meetup - Thursday, Februrary 24th, 11:30am to 1:00pm. Mike Saleme: New platform announcements Charels Li: "Application Architecture - Demystify concepts and practices"

mulesoftanypoint platformcloudhub
Learn mulesoft from scratch
Learn mulesoft from scratchLearn mulesoft from scratch
Learn mulesoft from scratch

You can learn Mulesoft from step by step using this presentation. This presentation was delivered in 2nd May '20 at the Surat Mulesfot Meetup. Key topics covered during the event: 1. What is 'API' & 'Integration' 2. Introduction to API-Led Integration and MuleSoft 3. What is Anypoint Platform 4. Mulesoft Training & Certification

mulesoftintegrationapi
45Copyright © 2014 by FPT Software
WHAT: DEPLOYMENT
Docker - Build, Ship, and Run Any App, Anywhere
46Copyright © 2014 by FPT Software
WHAT: DEPLOYMENT
DOCKER SOLVES THE NxN PROBLEM
47Copyright © 2014 by FPT Software
WHAT: DEPLOYMENT
48Copyright © 2014 by FPT Software
WHAT: DEPLOYMENT
CI - Continuous Integration

Recommended for you

Ten Reasons to Switch to 8.X
Ten Reasons to Switch to 8.XTen Reasons to Switch to 8.X
Ten Reasons to Switch to 8.X

This document provides an overview of a presentation about migrating to IBM WebSphere Portal 8.x. It discusses the top 10 reasons for migrating, including improved support, empowering business users, responsive design, social integration, and analytics integration. It also previews new features like managed pages, inline editing, and the script portlet. Best practices for migration are presented, such as keeping the plan simple and applying fix packs. Potential "gotchas" like content-only migration not being supported are also highlighted.

migrationdigital experience
ERP 2.0 (Cloud, New Functionality, FAH, Integration and M&A Focus)
ERP 2.0 (Cloud, New Functionality, FAH, Integration and M&A Focus)ERP 2.0 (Cloud, New Functionality, FAH, Integration and M&A Focus)
ERP 2.0 (Cloud, New Functionality, FAH, Integration and M&A Focus)

You're almost there! Your ERP has successfully been installed and you are now moving into the next phase of the ERP lifecycle. Time to consider what option will be of most value to your organization, such as Cloud, Fusion Accounting Hub, Analytics, Integration and M&A flexibility.

oracle cloudebssaas
Innovation in the network – Adding value to voice OpenCloud Bouygues
Innovation in the network – Adding value to voice OpenCloud BouyguesInnovation in the network – Adding value to voice OpenCloud Bouygues
Innovation in the network – Adding value to voice OpenCloud Bouygues

Innovation in the network – Adding value to voice . TADSummit 12-13 November, Istanbul, Point Hotel Taksim. Patrice Crutel Senior Architect - Core Network & Services, Mark Windle , Head of Marketing, OpenCloud.

mark windleopencloudbouygues
49Copyright © 2014 by FPT Software
WHAT: DEPLOYMENT
Deployment Options
50Copyright © 2014 by FPT Software
WHAT: BALANCING LOAD
51Copyright © 2014 by FPT Software
WHAT: METRIC & MONITORING
52Copyright © 2014 by FPT Software
WHAT: METRIC & MONITORING

Recommended for you

Have your cake and eat it too: adopting technologies without sacrificing - Pa...
Have your cake and eat it too: adopting technologies without sacrificing - Pa...Have your cake and eat it too: adopting technologies without sacrificing - Pa...
Have your cake and eat it too: adopting technologies without sacrificing - Pa...

Interop Academy - June 19th, 11:30-12:00 The layer “cake” that’s become IT is flavored with consolidation, cloud, big data, BYOD, SDN and other acronyms to boot. Eating this cake inevitably leaves organizations with application performance issues. Come learn how IT can have its cake and eat it too.

riverbed techinternet world 2014interop
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces

An invited talk given by Mark Billinghurst on Research Directions for Cross Reality Interfaces. This was given on July 2nd 2024 as part of the 2024 Summer School on Cross Reality in Hagenberg, Austria (July 1st - 7th)

augmented realitycross realityvirtual reality
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024

Everything that I found interesting about machines behaving intelligently during June 2024

quantumfaxmachine
53Copyright © 2014 by FPT Software
CONCLUSION
Advantages of Microservice Architecture
• Each micro service is small and focused on a specific feature / business requirement.
• Microservice can be developed independently by small team of developers (normally 2 to 5 developers).
• Microservice is loosely coupled, means services are independent, in terms of development and deployment both.
• Microservice can be developed using different programming language (Personally I don't suggest to do it).
• Microservice allows easy and flexible way to integrate automatic deployment with Continuous Integration tools (for
e.g: Jenkins, Hudson, bamboo etc..).
• The productivity of a new team member will be quick enough.
• Microservice is easy to understand, modify and maintain for a developer because separation of code,small team and
focused work.
• Microservice allows you to take advantage of emerging and latest technologies (framework, programming language ,
programming practice, etc.).
• Microservice has code for business logic only, No mixup with HTML,CSS or other UI component.
• Microservice is easy to scale based on demand.
• Microservice can deploy on commodity hardware or low / medium configuration servers.
• Easy to integrate 3rd party service.
• Every microservice has it's own storage capability but it depends on the project’s requirement, you can have common
database like MySQL or Oracle for all services.
54Copyright © 2014 by FPT Software
CONCLUSION
Disadvantages of Microservice Architecture
• Microservice architecture brings a lot of operations overhead.
• DevOps Skill required (http://en.wikipedia.org/wiki/DevOps).
• Duplication of Effort.
• Distributed System is complicated to manage .
• Default to trace problem because of distributed deployment.
• Complicated to manage whole products when number of services increases.
55Copyright © 2014 by FPT Software
REFERENCE
 Microservices - http://martinfowler.com/articles/microservices.html
 Microservice architecture patterns and best practices - http://microservices.io/
 InfoQ eMag: Microservices - http://www.infoq.com/minibooks/emag-microservices
 Micro Services: Java, the Unix Way - http://www.infoq.com/presentations/Micro-Services
 Microservices: Decomposing Applications for Deployability and Scalability -
http://www.infoq.com/articles/microservices-intro
 Microservice Architecture: A Quick Guide- http://java.dzone.com/articles/microservice-architecture
 Making Architecture Work in Microservice Organizations -
http://tech.gilt.com/post/102628539834/making-architecture-work-in-microservice
 Life Preservation for Adaptable Software - https://github.com/russmiles/life-preserver-introductory-
article-developer-magazine
 The Art of Scalability - http://theartofscalability.com/
56Copyright © 2014 by FPT Software
Q&A

Recommended for you

WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck

YOUR RELIABLE WEB DESIGN & DEVELOPMENT TEAM — FOR LASTING SUCCESS WPRiders is a web development company specialized in WordPress and WooCommerce websites and plugins for customers around the world. The company is headquartered in Bucharest, Romania, but our team members are located all over the world. Our customers are primarily from the US and Western Europe, but we have clients from Australia, Canada and other areas as well. Some facts about WPRiders and why we are one of the best firms around: More than 700 five-star reviews! You can check them here. 1500 WordPress projects delivered. We respond 80% faster than other firms! Data provided by Freshdesk. We’ve been in business since 2015. We are located in 7 countries and have 22 team members. With so many projects delivered, our team knows what works and what doesn’t when it comes to WordPress and WooCommerce. Our team members are: - highly experienced developers (employees & contractors with 5 -10+ years of experience), - great designers with an eye for UX/UI with 10+ years of experience - project managers with development background who speak both tech and non-tech - QA specialists - Conversion Rate Optimisation - CRO experts They are all working together to provide you with the best possible service. We are passionate about WordPress, and we love creating custom solutions that help our clients achieve their goals. At WPRiders, we are committed to building long-term relationships with our clients. We believe in accountability, in doing the right thing, as well as in transparency and open communication. You can read more about WPRiders on the About us page.

web development agencywpriderswordpress development
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx

MuleSoft Meetup on APM and IDP

mulesoftai
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf

Support en anglais diffusé lors de l'événement 100% IA organisé dans les locaux parisiens d'Iguane Solutions, le mardi 2 juillet 2024 : - Présentation de notre plateforme IA plug and play : ses fonctionnalités avancées, telles que son interface utilisateur intuitive, son copilot puissant et des outils de monitoring performants. - REX client : Cyril Janssens, CTO d’ easybourse, partage son expérience d’utilisation de notre plateforme IA plug & play.

genaicloudrgpd
57Copyright © 2014 by FPT Software

More Related Content

What's hot

Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices
Bozhidar Bozhanov
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
Paulo Gandra de Sousa
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principles
Sanjoy Kumar Roy
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
Žilvinas Kuusas
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture
The Software House
 
Microservices
MicroservicesMicroservices
Microservices
SmartBear
 
Microservices
MicroservicesMicroservices
Microservices
Stephan Lindauer
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
Abdelghani Azri
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...
Chris Richardson
 
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!
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
Anil Allewar
 
Cloud Native Application
Cloud Native ApplicationCloud Native Application
Cloud Native Application
VMUG IT
 
Microservices, Containers and Docker
Microservices, Containers and DockerMicroservices, Containers and Docker
Microservices, Containers and Docker
Ioannis Papapanagiotou
 
A Pattern Language for Microservices
A Pattern Language for MicroservicesA Pattern Language for Microservices
A Pattern Language for Microservices
Chris Richardson
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
Amazon Web Services
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
Amazon Web Services
 
An introduction to Microservices
An introduction to MicroservicesAn introduction to Microservices
An introduction to Microservices
Cisco DevNet
 
What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...
Edureka!
 
Monitoring on Kubernetes using prometheus
Monitoring on Kubernetes using prometheusMonitoring on Kubernetes using prometheus
Monitoring on Kubernetes using prometheus
Chandresh Pancholi
 
Microservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and KafkaMicroservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and Kafka
Araf Karsh Hamid
 

What's hot (20)

Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principles
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture
 
Microservices
MicroservicesMicroservices
Microservices
 
Microservices
MicroservicesMicroservices
Microservices
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...
 
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...
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Cloud Native Application
Cloud Native ApplicationCloud Native Application
Cloud Native Application
 
Microservices, Containers and Docker
Microservices, Containers and DockerMicroservices, Containers and Docker
Microservices, Containers and Docker
 
A Pattern Language for Microservices
A Pattern Language for MicroservicesA Pattern Language for Microservices
A Pattern Language for Microservices
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
An introduction to Microservices
An introduction to MicroservicesAn introduction to Microservices
An introduction to Microservices
 
What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...What are Microservices | Microservices Architecture Training | Microservices ...
What are Microservices | Microservices Architecture Training | Microservices ...
 
Monitoring on Kubernetes using prometheus
Monitoring on Kubernetes using prometheusMonitoring on Kubernetes using prometheus
Monitoring on Kubernetes using prometheus
 
Microservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and KafkaMicroservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and Kafka
 

Similar to Microservice Architecture

The Cloud Foundry Story
The Cloud Foundry StoryThe Cloud Foundry Story
The Cloud Foundry Story
VMware Tanzu
 
Inovacao e Arquitetura Moderna com APIs e Mulesoft
Inovacao e Arquitetura Moderna com APIs e MulesoftInovacao e Arquitetura Moderna com APIs e Mulesoft
Inovacao e Arquitetura Moderna com APIs e Mulesoft
Danilo Bordini
 
Synectiks Microservice Platform
Synectiks Microservice PlatformSynectiks Microservice Platform
Synectiks Microservice Platform
Papu Bhattacharya
 
Cutting Through the Disruption
Cutting Through the DisruptionCutting Through the Disruption
Cutting Through the Disruption
OSSCube
 
Engineering DevOps and Cloud
Engineering DevOps and CloudEngineering DevOps and Cloud
Engineering DevOps and Cloud
Marc Hornbeek
 
Dec2020 meetup mule.pptx
Dec2020 meetup mule.pptxDec2020 meetup mule.pptx
Dec2020 meetup mule.pptx
Andreas Oberrauter
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
VMware Tanzu
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Matt Stine
 
Anypoint Platform for Pivotal Cloud Foundry
Anypoint Platform for Pivotal Cloud FoundryAnypoint Platform for Pivotal Cloud Foundry
Anypoint Platform for Pivotal Cloud Foundry
MuleSoft
 
Innovate at speed with Devops
Innovate at speed with DevopsInnovate at speed with Devops
Innovate at speed with Devops
Eric Cattoir
 
Say no to microservices slideshare
Say no to microservices slideshareSay no to microservices slideshare
Say no to microservices slideshare
Lykle Thijssen
 
PCF Cloud-Native Workshop Slides
PCF Cloud-Native Workshop SlidesPCF Cloud-Native Workshop Slides
PCF Cloud-Native Workshop Slides
VMware Tanzu
 
How IT Pros Can Get and Stay Relevant in the Cloud
How IT Pros Can Get and Stay Relevant in the CloudHow IT Pros Can Get and Stay Relevant in the Cloud
How IT Pros Can Get and Stay Relevant in the Cloud
Global Knowledge Training
 
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
Eduardo Pelegri-Llopart
 
Mule soft meetup Houston 16
Mule soft meetup Houston 16Mule soft meetup Houston 16
Mule soft meetup Houston 16
Jim Andrews
 
Learn mulesoft from scratch
Learn mulesoft from scratchLearn mulesoft from scratch
Learn mulesoft from scratch
Nikhil More
 
Ten Reasons to Switch to 8.X
Ten Reasons to Switch to 8.XTen Reasons to Switch to 8.X
Ten Reasons to Switch to 8.X
Prolifics
 
ERP 2.0 (Cloud, New Functionality, FAH, Integration and M&A Focus)
ERP 2.0 (Cloud, New Functionality, FAH, Integration and M&A Focus)ERP 2.0 (Cloud, New Functionality, FAH, Integration and M&A Focus)
ERP 2.0 (Cloud, New Functionality, FAH, Integration and M&A Focus)
Emtec Inc.
 
Innovation in the network – Adding value to voice OpenCloud Bouygues
Innovation in the network – Adding value to voice OpenCloud BouyguesInnovation in the network – Adding value to voice OpenCloud Bouygues
Innovation in the network – Adding value to voice OpenCloud Bouygues
Alan Quayle
 
Have your cake and eat it too: adopting technologies without sacrificing - Pa...
Have your cake and eat it too: adopting technologies without sacrificing - Pa...Have your cake and eat it too: adopting technologies without sacrificing - Pa...
Have your cake and eat it too: adopting technologies without sacrificing - Pa...
Internet World
 

Similar to Microservice Architecture (20)

The Cloud Foundry Story
The Cloud Foundry StoryThe Cloud Foundry Story
The Cloud Foundry Story
 
Inovacao e Arquitetura Moderna com APIs e Mulesoft
Inovacao e Arquitetura Moderna com APIs e MulesoftInovacao e Arquitetura Moderna com APIs e Mulesoft
Inovacao e Arquitetura Moderna com APIs e Mulesoft
 
Synectiks Microservice Platform
Synectiks Microservice PlatformSynectiks Microservice Platform
Synectiks Microservice Platform
 
Cutting Through the Disruption
Cutting Through the DisruptionCutting Through the Disruption
Cutting Through the Disruption
 
Engineering DevOps and Cloud
Engineering DevOps and CloudEngineering DevOps and Cloud
Engineering DevOps and Cloud
 
Dec2020 meetup mule.pptx
Dec2020 meetup mule.pptxDec2020 meetup mule.pptx
Dec2020 meetup mule.pptx
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
 
Anypoint Platform for Pivotal Cloud Foundry
Anypoint Platform for Pivotal Cloud FoundryAnypoint Platform for Pivotal Cloud Foundry
Anypoint Platform for Pivotal Cloud Foundry
 
Innovate at speed with Devops
Innovate at speed with DevopsInnovate at speed with Devops
Innovate at speed with Devops
 
Say no to microservices slideshare
Say no to microservices slideshareSay no to microservices slideshare
Say no to microservices slideshare
 
PCF Cloud-Native Workshop Slides
PCF Cloud-Native Workshop SlidesPCF Cloud-Native Workshop Slides
PCF Cloud-Native Workshop Slides
 
How IT Pros Can Get and Stay Relevant in the Cloud
How IT Pros Can Get and Stay Relevant in the CloudHow IT Pros Can Get and Stay Relevant in the Cloud
How IT Pros Can Get and Stay Relevant in the Cloud
 
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
 
Mule soft meetup Houston 16
Mule soft meetup Houston 16Mule soft meetup Houston 16
Mule soft meetup Houston 16
 
Learn mulesoft from scratch
Learn mulesoft from scratchLearn mulesoft from scratch
Learn mulesoft from scratch
 
Ten Reasons to Switch to 8.X
Ten Reasons to Switch to 8.XTen Reasons to Switch to 8.X
Ten Reasons to Switch to 8.X
 
ERP 2.0 (Cloud, New Functionality, FAH, Integration and M&A Focus)
ERP 2.0 (Cloud, New Functionality, FAH, Integration and M&A Focus)ERP 2.0 (Cloud, New Functionality, FAH, Integration and M&A Focus)
ERP 2.0 (Cloud, New Functionality, FAH, Integration and M&A Focus)
 
Innovation in the network – Adding value to voice OpenCloud Bouygues
Innovation in the network – Adding value to voice OpenCloud BouyguesInnovation in the network – Adding value to voice OpenCloud Bouygues
Innovation in the network – Adding value to voice OpenCloud Bouygues
 
Have your cake and eat it too: adopting technologies without sacrificing - Pa...
Have your cake and eat it too: adopting technologies without sacrificing - Pa...Have your cake and eat it too: adopting technologies without sacrificing - Pa...
Have your cake and eat it too: adopting technologies without sacrificing - Pa...
 

Recently uploaded

Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
Sally Laouacheria
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
BookNet Canada
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
Awais Yaseen
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
welrejdoall
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 

Recently uploaded (20)

Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 

Microservice Architecture

  • 1. Micro-service Architecture Style SMAC ERA… February 5, 2015 Nguyen Quang Tung Solution Architect M: 0127 666 0909 E: tungnq@fsoft.com.vn tungnq@gmail.com
  • 2. 2Copyright © 2014 by FPT Software WHO AM I? Nguyen Quang Tung •E1: tungnq@fsoft.com.vn •E2: tungnq@gmail.com •M: +841276660909 Professional: • Cán Bộ Công Nghệ FPT Lvl3 – System Architect •7+ Solution Architect •6+ Project Manager •11+ Java/J2EE Development Domain: •Multi-media/Video Broadcasting •Stock Market •CMS & DMS •Real Property Market. •eGovernment Bachelor of Science Master of Science Mini – MBA
  • 3. 3Copyright © 2014 by FPT Software
  • 4. 4Copyright © 2014 by FPT Software WHO IS BIG PLAYER IN THIS GAME! http://microservices.io/patterns/microservices.html
  • 5. 5Copyright © 2014 by FPT Software MICROSERVICE ARCHITECTURE - CONCEPTS Concepts Why? How? What? •Concept •Technology
  • 6. 6Copyright © 2014 by FPT Software SW Architecture in the Context of History
  • 7. 7Copyright © 2014 by FPT Software Concepts: WHAT ARE MICRO-SERVICERS? The Micro-Service 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. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.
  • 8. 8Copyright © 2014 by FPT Software Concepts: SERVICE ORENTED ARCHITECTURE (SOA)? Classic SOA •Integrates different applications as a set of services Microservices •Architect a single application as a set of services Yes, it’s SOA … but different implementation approach
  • 9. 9Copyright © 2014 by FPT Software Concepts: CLASSIC SOA vs MICROSERVICE Classic SOA • Integrates different applications as a set of services Typical implementation solution • Heavy-weight • Orchestration • ESB • WS*/SOAP • License-driven • Intelligent Communication Layer Target Problem • Integrate (Legacy) Software
  • 10. 10Copyright © 2014 by FPT Software Concepts: CLASSIC SOA vs MICROSERVICE MICROSERVICE • Architect a single application as a set of services Typical implementation solution • Light-weight • Choreography • HTTP/REST/JSON • Intelligent Services • Dumb Communication Layer Target Problem • Architect new Business Platform
  • 11. 11Copyright © 2014 by FPT Software MICROSERVICE ARCHITECTURE – WHY? Concepts Why? How? What? •Concept •Technology
  • 12. 12Copyright © 2014 by FPT Software WHY: EVOLUTION OF SOFTWARE ARCHITECTURE
  • 13. 13Copyright © 2014 by FPT Software WHY: FROM MONOLITHIC TO CLOUD
  • 14. 14Copyright © 2014 by FPT Software WHY: THE CURSE OF THE MONOLITH Simple to Develop Simple to Deploy Simple to Scale
  • 15. 15Copyright © 2014 by FPT Software WHY: THE CURSE OF THE MONOLITH Hard to understand and modify Overloaded IDE Overloaded Web Container • Large Code Intimidates Developers Development Slows Down
  • 16. 16Copyright © 2014 by FPT Software WHY: THE CURSE OF THE MONOLITH • Small Change - Big Impact Any change requires full rebuild, test and deploy Impact analysis is huge effort and takes long Obstacle for frequent changes and deployments
  • 17. 17Copyright © 2014 by FPT Software WHY: THE CURSE OF THE MONOLITH • Big Risk for Re-Write No hard module boundaries Quality and Modularity breaks down over time this enforces eventual need for re-write Long term commitment to technology stack Change or try-out new technology implies re- write Re-write = complete re-write No partial re-write
  • 18. 18Copyright © 2014 by FPT Software WHY: THE CURSE OF THE MONOLITH • Little Resilience to Failure Failure in monolith brings it down
  • 19. 19Copyright © 2014 by FPT Software WHY: THE CURSE OF THE MONOLITH • Scaling can be difficult Mostly Horizontal scaling many load balanced instances Hard to scale to data growth cope with all data Different components have different resource needs Scaling development implies coordination overhead
  • 20. 20Copyright © 2014 by FPT Software WHY: TYPES OF SCALING • The Scale Cube
  • 21. 21Copyright © 2014 by FPT Software WHY: TYPES OF SCALING
  • 22. 22Copyright © 2014 by FPT Software WHY: TYPES OF SCALING V1 V2 Re-write a service in 2-3 weeks
  • 23. 23Copyright © 2014 by FPT Software WHY: ARCHITECTURAL BENEFITS Small and focused on 1 capability •Easier to understand •IDE and deployment faster for 1 service Independent •Release and deployment •Scaling •Development Loosely Coupled •Through lightweight communication Fault Isolation vs bring all down. Allows try-out of new technologies. Re-write can be limited to 1 service •Impact Analysis stops at boundary Provide firm module boundaries with explicit interface! •Less risk on re-write •Harder to violate boundary in development Decentralized choreography •vs central orchestration •vs central point of failure Decentralized data •Polyglot persistence
  • 24. 24Copyright © 2014 by FPT Software WHY: ARCHITECTURE EVOLUTION 1 - Key (business) drivers guide architectural decisions • Micro-services are organized around business capabilities 2 - Postpone decisions to Last Responsible Moment • Micro-services allow delay of scaling and technological decisions 3 - Architect and develop for Evolvability • Micro-services support evolution in technology, scaling, and features
  • 25. 25Copyright © 2014 by FPT Software MICROSERVICE ARCHITECTURE - HOW-TO? Concepts Why? How? What? •Concept •Technology
  • 26. 26Copyright © 2014 by FPT Software HOW-TO: PRINCIPLES OF MICROSERVICES http://12factor.net/
  • 27. 27Copyright © 2014 by FPT Software HOW-TO: Big Picture!
  • 28. 28Copyright © 2014 by FPT Software HOW-TO: 7 PRINCIPLES OF MICROSERVICES Principles Of Microservices 1. Modelled Around Business Domain 2. Culture Of Automation 3. Hide Implementation Details 4. Decentralise All The Things 5. Deploy Independently 6. Isolate Failure 7. Highly Observable
  • 29. 29Copyright © 2014 by FPT Software HOW-TO: 7 PRINCIPLES OF MICROSERVICES 1. Modelled Around Business Domain Principles Of Microservic es 1. Modelled Around Business Domain 2. Culture Of Automation 3. Hide Implementatio n Details 4. Decentralise All The Things 5. Deploy Independently 6. Isolate Failure 7. Highly Observable Benefits  Domain modules can migrate independently to next version!  Database schema is internal to the domain bundle, i.e. NOT part of the API!  Persistence and/or database technology can differ between modules in one system!
  • 30. 30Copyright © 2014 by FPT Software HOW-TO: 7 PRINCIPLES OF MICROSERVICES 2. Culture Of Automation Principles Of Microservic es 1. Modelled Around Business Domain 2. Culture Of Automation 3. Hide Implementatio n Details 4. Decentralise All The Things 5. Deploy Independently 6. Isolate Failure 7. Highly Observable Infrastructure Automation Automated Testing Continuous Delivery!
  • 31. 31Copyright © 2014 by FPT Software HOW-TO: 7 PRINCIPLES OF MICROSERVICES 3. Hide Implementation Details Principles Of Microservic es 1. Modelled Around Business Domain 2. Culture Of Automation 3. Hide Implementatio n Details 4. Decentralise All The Things 5. Deploy Independently 6. Isolate Failure 7. Highly Observable Databases Business Partner Vehicle Service Business Partner Service Transport Service Databases Vehicle Databases Transport Databases Vehicle Business Partner Transport Vehicle App Business Partner App Transport App Vehicle Context Transport Context Business Partner Context Hide Your Database!
  • 32. 32Copyright © 2014 by FPT Software HOW-TO: 7 PRINCIPLES OF MICROSERVICES 4. Decentralize All The Things Principles Of Microservic es 1. Modelled Around Business Domain 2. Culture Of Automation 3. Hide Implementatio n Details 4. Decentralise All The Things 5. Deploy Independently 6. Isolate Failure 7. Highly Observable What is autonomy?  Giving people as much freedom as possible to do the job at hand Autonomy! Self Service Share Governance Owner Operator Internal Open Source Dumb- Pipes, Smart Endpoint
  • 33. 33Copyright © 2014 by FPT Software HOW-TO: 7 PRINCIPLES OF MICROSERVICES 5. Deploy Independently Deployment One Service Per-Host Consumer- Driven Contracts Co-Exist Point Principles Of Microservic es 1. Modelled Around Business Domain 2. Culture Of Automation 3. Hide Implementatio n Details 4. Decentralise All The Things 5. Deploy Independently 6. Isolate Failure 7. Highly Observable
  • 34. 34Copyright © 2014 by FPT Software HOW-TO: 7 PRINCIPLES OF MICROSERVICES 6. Isolate Failure Principles Of Microservic es 1. Modelled Around Business Domain 2. Culture Of Automation 3. Hide Implementatio n Details 4. Decentralise All The Things 5. Deploy Independently 6. Isolate Failure 7. Highly Observable
  • 35. 35Copyright © 2014 by FPT Software HOW-TO: 7 PRINCIPLES OF MICROSERVICES 7. Highly Observable Principles Of Microservic es 1. Modelled Around Business Domain 2. Culture Of Automation 3. Hide Implementatio n Details 4. Decentralise All The Things 5. Deploy Independently 6. Isolate Failure 7. Highly Observable Correlation IDs Aggregation
  • 36. 36Copyright © 2014 by FPT Software HOW-TO: MICROSERVICE CHALLENGES
  • 37. 37Copyright © 2014 by FPT Software HOW-TO: MICROSERVICE CHALLENGES Communication Between Services • Use case: New Order Received
  • 38. 38Copyright © 2014 by FPT Software HOW-TO: MICROSERVICE CHALLENGES Handling Failures • FALLBACK MESSAGE QUEUE • PER-SERVICE THREAD POOLS
  • 39. 39Copyright © 2014 by FPT Software HOW-TO: MICROSERVICE CHALLENGES Minimising Communicational Overhead • API GATEWAY
  • 40. 40Copyright © 2014 by FPT Software HOW-TO: MICROSERVICE CHALLENGES Handling Failures in Communication • CIRCUIT BREAKER
  • 41. 41Copyright © 2014 by FPT Software MICROSERVICE ARCHITECTURE - WHAT? Concepts Why? How? What? •Concept •Technology
  • 42. 42Copyright © 2014 by FPT Software WHAT: TECHNOLOGY Microservice Implementation Stack
  • 43. 43Copyright © 2014 by FPT Software WHAT: DEPLOYMENT Deployment Options
  • 44. 44Copyright © 2014 by FPT Software WHAT: DEPLOYMENT Docker - Build, Ship, and Run Any App, Anywhere
  • 45. 45Copyright © 2014 by FPT Software WHAT: DEPLOYMENT Docker - Build, Ship, and Run Any App, Anywhere
  • 46. 46Copyright © 2014 by FPT Software WHAT: DEPLOYMENT DOCKER SOLVES THE NxN PROBLEM
  • 47. 47Copyright © 2014 by FPT Software WHAT: DEPLOYMENT
  • 48. 48Copyright © 2014 by FPT Software WHAT: DEPLOYMENT CI - Continuous Integration
  • 49. 49Copyright © 2014 by FPT Software WHAT: DEPLOYMENT Deployment Options
  • 50. 50Copyright © 2014 by FPT Software WHAT: BALANCING LOAD
  • 51. 51Copyright © 2014 by FPT Software WHAT: METRIC & MONITORING
  • 52. 52Copyright © 2014 by FPT Software WHAT: METRIC & MONITORING
  • 53. 53Copyright © 2014 by FPT Software CONCLUSION Advantages of Microservice Architecture • Each micro service is small and focused on a specific feature / business requirement. • Microservice can be developed independently by small team of developers (normally 2 to 5 developers). • Microservice is loosely coupled, means services are independent, in terms of development and deployment both. • Microservice can be developed using different programming language (Personally I don't suggest to do it). • Microservice allows easy and flexible way to integrate automatic deployment with Continuous Integration tools (for e.g: Jenkins, Hudson, bamboo etc..). • The productivity of a new team member will be quick enough. • Microservice is easy to understand, modify and maintain for a developer because separation of code,small team and focused work. • Microservice allows you to take advantage of emerging and latest technologies (framework, programming language , programming practice, etc.). • Microservice has code for business logic only, No mixup with HTML,CSS or other UI component. • Microservice is easy to scale based on demand. • Microservice can deploy on commodity hardware or low / medium configuration servers. • Easy to integrate 3rd party service. • Every microservice has it's own storage capability but it depends on the project’s requirement, you can have common database like MySQL or Oracle for all services.
  • 54. 54Copyright © 2014 by FPT Software CONCLUSION Disadvantages of Microservice Architecture • Microservice architecture brings a lot of operations overhead. • DevOps Skill required (http://en.wikipedia.org/wiki/DevOps). • Duplication of Effort. • Distributed System is complicated to manage . • Default to trace problem because of distributed deployment. • Complicated to manage whole products when number of services increases.
  • 55. 55Copyright © 2014 by FPT Software REFERENCE  Microservices - http://martinfowler.com/articles/microservices.html  Microservice architecture patterns and best practices - http://microservices.io/  InfoQ eMag: Microservices - http://www.infoq.com/minibooks/emag-microservices  Micro Services: Java, the Unix Way - http://www.infoq.com/presentations/Micro-Services  Microservices: Decomposing Applications for Deployability and Scalability - http://www.infoq.com/articles/microservices-intro  Microservice Architecture: A Quick Guide- http://java.dzone.com/articles/microservice-architecture  Making Architecture Work in Microservice Organizations - http://tech.gilt.com/post/102628539834/making-architecture-work-in-microservice  Life Preservation for Adaptable Software - https://github.com/russmiles/life-preserver-introductory- article-developer-magazine  The Art of Scalability - http://theartofscalability.com/
  • 56. 56Copyright © 2014 by FPT Software Q&A
  • 57. 57Copyright © 2014 by FPT Software