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

PPTX
Introduction to microservices
PPTX
Building microservices sample application
PDF
Microservice Architecture 101
PPTX
Microservice architecture design principles
PDF
Understanding MicroSERVICE Architecture with Java & Spring Boot
PPTX
Microservice vs. Monolithic Architecture
PDF
Introduction to Microservices
PDF
OpenFest 2016 - Open Microservice Architecture
Introduction to microservices
Building microservices sample application
Microservice Architecture 101
Microservice architecture design principles
Understanding MicroSERVICE Architecture with Java & Spring Boot
Microservice vs. Monolithic Architecture
Introduction to Microservices
OpenFest 2016 - Open Microservice Architecture

What's hot (20)

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

Similar to Microservice Architecture JavaCro 2015 (20)

PPTX
Microservices architecture
PPTX
Microservice Pattern Launguage
PPTX
Microservices Corporate Style
PPTX
Microservices Architecture & Testing Strategies
PDF
Basics of Java Microservices: Frameworks, Examples & Use Cases
PPTX
Microservices Part 3 Service Mesh and Kafka
PDF
Microservices: Where do they fit within a rapidly evolving integration archit...
PPTX
Microservices Architecture - Bangkok 2018
PPTX
Unit No. II Architecture.pptx Cloud Microservices & Application
PPTX
Do You Need A Service Mesh?
PDF
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
PDF
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
PPSX
Microservices Architecture - Cloud Native Apps
PPTX
Understanding Microservice Architecture WSO2Con Asia 2016
PPTX
Microservices.pptx
PDF
Microservices
DOCX
Best Spring Boot & MicroServices Classroom & Online Training Naresh-IT
PPTX
Introduction to ejb and struts framework
PDF
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
PDF
The elegant way of implementing microservices with istio
Microservices architecture
Microservice Pattern Launguage
Microservices Corporate Style
Microservices Architecture & Testing Strategies
Basics of Java Microservices: Frameworks, Examples & Use Cases
Microservices Part 3 Service Mesh and Kafka
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices Architecture - Bangkok 2018
Unit No. II Architecture.pptx Cloud Microservices & Application
Do You Need A Service Mesh?
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
Microservices Architecture - Cloud Native Apps
Understanding Microservice Architecture WSO2Con Asia 2016
Microservices.pptx
Microservices
Best Spring Boot & MicroServices Classroom & Online Training Naresh-IT
Introduction to ejb and struts framework
12월 16일 Meetup [Deep Dive] Microservice 트래픽 관리를 위한 Istio 알아보기 | 강인호 컨설턴트, 오라클
The elegant way of implementing microservices with istio
Ad

Recently uploaded (20)

PPTX
Lecture Notes Electrical Wiring System Components
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PPTX
Welding lecture in detail for understanding
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
Sustainable Sites - Green Building Construction
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
OOP with Java - Java Introduction (Basics)
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PPTX
additive manufacturing of ss316l using mig welding
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
Lecture Notes Electrical Wiring System Components
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
Welding lecture in detail for understanding
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Sustainable Sites - Green Building Construction
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Model Code of Practice - Construction Work - 21102022 .pdf
Embodied AI: Ushering in the Next Era of Intelligent Systems
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
CH1 Production IntroductoryConcepts.pptx
OOP with Java - Java Introduction (Basics)
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
UNIT-1 - COAL BASED THERMAL POWER PLANTS
additive manufacturing of ss316l using mig welding
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Operating System & Kernel Study Guide-1 - converted.pdf

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