SlideShare a Scribd company logo
Microservice Workshop
Hands on
Ram G Suri / Rajat
Agenda
● Different Styles of maintaining code repositories
● Around API’s
● Spring Boot Overview
● Deployment of Microservices
● Hands On - Let’s spin up services
Different Styles Of Maintaining Code Repository(s)
Mono Repository / Multiple Repositories
What we are trying to achieve
We are working on an ECommerce application using microservice architecture.
We used technologies like Java / Go for our microservices.
We created DevOps pipeline for those services independently.
The main problem was whether to keep all the services in the same repository in separate
folders (Mono repository) or to keep separate repositories for each of the services
(Multiple repositories).
MonoRepo Multiple
Repo
Pros / Cons
Multiple Repo Mono Repo
● Clear ownership Better development and debugging
● Smaller codebase Easy sharing of common codes
● Narrow clones Easy
reactoring and reviews
● Small artifact size Huge artifact size
● Difficult development and debugging Large code base
● Sharing of common codes Greater Clone time
Around API’s
“Bootiful” Applications With Spring Boot
Convention Over Configuration
Be opinionated out of the box, but get out of the way quickly as requirements
start to diverge from the defaults.
No code generation / No XML configuration.
Standalone-Spring applications.
Automatic configuration.
Non functional features
Provide a range of non-functional features that are common to large classes of
projects
( e.g. embedded servers, security, metrics, externalized configuration
{spring profiles}
)
….no need to deploy war files
Spring boot actuator ~ Production Ready features
You can choose to manage and monitor your application by using HTTP endpoints or with JMX.
Auditing, health, and metrics gathering can also be automatically applied to your application.
Monitoring endpoints
● /health
● /info
● /metrics
● /mappings
Starter Pom
Packaging For Production
$ java -jar yourapp.jar
No unpacking or start scripts required
Typical REST app ~10Mb
Cloud Foundry friendly (works & fast to upload)
How it helps ?
● Dramatically reduces boilerplate code
● Simplifies integration testing
● Simplifies environment maintenance
● Simplifies configuration
Pain Areas ?
When number of microservices increases ?
Communication between microservices / Integrating Microservices
Distributed tracing a request among microservices.
Deployment of Microservices
● Ability to deploy/undeploy independently of other microservices.
● Must be able to scale at each microservices level (a given service may get more
traffic than other services).
● Building and deploying microservices quickly.
● Failure in one microservice must not affect any of the other services.
Docker :
● Package the microservice as a (Docker) container image.
● Deploy each service instance as a container.
● Scaling is done based on changing the number
of container instances.
● Building, deploying, and starting microservice will be much faster
as we are using Docker containers.
Some Other Stuff
https://12factor.net/
Hands On
Agenda :
1. Create Standalone app
2. Create RESTful Controller
● GET
● POST
3.
Team 1
Catalogue
- save a new item
- get all items from catalogue
Team 2
Shipping
- save shipping address
- get shipping address
Team 3
Proceed to checkout
- Create an order
- Cancel an order
Thank You

More Related Content

ODP
Introduction to Lagom Framework
PPTX
Bye bye WCF, hello gRPC
PDF
The Beam Vision for Portability: "Write once run anywhere"
PPTX
Vertx in production
PPTX
Production ready Vert.x
PDF
ElasticMQ : Server for Local SQS
PDF
Developing Java Microservices Fast with Open Liberty
PDF
Who needs containers in a serverless world
Introduction to Lagom Framework
Bye bye WCF, hello gRPC
The Beam Vision for Portability: "Write once run anywhere"
Vertx in production
Production ready Vert.x
ElasticMQ : Server for Local SQS
Developing Java Microservices Fast with Open Liberty
Who needs containers in a serverless world

What's hot (20)

