SlideShare a Scribd company logo
Microservice Architecture
Dropwizard Vs Spring Boot
Nenad Pečanac
Serengeti
Contents
1) Definition
2) Monolithic architecture
3) Microservice arhitecture
4) Pros and Cons
5) Dropwizard Vs Spring Boot
6) References
1) Definition
Microservice architecture
“Microservice architectural style is an approach to
developing a single application as a suite of small
services, each running in its own process and
communicating with lightweight mechanisms,
often an HTTP resource API.”
Martin Fowler, ThoughtWorks
2) Monolithic architecture
Monolithic architecture
Monolithic architecture
Classical architecture.
Application is built as a single unit.
Typical 3 layer EA:
- client-side UI (Browser, HTML + JS)
- a database (RDBMS, NoSql ..)
- server-side application
(Java, .NET, Ruby, Python, PHP ..)
Monolithic architecture
The server-side application
- will handle HTTP requests
- execute domain logic
- retrieve and update data from the database
- select and populate HTML views
This server-side application is a
Monolith - Single logical executable.
Monolithic architecture
Monolithic server - natural approach
All logic for handling a request runs in a single
process, divided and organized into classes,
functions, and namespaces.
Application is developed on a developer's laptop,
deployed to a testing environment and after that to
production environment.
Monolith is horizontally scaled by running many
instances behind a load-balancer.
Monolithic architecture – drawbacks
Any changes to the system involve building and
deploying a new version of the application.
Changes require good planning and coordination.
Changes are expensive.
It is hard to keep a good modular structure.
Scaling requires scaling of the entire application
rather than parts of it that require greater resource.
Long release cycles.
Monolithic architecture
Example
3) Microservice architecture
Microservice architecture
Microservice architecture
Applications naturally start as Monoliths, they
scale and evolve to Microservice architecture.
Applications are then decomposed to components –
smaller independent service applications.
Components are very simple and loosely coupled.
Microservice architecture
Decentralized data management.
Decentralized governance.
Microservice architecture
They are built around business capabilities.
Each component runs as a separate application,
clustered to as many nodes as required.
Microservice architecture
Applications aim to be as decoupled and
as cohesive as possible.
Components usually communicate through REST.
Components sometime use lightweight messaging
(RabbitMQ, Zero MQ).
There is NO ESB or any other form of central
communication management.
Mikroservisna arhitektura
Smart endpoints an dumb pipes:
Microservice architecture
Components are designed for failure.
Any service can fail, anytime.
The client has to respond as gracefully as possible.
It's important to be able to detect the failures quickly
and, if possible, automatically restore service.
Microservice applications put a lot of emphasis on
real-time monitoring.
Microservice architecture
Netflix's Chaos Monkey induces failures of services
during the working day to test the application's
resilience and monitoring.
Microservices <->Classic SOA
SOA
XML
Complex to integrate
Heavy
Requires tooling
HTTP/SOAP
Microservices
JSON
Easy to integrate
Lightweight
Light tooling
HTTP/REST
Mikroservisna arhitektura
Who uses Microservices in Production?
Microservice architecture
Example
Microservice architecture
API Gateway
4) Pros and Cons
Microservice architecture - Pros
Multiple developers and teams can deliver relatively 
independently of each other.
May be written in different programming languages.
May be managed by different teams.
May use different data storage technologies.
Centralized management is minimal.
Microservice architecture - Pros
Independently deployable by fully automated
deployment machinery.
Works well with Contionous delivery.
Allows frequent releases while keeping the rest
of the system available and stable.
Microservice architecture - Cons
Distributed system complexity.
Inter-service communication complexity.
Distributed transactions between services don’t exist.
Significant operations overhead.
Difficult testing - Interactions between the services
Robust error handling and recovery is required.
Sophisticated real-time monitoring required.
5) Dropwizard Vs Spring Boot
Dropwizard Vs Spring Boot
Both are microservice containers and
rapid development frameworks.
Convention over configuration.
Applications are deployed as standalone JAR
files with embedded lightweight servers
(Jetty, Tomcat, Undertow)
Built in monitoring, logging and health checks.
Easy to leverage existing libraries.
Dropwizard Vs Spring Boot
Dropwizard Vs Spring Boot
Dropwizard is built on Jetty.
Spring Boot is focused on Spring applications,
supports Tomcat, Jetty or Undertow.
Dropwizard puts its REST support with Jersey.
Spring Boot has REST implementation based
on Spring Framework’s core.
Dropwizard uses Logback, Spring offers a
choice between Logback, Log4j and Log4j2.
Dropwizard Vs Spring Boot
Main difference between both frameworks is
dependency injection support.
Spring’s core comes with it’s built in dependency
injection support while with Dropwizard this
doesn’t come out of the box.
Both frameworks have a special module for testing
including JUnit and Mockito dependencies.
Dropwizard Vs Spring Boot
Conclusion
1) Spring Boot is a part of Spring ecosystem
and suits best for Spring-oriented projects
2) Spring offers broader list of supported services
- REST, JMS, Messaging...
3) Dropwizard offers integrations
with other DI frameworks like Guice, CDI …
4) Dropwizard owns popular metrics library
6) References
References
Martin Fowler: Microservices
Craig Richardson: Microservice Architecture Pattern
Craig Richardson: Decomposing Applications
Stefan Borsje: How we built microservcies at Karma
Benjamin Wootton: Microservices - Not a free lunch
Dropwizard: http://www.dropwizard.io/
Spring Boot: http://projects.spring.io/spring-boot/
Alex Zhitnitsky: Dropwizard Vs Spring Boot
Rizvan Ulah: Dropwizard Vs Spring Boot