PPTX
OpenNfv Talk On Kubernetes and Network Function Virtualization
PPTX
Ruby on rails
PPTX
Load Testing with Taurus using Jenkins and AWS
PPTX
Ruby on rails
PPTX
Real World Enterprise Reactive Programming using Vert.x
PPTX
Microservices Architecture and Containers.
PDF
Saltstack for Ansible users
PPTX
Dockerizing react app
PDF
WSO2Con ASIA 2016: Getting More 9s from Your Deployment
PDF
Streaming to a New Jakarta EE
PDF
Managing Microservices traffic using Istio
PPTX
istio: service mesh for all
PDF
JenkinsCI
PDF
TechTalk - Building Serverless Applications with IBM Bluemix
PDF
TechTalk Webinar Series - Getting Started with Apache OpenWhisk
PDF
Silverstripe CMS 4.9.0 release and beyound
PPTX
Open Source Load Testing: JMeter, Gatling and Taurus
PDF
Dynamic management of kubernetes
PDF
NodeJS_Presentation
PDF
2017 Microservices Practitioner Virtual Summit: The Mechanics of Deploying En...
OpenNfv Talk On Kubernetes and Network Function Virtualization
Ruby on rails
Load Testing with Taurus using Jenkins and AWS
Ruby on rails
Real World Enterprise Reactive Programming using Vert.x
Microservices Architecture and Containers.
Saltstack for Ansible users
Dockerizing react app
WSO2Con ASIA 2016: Getting More 9s from Your Deployment
Streaming to a New Jakarta EE
Managing Microservices traffic using Istio
istio: service mesh for all
JenkinsCI
TechTalk - Building Serverless Applications with IBM Bluemix
TechTalk Webinar Series - Getting Started with Apache OpenWhisk
Silverstripe CMS 4.9.0 release and beyound
Open Source Load Testing: JMeter, Gatling and Taurus
Dynamic management of kubernetes
NodeJS_Presentation
2017 Microservices Practitioner Virtual Summit: The Mechanics of Deploying En...
Ad

Similar to Microservice Workshop Hands On (20)

PDF
Microservices for java architects it-symposium-2015-09-15
PDF
How to grow your own Microservice?
PPTX
Ledingkart Meetup #1: Monolithic to microservices in action
PDF
Microservices Interview Questions and Answers PDF By ScholarHat
PDF
Microservices architecture: practical aspects
PPTX
Webinar : Microservices and Containerization
PDF
Microservices: Notes From The Field
ODP
Developing Microservices using Spring - Beginner's Guide
PDF
Understanding Microservices
PPTX
Microservices
PDF
Micro services
PPTX
Microservices-101
PPTX
Microservices: Yes or not?
PPTX
A09 - Microservices.pptx
PPTX
Introduction to microservices
PDF
Building Microservices Software practics
PDF
Microservices on a budget meetup
PPTX
Think Small To Go Big - Introduction To Microservices
PDF
Microservices for java architects coders-conf-2015-05-15
PPTX
Microservices, Spring Cloud & Cloud Foundry
Microservices for java architects it-symposium-2015-09-15
How to grow your own Microservice?
Ledingkart Meetup #1: Monolithic to microservices in action
Microservices Interview Questions and Answers PDF By ScholarHat
Microservices architecture: practical aspects
Webinar : Microservices and Containerization
Microservices: Notes From The Field
Developing Microservices using Spring - Beginner's Guide
Understanding Microservices
Microservices
Micro services
Microservices-101
Microservices: Yes or not?
A09 - Microservices.pptx
Introduction to microservices
Building Microservices Software practics
Microservices on a budget meetup
Think Small To Go Big - Introduction To Microservices
Microservices for java architects coders-conf-2015-05-15
Microservices, Spring Cloud & Cloud Foundry
Ad

Recently uploaded (20)

PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Encapsulation theory and applications.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Encapsulation_ Review paper, used for researhc scholars
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Electronic commerce courselecture one. Pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Cloud computing and distributed systems.
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
KodekX | Application Modernization Development
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Encapsulation theory and applications.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
NewMind AI Weekly Chronicles - August'25 Week I
NewMind AI Monthly Chronicles - July 2025
Understanding_Digital_Forensics_Presentation.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Network Security Unit 5.pdf for BCA BBA.
Mobile App Security Testing_ A Comprehensive Guide.pdf
Unlocking AI with Model Context Protocol (MCP)
Encapsulation_ Review paper, used for researhc scholars
The AUB Centre for AI in Media Proposal.docx
Reach Out and Touch Someone: Haptics and Empathic Computing
Electronic commerce courselecture one. Pdf
Review of recent advances in non-invasive hemoglobin estimation
20250228 LYD VKU AI Blended-Learning.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Cloud computing and distributed systems.
Spectral efficient network and resource selection model in 5G networks
KodekX | Application Modernization Development

Microservice Workshop Hands On

  • 2. Agenda ● Different Styles of maintaining code repositories ● Around API’s ● Spring Boot Overview ● Deployment of Microservices ● Hands On - Let’s spin up services
  • 3. Different Styles Of Maintaining Code Repository(s) Mono Repository / Multiple Repositories
  • 4. What we are trying to achieve We are working on an ECommerce application using microservice architecture. We used technologies like Java / Go for our microservices. We created DevOps pipeline for those services independently. The main problem was whether to keep all the services in the same repository in separate folders (Mono repository) or to keep separate repositories for each of the services (Multiple repositories).
  • 6. Pros / Cons Multiple Repo Mono Repo ● Clear ownership Better development and debugging ● Smaller codebase Easy sharing of common codes ● Narrow clones Easy reactoring and reviews ● Small artifact size Huge artifact size ● Difficult development and debugging Large code base ● Sharing of common codes Greater Clone time
  • 9. Convention Over Configuration Be opinionated out of the box, but get out of the way quickly as requirements start to diverge from the defaults. No code generation / No XML configuration. Standalone-Spring applications. Automatic configuration.
  • 10. Non functional features Provide a range of non-functional features that are common to large classes of projects ( e.g. embedded servers, security, metrics, externalized configuration {spring profiles} ) ….no need to deploy war files
  • 11. Spring boot actuator ~ Production Ready features You can choose to manage and monitor your application by using HTTP endpoints or with JMX. Auditing, health, and metrics gathering can also be automatically applied to your application. Monitoring endpoints ● /health ● /info ● /metrics ● /mappings
  • 13. Packaging For Production $ java -jar yourapp.jar No unpacking or start scripts required Typical REST app ~10Mb Cloud Foundry friendly (works & fast to upload)
  • 14. How it helps ? ● Dramatically reduces boilerplate code ● Simplifies integration testing ● Simplifies environment maintenance ● Simplifies configuration
  • 15. Pain Areas ? When number of microservices increases ? Communication between microservices / Integrating Microservices Distributed tracing a request among microservices.
  • 16. Deployment of Microservices ● Ability to deploy/undeploy independently of other microservices. ● Must be able to scale at each microservices level (a given service may get more traffic than other services). ● Building and deploying microservices quickly. ● Failure in one microservice must not affect any of the other services.
  • 17. Docker : ● Package the microservice as a (Docker) container image. ● Deploy each service instance as a container. ● Scaling is done based on changing the number of container instances. ● Building, deploying, and starting microservice will be much faster as we are using Docker containers.
  • 19. Hands On Agenda : 1. Create Standalone app 2. Create RESTful Controller ● GET ● POST 3.
  • 20. Team 1 Catalogue - save a new item - get all items from catalogue
  • 21. Team 2 Shipping - save shipping address - get shipping address
  • 22. Team 3 Proceed to checkout - Create an order - Cancel an order

Editor's Notes

  • #10: Auto-configures the beans that are present in the classpath. This simplifies the developers work by guessing the required beans from the classpath and configure it to run the application.