More Related Content

What's hot

Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Binary Studio
 
Microservices in Java
Microservices in JavaMicroservices in Java
Microservices in Java
Anatole Tresch
 
Think Small To Go Big - Introduction To Microservices
Think Small To Go Big - Introduction To MicroservicesThink Small To Go Big - Introduction To Microservices
Think Small To Go Big - Introduction To Microservices
Ryan Baxter
 
Continuous delivery by sergey seletsky
Continuous delivery by sergey seletskyContinuous delivery by sergey seletsky
Continuous delivery by sergey seletsky
Sergey Seletsky
 
Microservices: A Gentle Introduction
Microservices: A Gentle IntroductionMicroservices: A Gentle Introduction
Microservices: A Gentle Introduction
Donald Belcham
 
Microservices: an introduction
Microservices: an introductionMicroservices: an introduction
Microservices: an introduction
Daniel Baptista Dias
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
Abdelghani Azri
 
Microservice Architecture using Spring Boot with React & Redux
Microservice Architecture using Spring Boot with React & ReduxMicroservice Architecture using Spring Boot with React & Redux
Microservice Architecture using Spring Boot with React & Redux
NexThoughts Technologies
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
André Faria Gomes
 
Microservice intro
Microservice introMicroservice intro
Microservice intro
ramesh_sharma
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To Microservices
Lalit Kale
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Richard Langlois P. Eng.
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
Izzet Mustafaiev
 
Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016
Richard Banks
 
Micro services Architecture
Micro services ArchitectureMicro services Architecture
Micro services Architecture
Jenis Dharmadurai
 
Node and Micro-Services at IBM
Node and Micro-Services at IBMNode and Micro-Services at IBM
Node and Micro-Services at IBM
Dejan Glozic
 
[WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS
[WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS[WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS
[WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS
Afkham Azeez
 
Service mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communicationsService mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communications
Satya Syam
 
micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)
smancke
 
Microservices
MicroservicesMicroservices

What's hot (20)

Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
 
Microservices in Java
Microservices in JavaMicroservices in Java
Microservices in Java
 
Think Small To Go Big - Introduction To Microservices
Think Small To Go Big - Introduction To MicroservicesThink Small To Go Big - Introduction To Microservices
Think Small To Go Big - Introduction To Microservices
 
Continuous delivery by sergey seletsky
Continuous delivery by sergey seletskyContinuous delivery by sergey seletsky
Continuous delivery by sergey seletsky
 
Microservices: A Gentle Introduction
Microservices: A Gentle IntroductionMicroservices: A Gentle Introduction
Microservices: A Gentle Introduction
 
Microservices: an introduction
Microservices: an introductionMicroservices: an introduction
Microservices: an introduction
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Microservice Architecture using Spring Boot with React & Redux
Microservice Architecture using Spring Boot with React & ReduxMicroservice Architecture using Spring Boot with React & Redux
Microservice Architecture using Spring Boot with React & Redux
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Microservice intro
Microservice introMicroservice intro
Microservice intro
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To Microservices
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016
 
Micro services Architecture
Micro services ArchitectureMicro services Architecture
Micro services Architecture
 
Node and Micro-Services at IBM
Node and Micro-Services at IBMNode and Micro-Services at IBM
Node and Micro-Services at IBM
 
[WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS
[WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS[WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS
[WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS
 
Service mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communicationsService mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communications
 
micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)
 
Microservices
MicroservicesMicroservices
Microservices
 

Similar to Microservice Architecture JavaCro 2015

Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
Faren faren
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern Launguage
Inho Kang
 
Microservices Corporate Style
Microservices Corporate StyleMicroservices Corporate Style
Microservices Corporate Style
Narendranath Reddy
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
Araf Karsh Hamid
 
Basics of Java Microservices: Frameworks, Examples & Use Cases
Basics of Java Microservices: Frameworks, Examples & Use CasesBasics of Java Microservices: Frameworks, Examples & Use Cases
Basics of Java Microservices: Frameworks, Examples & Use Cases
GrapesTech Solutions
 
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
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
Kim Clark
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
Araf Karsh Hamid
 
Do You Need A Service Mesh?
Do You Need A Service Mesh?Do You Need A Service Mesh?
Do You Need A Service Mesh?
NGINX, Inc.
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHYSELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
dannyijwest
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
IJwest
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
Araf Karsh Hamid
 
Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016 Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016
Sagara Gunathunga
 
Microservices.pptx
Microservices.pptxMicroservices.pptx
Microservices.pptx
EverestMedinilla2
 
Microservices
MicroservicesMicroservices
Microservices
Thiago Lopes
 
Best Spring Boot & MicroServices Classroom & Online Training Naresh-IT
Best Spring Boot & MicroServices Classroom & Online Training Naresh-ITBest Spring Boot & MicroServices Classroom & Online Training Naresh-IT
Best Spring Boot & MicroServices Classroom & Online Training Naresh-IT
manoharjgpsolutions
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts framework
s4al_com
 
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
Oracle Korea
 
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
Inho Kang
 
Microservices
MicroservicesMicroservices
Microservices
Ramesh (@Mavuluri)
 

Similar to Microservice Architecture JavaCro 2015 (20)

Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern Launguage
 
Microservices Corporate Style
Microservices Corporate StyleMicroservices Corporate Style
Microservices Corporate Style
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
Basics of Java Microservices: Frameworks, Examples & Use Cases
Basics of Java Microservices: Frameworks, Examples & Use CasesBasics of Java Microservices: Frameworks, Examples & Use Cases
Basics of Java Microservices: Frameworks, Examples & Use Cases
 
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
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
 
Do You Need A Service Mesh?
Do You Need A Service Mesh?Do You Need A Service Mesh?
Do You Need A Service Mesh?
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHYSELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016 Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016
 
Microservices.pptx
Microservices.pptxMicroservices.pptx
Microservices.pptx
 
Microservices
MicroservicesMicroservices
Microservices
 
Best Spring Boot & MicroServices Classroom & Online Training Naresh-IT
Best Spring Boot & MicroServices Classroom & Online Training Naresh-ITBest Spring Boot & MicroServices Classroom & Online Training Naresh-IT
Best Spring Boot & MicroServices Classroom & Online Training Naresh-IT
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts framework
 
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 알아보기 | 강인호 컨설턴트, 오라클
 
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
 
Microservices
MicroservicesMicroservices
Microservices
 

Recently uploaded

Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
aqil azizi
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
Kamal Acharya
 
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Soumen Santra
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABSDESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
itech2017
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
symbo111
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERSCW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
veerababupersonal22
 
Investor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptxInvestor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptx
AmarGB2
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
ssuser7dcef0
 
The Role of Electrical and Electronics Engineers in IOT Technology.pdf
The Role of Electrical and Electronics Engineers in IOT Technology.pdfThe Role of Electrical and Electronics Engineers in IOT Technology.pdf
The Role of Electrical and Electronics Engineers in IOT Technology.pdf
Nettur Technical Training Foundation
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 

Recently uploaded (20)

Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
 
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABSDESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERSCW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
 
Investor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptxInvestor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptx
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
 
The Role of Electrical and Electronics Engineers in IOT Technology.pdf
The Role of Electrical and Electronics Engineers in IOT Technology.pdfThe Role of Electrical and Electronics Engineers in IOT Technology.pdf
The Role of Electrical and Electronics Engineers in IOT Technology.pdf
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 

Microservice Architecture JavaCro 2015

  • 1. Microservice Architecture Dropwizard Vs Spring Boot Nenad Pečanac Serengeti
  • 2. Contents 1) Definition 2) Monolithic architecture 3) Microservice arhitecture 4) Pros and Cons 5) Dropwizard Vs Spring Boot 6) References
  • 4. Microservice architecture “Microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.” Martin Fowler, ThoughtWorks
  • 7. Monolithic architecture Classical architecture. Application is built as a single unit. Typical 3 layer EA: - client-side UI (Browser, HTML + JS) - a database (RDBMS, NoSql ..) - server-side application (Java, .NET, Ruby, Python, PHP ..)
  • 8. Monolithic architecture The server-side application - will handle HTTP requests - execute domain logic - retrieve and update data from the database - select and populate HTML views This server-side application is a Monolith - Single logical executable.
  • 9. Monolithic architecture Monolithic server - natural approach All logic for handling a request runs in a single process, divided and organized into classes, functions, and namespaces. Application is developed on a developer's laptop, deployed to a testing environment and after that to production environment. Monolith is horizontally scaled by running many instances behind a load-balancer.
  • 10. Monolithic architecture – drawbacks Any changes to the system involve building and deploying a new version of the application. Changes require good planning and coordination. Changes are expensive. It is hard to keep a good modular structure. Scaling requires scaling of the entire application rather than parts of it that require greater resource. Long release cycles.
  • 14. Microservice architecture Applications naturally start as Monoliths, they scale and evolve to Microservice architecture. Applications are then decomposed to components – smaller independent service applications. Components are very simple and loosely coupled.
  • 15. Microservice architecture Decentralized data management. Decentralized governance.
  • 16. Microservice architecture They are built around business capabilities. Each component runs as a separate application, clustered to as many nodes as required.
  • 17. Microservice architecture Applications aim to be as decoupled and as cohesive as possible. Components usually communicate through REST. Components sometime use lightweight messaging (RabbitMQ, Zero MQ). There is NO ESB or any other form of central communication management.
  • 19. Microservice architecture Components are designed for failure. Any service can fail, anytime. The client has to respond as gracefully as possible. It's important to be able to detect the failures quickly and, if possible, automatically restore service. Microservice applications put a lot of emphasis on real-time monitoring.
  • 20. Microservice architecture Netflix's Chaos Monkey induces failures of services during the working day to test the application's resilience and monitoring.
  • 21. Microservices <->Classic SOA SOA XML Complex to integrate Heavy Requires tooling HTTP/SOAP Microservices JSON Easy to integrate Lightweight Light tooling HTTP/REST
  • 22. Mikroservisna arhitektura Who uses Microservices in Production?
  • 25. 4) Pros and Cons
  • 26. Microservice architecture - Pros Multiple developers and teams can deliver relatively  independently of each other. May be written in different programming languages. May be managed by different teams. May use different data storage technologies. Centralized management is minimal.
  • 27. Microservice architecture - Pros Independently deployable by fully automated deployment machinery. Works well with Contionous delivery. Allows frequent releases while keeping the rest of the system available and stable.
  • 28. Microservice architecture - Cons Distributed system complexity. Inter-service communication complexity. Distributed transactions between services don’t exist. Significant operations overhead. Difficult testing - Interactions between the services Robust error handling and recovery is required. Sophisticated real-time monitoring required.
  • 29. 5) Dropwizard Vs Spring Boot
  • 30. Dropwizard Vs Spring Boot Both are microservice containers and rapid development frameworks. Convention over configuration. Applications are deployed as standalone JAR files with embedded lightweight servers (Jetty, Tomcat, Undertow) Built in monitoring, logging and health checks. Easy to leverage existing libraries.
  • 32. Dropwizard Vs Spring Boot Dropwizard is built on Jetty. Spring Boot is focused on Spring applications, supports Tomcat, Jetty or Undertow. Dropwizard puts its REST support with Jersey. Spring Boot has REST implementation based on Spring Framework’s core. Dropwizard uses Logback, Spring offers a choice between Logback, Log4j and Log4j2.
  • 33. Dropwizard Vs Spring Boot Main difference between both frameworks is dependency injection support. Spring’s core comes with it’s built in dependency injection support while with Dropwizard this doesn’t come out of the box. Both frameworks have a special module for testing including JUnit and Mockito dependencies.
  • 34. Dropwizard Vs Spring Boot Conclusion 1) Spring Boot is a part of Spring ecosystem and suits best for Spring-oriented projects 2) Spring offers broader list of supported services - REST, JMS, Messaging... 3) Dropwizard offers integrations with other DI frameworks like Guice, CDI … 4) Dropwizard owns popular metrics library
  • 36. References Martin Fowler: Microservices Craig Richardson: Microservice Architecture Pattern Craig Richardson: Decomposing Applications Stefan Borsje: How we built microservcies at Karma Benjamin Wootton: Microservices - Not a free lunch Dropwizard: http://www.dropwizard.io/ Spring Boot: http://projects.spring.io/spring-boot/ Alex Zhitnitsky: Dropwizard Vs Spring Boot Rizvan Ulah: Dropwizard Vs Spring Boot