SlideShare a Scribd company logo
Migrating Monoliths to Microservices -- M3
©Microsoft Corporation
Azure
Asir Selvasingh
Principal PM Architect
Java on Microsoft Azure
On-point for everything developers
need to build, migrate and scale Java
applications on Azure.
Started software engineering career in
the early days of Java, in 1995, and
built enterprise products, applications
and open source projects.
Migrating Monoliths to Microservices -- M3
Session learning objectives

Recommended for you

Microsoft Azure Overview
Microsoft Azure OverviewMicrosoft Azure Overview
Microsoft Azure Overview

What is Microsoft Azure? Azure App Service Azure Machine Learning Microservices in Azure Azure Cloud Service Azure Functions Real life problem solution discuss

azure
Kafka presentation
Kafka presentationKafka presentation
Kafka presentation

Kafka is an open source messaging system that can handle massive streams of data in real-time. It is fast, scalable, durable, and fault-tolerant. Kafka is commonly used for stream processing, website activity tracking, metrics collection, and log aggregation. It supports high throughput, reliable delivery, and horizontal scalability. Some examples of real-time use cases for Kafka include website monitoring, network monitoring, fraud detection, and IoT applications.

Microsoft Azure - Introduction to microsoft's public cloud
Microsoft Azure - Introduction to microsoft's public cloudMicrosoft Azure - Introduction to microsoft's public cloud
Microsoft Azure - Introduction to microsoft's public cloud

This document provides an overview of Microsoft Azure, Microsoft's public cloud platform. It discusses Azure's infrastructure as a service (IaaS) and platform as a service (PaaS) offerings, as well as other services like compute, storage, networking, databases, web apps, and identity and access management. Usage statistics show that Azure trails only Amazon Web Services (AWS) in market share of public cloud providers. The document outlines how to sign up for a free Azure trial account and lists additional Microsoft resources for learning about Azure.

business modeltechnologyazure
Migrating Monoliths to Microservices -- M3
References
What is microservices architecture?
suite of small services its
own process lightweight
independently deployable
different
programming languages different data storage
technologies
Microservice Catalyst
quickly penetrate the market
 Not interested
agility and speed scale

Recommended for you

Principles of microservices XP Days Ukraine
Principles of microservices   XP Days UkrainePrinciples of microservices   XP Days Ukraine
Principles of microservices XP Days Ukraine

The document outlines principles of microservices, including modeling services around business domains, having a culture of automation, hiding implementation details, decentralizing systems, isolating failures, deploying independently, making systems highly observable, and other principles. The presentation provides examples and discusses strategic goals and architectural practices for designing fine-grained microservice systems.

principlesmicroservicessoa
Stability Patterns for Microservices
Stability Patterns for MicroservicesStability Patterns for Microservices
Stability Patterns for Microservices

Communication between Microservices is inherently unreliable. These integration points may produce cascading failures, slow responses, service outages. We will walk through stability patterns like timeouts, circuit breaker, bulkheads and discuss how they improve stability of Microservices.

microsservicesfailoverstability
Java Memory Management Tricks
Java Memory Management Tricks Java Memory Management Tricks
Java Memory Management Tricks

This presentation is about Java performance and the most effective ways to work with Java memory, including memory saving techniques and overcoming of memory barriers. Moreover, it contains debunking of the most popular myths on speed boosting. This presentation by Andrii Antilikatorov (Consultant, GlobalLogic) was delivered at GlobalLogic Java Conference #2 in Krakow on April 23, 2016.

memory managementjavajava perforamnce
Microservices popularized by
 Frameworks
 Platform
 Cloud providers
 Portability across platforms
Representative companies using Java microservices
Microservices are analogous to honeycomb
aligning
start small different materials
Repetitive
independent integrated
grows organically
solid abstracted
reconstruct
Monolith & N-Tier TO Microservice
architecture transformation

Recommended for you

Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices

The document provides an overview of microservices architecture including: - Definitions and characteristics of microservices such as componentization via services, decentralized governance, and infrastructure automation. - Common drivers for adopting microservices like agility, safety, and scalability. - Guidelines for decomposing monolithic applications into microservices based on business capabilities and domain-driven design. - Discussion of differences between microservices and service-oriented architecture (SOA). - Ecosystem of tools involved in microservices including development frameworks, APIs, databases, containers, and service meshes. - Common design patterns and anti-patterns when developing microservices.

microservicessyntoucharchitecture
Getting Started with Spring for GraphQL
Getting Started with Spring for GraphQLGetting Started with Spring for GraphQL
Getting Started with Spring for GraphQL

WaffleCorp is a major provider of breakfast products available direct to consumer or through our strategic partnerships. The current implementation of the e-commerce platform is a monolithic Spring MVC application that serves data through a collection of REST APIs. Currently, the only provider of the REST API is our e-commerce web application. We've been tasked with opening up our APIs to our new iOS and Android apps, partner microservices, and IoT applications. The issue we ran into is that a REST API is not a one-size-fits-all approach. We need a more flexible solution to meet the requirements of all of our client applications. This is a perfect use case for the speed and flexibility of GraphQL. GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools. In this session, you’ll learn what GraphQL is and why you should consider it in your next project. You’ll learn how to use GraphQL in your Spring Boot applications by leveraging the Spring for GraphQL project. By the end of this session, you’ll understand how to stand up a GraphQL endpoint and request the data you need, and nothing more.

DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...
DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...
DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...

This is a talk I gave at DDD SoCal. 1. Make the most of your monolith 2. Adopt microservices for the right reasons 3. It’s not just architecture 4. Get the support of the business 5. Migrate incrementally 6. Know your starting point 7. Begin with the end in mind 8. Migrate high-value modules first 9. Success is improved velocity and reliability 10. If it hurts, don’t do it

microservicesmicroservice architecturerefactoring
Microservice principles (1 of 2)
•
Microservice principles – 12 factor app (2 of 2)
•
•
•
•
•
•
•
•
•
•
•
•
Why use Spring
What is Spring Cloud?

Recommended for you

Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot

This is a deep journey into the realm of "microservice architecture", and in that I will try to cover each inch of it, but with a fixed tech stack of Java with Spring Cloud. Hence in the end, you will be get know each and every aspect of this distributed design, and will develop an understanding of each and every concern regarding distributed system construct.

microservicemicroservice architecturejava spring cloud
Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overview

Technical introduction of Microsoft Azure, from IaaS to PaaS, Serverless, Container Services, DBaaS and Machine Learning.

azurecloud computingiaas
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
Why Spring Cloud?
•
•
•
•
•
Spring Cloud components
Spring Cloud Config Server
Cannot embed config inside apps
Spring Cloud Service Registry
No more code or URL dependencies

Recommended for you

An Introduction to Confluent Cloud: Apache Kafka as a Service
An Introduction to Confluent Cloud: Apache Kafka as a ServiceAn Introduction to Confluent Cloud: Apache Kafka as a Service
An Introduction to Confluent Cloud: Apache Kafka as a Service

Business breakout during Confluent’s streaming event in Munich, presented by Hans Jespersen, VP WW Systems Engineering at Confluent. This three-day hands-on course focused on how to build, manage, and monitor clusters using industry best-practices developed by the world’s foremost Apache Kafka™ experts. The sessions focused on how Kafka and the Confluent Platform work, how their main subsystems interact, and how to set up, manage, monitor, and tune your cluster.

apache kafkaconfluentconfluent platform
Introduction to Microsoft Azure Cloud
Introduction to Microsoft Azure CloudIntroduction to Microsoft Azure Cloud
Introduction to Microsoft Azure Cloud

This is a brief introduction to Microsoft Azure cloud. I used these slides in an intro session for developers. I did few demos during the session that not included in the slide. Brand name and logos are properties of their respective owners.

microsoftazurecloud
Apache Kafka for Automotive Industry, Mobility Services & Smart City
Apache Kafka for Automotive Industry, Mobility Services & Smart CityApache Kafka for Automotive Industry, Mobility Services & Smart City
Apache Kafka for Automotive Industry, Mobility Services & Smart City

The Fourth Industrial Revolution (also known as Industry 4.0) is the ongoing automation of traditional manufacturing and industrial practices, using modern smart technology. Event Streaming with Apache Kafka plays a massive role in processing massive volumes of data in real-time in a reliable, scalable, and flexible way integrating with various legacy and modern data sources and sinks. In this presentation, I want to give you an overview of existing use cases for event streaming technology in a connected world across supply chains, industries and customer experiences that come along with these interdisciplinary data intersections: • The Automotive Industry (and it’s not only Connected Cars) • Mobility Services across verticals (transportation, logistics, travel industry, retailing, …) • Smart Cities (including citizen health services, communication infrastructure, …) All these industries and sectors do not have new characteristics and requirements. They require data integration, data correlation or real decoupling, just to name a few, but are now facing massively increased volumes of data. Real-time messaging solutions have existed for many years. Hundreds of platforms exist for data integration (including ETL and ESB tooling or specific IIoT platforms). Proprietary monoliths monitor plants, telco networks, and other infrastructures for decades in real-time. But now, Kafka combines all the above characteristics in an open, scalable, and flexible infrastructure to operate mission-critical workloads at scale in real-time. And is taking over the world of connecting data.

kafkaiotiiot
Spring Cloud LoadBalancer
(client-side)
• Moves beyond a single hard-coded
server URL to a load-balanced
solution
• Provides client-side load balancing in
calls to another microservice
• Distributed systems demand an
advanced set of routing and load
balancing behaviors for microservice
to microservice communications
One microservice wants to call another
microservice, looks up the service registry, returns
all the instances of the calling microservice, caller
service headache for which instance it calls
Spring Cloud Gateway
Cannot duplicate or scatter cross cutting measures across microservices – securing,
routing, rate limiting, caching, monitoring, hiding services, etc.
Spring Cloud Gateway
Example - Spring Cloud Gateway and LoadBalancer
combined
• Two instances of callme-service
• Single instance of caller-service, which uses Spring Cloud
Balancer to find the list of available instances of callme-
service
• callme-service ports are generated dynamically
• Spring Cloud Gateway is hiding the complexity of our
system from external client. It is open on 8080 and is
forwarding requests to the downstream based on
request context path.

Recommended for you

Using Kafka: Anatomy of the Flowable event registry
Using Kafka: Anatomy of the Flowable event registryUsing Kafka: Anatomy of the Flowable event registry
Using Kafka: Anatomy of the Flowable event registry

Flowable BPM has a new event bus capability that allows it to hook into event streams, Kafka, ActiveMQ, RabbitMQ and others

flowablebpmevents
Tom Grey - Google Cloud Platform
Tom Grey - Google Cloud PlatformTom Grey - Google Cloud Platform
Tom Grey - Google Cloud Platform

This document discusses Google Cloud Platform and how Google powers its own services. It notes that Google is the fourth largest server manufacturer and would be the second largest internet service provider by traffic. It describes how Google builds customized hardware from cheap commodity parts and manages vast numbers of homogeneous servers at scale with software resilience and horizontal layers rather than hardware resilience and vertical stacks. The document also provides an overview of how Google's global data centers, communications network, data storage and distribution, services and APIs, and compute platforms can be utilized to build and scale applications. It includes several customer stories about how companies have used Google Cloud Platform for applications experiencing peak traffic, global data storage, crowd-sourcing weather data, and syncing notes across devices.

computingdata centereurocloud
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE

Introduction to Microservices Architecture, Docker, Kubernetes, Istio, Testing Strategies for Microservices based Apps. Security Best Practices. Kanban, DevOps, and SRE. Infrastructure Design Patterns - API Gateway - Service Discovery - Load Balancer - Circuit Breaker - Let-it-Crash Pattern Software Design Patterns - Hexagonal Architecture - Domain Driven Design - Event Sourcing and CQRS - Functional Reactive Programming

microserviceskubernetesdocker
Spring Cloud Circuit Breaker and Resilience4J
Failure is inevitable, but end users need not
know
Example – Spring Cloud Circuit Breaker and Resilience4j
@Bean
public Customizer<ReactiveResilience4JCircuitBreakerFactory> defaultCustomizer() {
return factory -> factory.configureDefault(id -> new Resilience4JConfigBuilder(id)
.circuitBreakerConfig(CircuitBreakerConfig.custom()
.slidingWindowSize(5)
.permittedNumberOfCallsInHalfOpenState(5)
.failureRateThreshold(50.0F)
.waitDurationInOpenState(Duration.ofMillis(30))
.build())
.timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofMillis(200)).build()).build());
}
• slidingWindowSize is equal to 5
• If 3 timeouts during last 5 calls, circuit is switched to
OPEN state
• waitDurationInOpenState is set to 30 milliseconds
• after 30 milliseconds the circuit is switched to
HALF_OPEN state
• permittedNumberOfCallsInHalfOpenState is set to 5
• In this five attempts we get <= 2 timeouts, circuit is
switched to CLOSE state
Spring Cloud Sleuth and Zipkin – Distributed Tracing
Debugging distributed apps can be complex and take long time
• Spring Cloud Sleuth can instrument apps in a
predictable and repeatable way
• Zipkin can zero in on latency problems
• Together, they trace requests through microservices
• Adds trace and span ids to logs
• appname: name of the app that logged the span
• traceId: ID assigned to a single request, job, or action
• spanId: ID of a specific operation that took place
• exportable: should the log be exported to Zipkin?
Capstone (1 of 3) - Spring Cloud components

Recommended for you

Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoring

This document summarizes a presentation on monitoring microservices with Spring Boot. It discusses evolving architectures from monolithic to microservices and challenges in microservices. It then covers different monitoring techniques like metrics, tracing and logging. It provides an overview of tools like Prometheus, Grafana, Spring Boot Admin, Eureka and Consul for monitoring microservices. Finally, it outlines hands-on labs to set up monitoring of a sample application with different tool combinations.

Spring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringSpring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics Monitoring

마이크로서비스 아키텍쳐에서의 분산된 서비스간의 모니터링 방법을 소개합니다. - Microservice Monitoring with Service Discovery (Eureka) Spring Boot Admin - Microservice Monitoring with Service Discovery (Consul), Prometheus, Grafana

spring bootmicroservice monitoringspring boot admin
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
Capstone (2 of 3) – Spring Cloud Components
Spring
Cloud Apps
Spring Cloud
Components
Spring Cloud
Components
Cloud
Services
App
Consumers
Breaker
dashboard
Service
registry
Distributed
tracing
Config
dashboard
IoT
Mobile
Browser
API
Gateway
Microservices
Microservices
Microservices
Message brokers
Databases
Build distributed systems by -
• Versioning, distributing, and
refreshing configuration via
config server and management
bus
• Dynamically discovering
remote dependencies
• Decentralizing load balancing
decisions
• Preventing cascading failures
through circuit breakers and
bulkheads
• Integrating on the behalf of
specific clients via gateway
• Instrumenting apps for
distributed tracing
Capstone (3 of 3) – Migrate Monolith to Microservices - M3
Decompose monolithic applications using three principles
Denise Yu
https://aka.ms/monoliths-to-microservices
Strangling the monolith
A

Recommended for you

Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech TalkCloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk

Are you familiar with the tight coupling of apps with their underlying platform that makes change hard or lack of scalability, performance, and flexibility of existing apps built with legacy technology or the fact that re-architecting apps cannot be done overnight? If yes to any of these, you probably think that you have “Cloud-Native Modernization or Death”. But what if there is another way that shows you the incremental steps to refactor the application to microservices and make use of Kubernetes/OpenShift to effectively deploy and manage it at scale on the cloud? This session guides developers on how to get started on their cloud-native journey, starting with monolithic application migration to a modern container platform using Kubernetes/OpenShift, and modernizing applications using microservices and Red Hat Cloud-Native Runtimes (Spring Boot and Quarkus).

red hatred hat developerdevnation live
Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020

This document outlines the agenda for an Azure Spring Cloud workshop on June 17, 2020. The agenda includes topics on welcome and setup, Azure Spring Cloud introduction, hands-on sessions with Azure Spring Cloud, case studies and demos, and a closing session. The workshop will be led by Adib and Asir and include coaching support.

Azure Service Fabric - Hamida Rebai - CCDays
Azure Service Fabric - Hamida Rebai - CCDaysAzure Service Fabric - Hamida Rebai - CCDays
Azure Service Fabric - Hamida Rebai - CCDays

Service Fabric is the foundational technology introduced by Microsoft Azure to empower the large-scale Azure service. In this session, you’ll get an overview of containers like Docker after an overview of Service Fabric, explain the difference between it and Kubernetes as a new way To Orchestrate Microservices. You’ll learn how to develop a Microservices application and how to deploy those services to Service Fabric clusters and the new serverless Service Fabric Mesh service. We’ll dive into the platform and programming model advantages including stateful services and actors for low-latency data processing and more. You will learn: Overview of containers Overview of Service Fabric Difference between Kubernetes and Service Fabric Setup Environment to start developing an application using Microservices with Service Fabric. Shared as part of Cloud Community Days on 17th June 2020 - ccdays.konfhub.com

containerizationmicroservicesazure
App Migration | Modernization Impediments
Pattern – Backends for Frontends (BFF)
Different user experiences want to make similar types of calls
https://samnewman.io/patterns/architectural/bff/
Single BFF for each different type of client
Mikado Methodology – Breaking up a Monolith
The Mikado Method
by Ola Ellnestam and Daniel Brolund
Published by Manning Publications, 2014
Mikado Methodology – Breaking up a Monolith
Existing monolith - one entry point
to the server, from which all the calls
are then dispatched using an action
parameter. There are three actions
that can be performed:
•Apply
•Fetch
•Approve
The Mikado Method
by Ola Ellnestam and Daniel Brolund
Published by Manning Publications, 2014

Recommended for you

SaaS transformation with OCE - uEngineCloud
SaaS transformation with OCE - uEngineCloudSaaS transformation with OCE - uEngineCloud
SaaS transformation with OCE - uEngineCloud

The document discusses strategies for migrating existing on-premise software to a Software-as-a-Service (SaaS) model in a cloud environment. It outlines common challenges in developing a successful SaaS application, such as converting to multi-tenancy, supporting different devices, performing data analysis, and improving elasticity and manageability. It then describes different options for cloud migration, such as replacing the software, moving it to infrastructure-as-a-service, or redesigning it for platform-as-a-service. The document also discusses approaches for implementing multi-tenancy and tenant-specific customizations around areas like branding, business processes, rules, integration, and databases. It provides recommendations

Microservices
MicroservicesMicroservices
Microservices

Microservices architecture is an evolution of service-oriented architecture (SOA) principles applied to application design and development. Some key differences include: - SOA focuses on exposing application functionality as services at the enterprise level, while microservices focus on developing individual applications as a suite of independently deployable services. - Microservices are typically smaller, lighter weight services focused on a single task, as opposed to monolithic applications. They communicate with lightweight protocols like HTTP. - Microservices aim to support continuous delivery and deployment, with goals of automation, resilience, and loose coupling between services. - Individual microservices can be developed and scaled independently. This provides benefits like enabling continuous delivery and deployment. So in summary,

microservices
Developing microservices with Java and applying Spring security framework and...
Developing microservices with Java and applying Spring security framework and...Developing microservices with Java and applying Spring security framework and...
Developing microservices with Java and applying Spring security framework and...

This document discusses developing microservices with Java using the Spring framework and applying Spring Security and OAuth2 for authentication and authorization. It begins with an introduction to microservice architecture and advantages over monolithic architecture. It then discusses various Java libraries that can be used to build microservices, focusing on the Spring Boot framework. The document creates a proof-of-concept inventory management application to demonstrate building microservices with Spring Boot and securing APIs with Spring Security and OAuth2. It describes authentication needs for both web and non-web backend services.

irjet
Break monolith into smaller, more manageable modular components
https://medium.com/nick-tune-tech-strategy-blog/modelling-bounded-contexts-with-the-bounded-context-design-canvas-a-workshop-recipe-1f123e592ab
Securing service-to-
service communications
and sharing user context
between microservices
(with the same JWT)
Siriwardena, P., & Dias, N. (2020). Microservices security in action. New York: Manning Publications.
Modernizing Batch Jobs
Batch processing has been around for a long time. Since the
dawn of automated computing, gathering data, running a
process over it, and generating output from it have been a
fundamental piece of it. As enterprises transition to the cloud, it
is just natural that batch processing also migrates there.
Running batch applications on a modern cloud platform is not only
possible, but provides real benefits – leverage distributed batch
Migrate to Spring Boot 2.x

Recommended for you

Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...

IBM presented lessons learned from deploying SmartCloud Orchestrator at a large telecommunications provider to automate cloud service delivery. Key challenges included managing a multi-region infrastructure, publishing self-service catalogs, and automating application deployments. The solution involved using OpenStack regions with IBM additions to provide a unified interface and orchestrate deployments across regions. Processes were modeled to provision resources and deploy application stacks through reusable patterns.

icoscoibm
2020-02-10 Java on Azure Solution Briefing
2020-02-10 Java on Azure Solution Briefing2020-02-10 Java on Azure Solution Briefing
2020-02-10 Java on Azure Solution Briefing

This document provides an overview of running Java workloads on Microsoft Azure. It discusses using virtual machines, containers (Azure Kubernetes Service and Azure Container Instances), and managed services (Azure Spring Cloud and Azure Functions). It also covers DevOps tools integration, IDE support, sample solutions, and pathways for migrating existing applications or developing new applications on Azure.

javajava javaee weblogic app server microservicesspring
Resume
ResumeResume
Resume

An extremely motivated and proficient individual with 4 years of experience in Build/ Release with DevOps & Development, AWS CSA, MCSE(Azure) and JIRA Administrator in IT industry.

resume
Migrate Spring Boot Monolith to Spring Microservice Apps
http://say-hello/greeting http://localhost:8090/greeting
Upgrade older variants of Spring Microservice apps
Old Stack New Stack
Spring Cloud Eureka Spring Cloud Service Registry
Spring Cloud Netflix Zuul Spring Cloud Gateway
Spring Cloud Netflix Archaius Spring Cloud Config Server
Spring Cloud Netflix Ribbon Spring Cloud Load Balancer (client-side load balancer)
Spring Cloud Hystrix Spring Cloud Circuit Breaker + Resilience4J
Spring Cloud Netflix Turbine Micrometer + Prometheus
Migrate Servlets to Spring Boot Apps
Spring Microservices – Azure Hosting Options
Azure Spring Cloud PCF on IaaS AKS VMs

Recommended for you

Designing CloudStack Clouds
Designing CloudStack CloudsDesigning CloudStack Clouds
Designing CloudStack Clouds

The document discusses designing CloudStack clouds, including determining requirements, designing for scale, choosing hypervisors and networks, planning storage, defining domains and accounts, testing, and designing for multiple environments like production, pre-production, and testing. It emphasizes designing iteratively, understanding user needs, and testing designs before building full scale clouds.

shapebluecloudstackccceu
Azure in Developer Perspective
Azure in Developer PerspectiveAzure in Developer Perspective
Azure in Developer Perspective

This document discusses developing Azure solutions for different audiences including web developers, corporate developers, and ISV developers. It covers key aspects of developing Azure solutions such as cloud service anatomy, the differences in developing for Azure, worker and web role call order, migrating data and services to Azure, diagnostics, and best practices. The conclusion emphasizes that Azure provides flexibility in development with specific APIs, casual development scenarios, best practices, and supporting technologies.

microsoftazure
VMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO MagazineVMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO Magazine

VMware's vFabric Cloud Application Platform focuses on providing a flexible, scalable infrastructure for modern applications, an empowered and secure mobile workforce, and faster time-to-market. The vFabric Suite offers a lightweight Java application server, data caching, database, and messaging solutions with cloud-friendly licensing designed to meet the needs of developing applications for elastic cloud environments in a cost-effective manner. It aims to provide a modern approach to application infrastructure that allows for both modernizing existing applications and building new applications optimized for cloud delivery, developer productivity, and changing data and application trends.

softwarecloud foundryapache
Spring Microservices – Azure Hosting Options
Azure Spring Cloud PCF on IaaS AKS VMs
Spring Boot Apps Variants of Spring Microservices
Web Apps (Servlets)
0
Migration Routes
Migration Routes
Spring Boot Apps Variants of Spring Microservices
Web Apps (Servlets)
0
Prep Apps for Azure Spring Cloud
Spring Boot Version Spring Cloud Version Azure Spring Cloud Version
2.1 Greenwich.RELEASE 2.1.2
2.2 Hoxton.SR8 Not needed
2.3 Hoxton.SR8 Not needed

Recommended for you

Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015

When Cisco started envisioning the future of its application development platforms, the ability to create applications that are cloud-native with elastic services, network-aware application policies, and micro-services was strategic to the company. When the decision to build and operate a Cisco cloud service delivery platform for collaboration, video, and Internet of Things (IoT) application development was made, OpenStack and micro-services became central to our application architectures and strategic to our vision as a company. This presentation will look at the journey Cisco developers took to transform to an application-centric OpenStack platform for application development in a secure, network-centric, and completely open source manner. The importance of the platform being Red Hat Enterprise Linux OpenStack Platform and using OpenShift by Red Hat and the contribution to the community will be described. The micro-services architecture and service-oriented DevOps lessons learned for enabling massive scalable and continuous delivery of software will be presented and demoed.

cloudmicroservicesopenshift
Developing scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .netDeveloping scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .net

Over the years we have seen an accelerated shift to adopting serverless and cloud-native application architectures. Benefits to these architectures include decreased infrastructure costs and improved time to market, however, it's still important to consider high availability and resiliency in your application design. In this session, Callon will talk about developing scalable enterprise serverless applications on Azure with .NET and use a real-world example of a solution he developed and running in production.

azureazure functionscosmos db
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...

VMworld 2013 Allen Shortnacy, VMware Learn more about VMworld and register at http://www.vmworld.com/index.jspa?src=socmed-vmworld-slideshare

vmworld 2013security and compliancensx
Deploy Spring Microservice Apps to Azure Spring Cloud
$ az spring-cloud create –n my-spring-cloud 
-g my-resource-group –l westus2
$ az spring-cloud config-server set 
--config-file application.yml
$ az spring-cloud app create -n account-service 
--instance-count 1 --is-public true
$ az spring-cloud app deploy -n account-service 
--jar-path targetaccount-service.jar
$ az spring-cloud app logs -f -n account-service
Post-migration to Azure Spring Cloud
Migrating Monoliths to Microservices -- M3
Migrating Monoliths to Microservices -- M3

Recommended for you

Javantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. JuričJavantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič

Cloud-native architectures and microservices allow software to be built faster, more resiliently, and scalably. Microservices involve decomposing applications into loosely coupled services that are independently deployable. Key aspects of microservices include explicit interfaces, independent scaling, and fault tolerance through approaches like circuit breakers. Containerization helps with microservices by enabling portable, lightweight execution of individual services. APIs are critical for communication between microservices and services should be stateless and immutable.

javanturahujakmatjaž b. jurič
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company

NBFC Software: Optimize Your Non-Banking Financial Company Enhance Your Financial Services with Comprehensive NBFC Software NBFC software provides a complete solution for non-banking financial companies, streamlining banking and accounting functions to reduce operational costs. Our software is designed to meet the diverse needs of NBFCs, including investment banks, insurance companies, and hedge funds. Key Features of NBFC Software: Centralized Database: Facilitates inter-branch collaboration and smooth operations with a unified platform. Automation: Simplifies loan lifecycle management and account maintenance, ensuring efficient delivery of financial services. Customization: Highly customizable to fit specific business needs, offering flexibility in managing various loan types such as home loans, mortgage loans, personal loans, and more. Security: Ensures safe and secure handling of financial transactions and sensitive data. User-Friendly Interface: Designed to be intuitive and easy to use, reducing the learning curve for employees. Cost-Effective: Reduces the need for additional manpower by automating tasks, making it a budget-friendly solution. Benefits of NBFC Software: Go Paperless: Transition to a fully digital operation, eliminating offline work. Transparency: Enables managers and executives to monitor various points of the banking process easily. Defaulter Tracking: Helps track loan defaulters, maintaining a healthy loan management system. Increased Accessibility: Cutting-edge technology increases the accessibility and usability of NBFC operations. Request a Demo Now!

nbfc softwarenbfc software solutionsnbfc software company
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptxWired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptx

In this talk, we will explore strategies to optimize the success rate of storing and retaining new information. We will discuss scientifically proven ideal learning intervals and content structures. Additionally, we will examine how to create an environment that improves our focus while you remain in the “flow”. Lastly we will also address the influence of AI on learning capabilities. In the dynamic field of software development, this knowledge will empower you to accelerate your learning curve and support others in their learning journeys.

Migrating Monoliths to Microservices -- M3
Need Microsoft Help to Build or Migrate Your Java
Apps to Azure Spring Cloud? (1 of 2)
We can
a) Guide your design and plan – thru architecture design session / workshop
b) Help build representative proof of concepts or pilot
• By customer and engineers in Java on Azure team
c) Migrate your Java apps to Azure Spring Cloud
• By Microsoft Consulting Services (MCS)
Nominate yourself …
Need Microsoft Help to Build or Migrate Your Java Apps to
Azure Spring Cloud? (2 of 2)
http://aka.ms/pilot-my-spring-cloud-apps
Session takeaways
Learning Objective – be able to Takeaways
Explain microservices Covered what and why for Monolith &
N-tier to Microservice architecture
transformation
Confront monoliths Shared recipes for transforming
monoliths and several migration routes
Dive deeper and go hands-on with
Spring Cloud
Covered base Spring Cloud
components that are backbone for
microservices

Recommended for you

一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理

原版一模一样【微信:741003700 】【英国牛津大学毕业证(oxon毕业证书)成绩单】【微信:741003700 】学位证,留信学历认证(真实可查,永久存档)原件一模一样纸张工艺/offer、在读证明、外壳等材料/诚信可靠,可直接看成品样本,帮您解决无法毕业带来的各种难题!外壳,原版制作,诚信可靠,可直接看成品样本。行业标杆!精益求精,诚心合作,真诚制作!多年品质 ,按需精细制作,24小时接单,全套进口原装设备。十五年致力于帮助留学生解决难题,包您满意。 本公司拥有海外各大学样板无数,能完美还原。 1:1完美还原海外各大学毕业材料上的工艺:水印,阴影底纹,钢印LOGO烫金烫银,LOGO烫金烫银复合重叠。文字图案浮雕、激光镭射、紫外荧光、温感、复印防伪等防伪工艺。材料咨询办理、认证咨询办理请加学历顾问Q/微741003700 【主营项目】 一.毕业证【q微741003700】成绩单、使馆认证、教育部认证、雅思托福成绩单、学生卡等! 二.真实使馆公证(即留学回国人员证明,不成功不收费) 三.真实教育部学历学位认证(教育部存档!教育部留服网站永久可查) 四.办理各国各大学文凭(一对一专业服务,可全程监控跟踪进度) 如果您处于以下几种情况: ◇在校期间,因各种原因未能顺利毕业……拿不到官方毕业证【q/微741003700】 ◇面对父母的压力,希望尽快拿到; ◇不清楚认证流程以及材料该如何准备; ◇回国时间很长,忘记办理; ◇回国马上就要找工作,办给用人单位看; ◇企事业单位必须要求办理的 ◇需要报考公务员、购买免税车、落转户口 ◇申请留学生创业基金 留信网认证的作用: 1:该专业认证可证明留学生真实身份 2:同时对留学生所学专业登记给予评定 3:国家专业人才认证中心颁发入库证书 4:这个认证书并且可以归档倒地方 5:凡事获得留信网入网的信息将会逐步更新到个人身份内,将在公安局���内查询个人身份证信息后,同步读取人才网入库信息 6:个人职称评审加20分 7:个人信誉贷款加10分 8:在国家人才网主办的国家网络招聘大会中纳入资料,供国家高端企业选择人才 办理英国牛津大学毕业证(oxon毕业证书)【微信:741003700 】外观非常简单,由纸质材料制成,上面印有校徽、校名、毕业生姓名、专业等信息。 办理英国牛津大学毕业证(oxon毕业证书)【微信:741003700 】格式相对统一,各专业都有相应的模板。通常包括以下部分: 校徽:象征着学校的荣誉和传承。 校名:学校英文全称 授予学位:本部分将注明获得的具体学位名称。 毕业生姓名:这是最重要的信息之一,标志着该证书是由特定人员获得的。 颁发日期:这是毕业正式生效的时间,也代表着毕业生学业的结束。 其他信息:根据不同的专业和学位,可能会有一些特定的信息或章节。 办理英国牛津大学毕业证(oxon毕业证书)【微信:741003700 】价值很高,需要妥善保管。一般来说,应放置在安全、干燥、防潮的地方,避免长时间暴露在阳光下。如需使用,最好使用复印件而不是原件,以免丢失。 综上所述,办理英国牛津大学毕业证(oxon毕业证书)【微信:741003700 】是证明身份和学历的高价值文件。外观简单庄重,格式统一,包括重要的个人信息和发布日期。对持有人来说,妥善保管是非常重要的。

英国牛津大学毕业证(oxon毕业证书)
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf

What do fleet managers do? What are their duties, responsibilities, and challenges? And what makes a fleet manager effective and successful? This blog answers all these questions.

fleet managersresponsibilities of fleet mana
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...

Unlock the full potential of mobile monitoring with ONEMONITAR. Our advanced and discreet app offers a comprehensive suite of features, including hidden call recording, real-time GPS tracking, message monitoring, and much more. Perfect for parents, employers, and anyone needing a reliable solution, ONEMONITAR ensures you stay informed and in control. Explore the key features of ONEMONITAR and see why it’s the trusted choice for Android device monitoring. Share this infographic to spread the word about the ultimate mobile spy app!

hidden mobile spy appmobile spy app for parentsmobile spy app for android
Session resources 1 – Spring Cloud
Spring Cloud Config Server
Spring Cloud Service Registry
Spring Cloud Gateway
Spring Cloud Load Balancer
Spring Cloud Circuit Breaker
Spring Cloud Sleuth and Zipkin
Session resources 2 - References
Session resources 3 – Azure Spring Cloud
https://docs.microsoft.com/en-us/azure/spring-cloud/
https://github.com/microsoft/azure-spring-cloud-training
https://github.com/Azure-Samples/azure-spring-cloud
https://github.com/Azure-Samples/spring-petclinic-microservices
Q&A

Recommended for you

ANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdfANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdf

Ansys Mechanical enables you to solve complex structural engineering problems and make better, faster design decisions. With the finite element analysis (FEA) solvers available in the suite, you can customize and automate solutions for your structural mechanics problems and parameterize them to analyze multiple design scenarios. Ansys Mechanical is a dynamic tool that has a complete range of analysis tools.

mechanical engineeringsoftware3d software
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.

Shivam Pandit Php Web Dveloper

phpmysqlsql
Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI

Sami provided a beginner-friendly introduction to Amazon Web Services (AWS), covering essential terms, products, and services for cloud deployment. Participants explored AWS' latest Gen AI offerings, making it accessible for those starting their cloud journey or integrating AI into coding practices.

cfmlcoldfusionboxlang
Migrating Monoliths to Microservices -- M3

More Related Content

What's hot

Building Modern Data Pipelines for Time Series Data on GCP with InfluxData by...
Building Modern Data Pipelines for Time Series Data on GCP with InfluxData by...Building Modern Data Pipelines for Time Series Data on GCP with InfluxData by...
Building Modern Data Pipelines for Time Series Data on GCP with InfluxData by...
InfluxData
 
Introduction to Swagger
Introduction to SwaggerIntroduction to Swagger
Introduction to Swagger
Knoldus Inc.
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
Amazon Web Services
 
Microsoft Azure Overview
Microsoft Azure OverviewMicrosoft Azure Overview
Microsoft Azure Overview
Shahriar Hossain
 
Kafka presentation
Kafka presentationKafka presentation
Kafka presentation
Mohammed Fazuluddin
 
Microsoft Azure - Introduction to microsoft's public cloud
Microsoft Azure - Introduction to microsoft's public cloudMicrosoft Azure - Introduction to microsoft's public cloud
Microsoft Azure - Introduction to microsoft's public cloud
Atanas Gergiminov
 
Principles of microservices XP Days Ukraine
Principles of microservices   XP Days UkrainePrinciples of microservices   XP Days Ukraine
Principles of microservices XP Days Ukraine
Sam Newman
 
Stability Patterns for Microservices
Stability Patterns for MicroservicesStability Patterns for Microservices
Stability Patterns for Microservices
pflueras
 
Java Memory Management Tricks
Java Memory Management Tricks Java Memory Management Tricks
Java Memory Management Tricks
GlobalLogic Ukraine
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
Roger van de Kimmenade
 
Getting Started with Spring for GraphQL
Getting Started with Spring for GraphQLGetting Started with Spring for GraphQL
Getting Started with Spring for GraphQL
VMware Tanzu
 
DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...
DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...
DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...
Chris Richardson
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
Kashif Ali Siddiqui
 
Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overview
gjuljo
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture
The Software House
 
An Introduction to Confluent Cloud: Apache Kafka as a Service
An Introduction to Confluent Cloud: Apache Kafka as a ServiceAn Introduction to Confluent Cloud: Apache Kafka as a Service
An Introduction to Confluent Cloud: Apache Kafka as a Service
confluent
 
Introduction to Microsoft Azure Cloud
Introduction to Microsoft Azure CloudIntroduction to Microsoft Azure Cloud
Introduction to Microsoft Azure Cloud
Dinesh Kumar Wickramasinghe
 
Apache Kafka for Automotive Industry, Mobility Services & Smart City
Apache Kafka for Automotive Industry, Mobility Services & Smart CityApache Kafka for Automotive Industry, Mobility Services & Smart City
Apache Kafka for Automotive Industry, Mobility Services & Smart City
Kai Wähner
 
Using Kafka: Anatomy of the Flowable event registry
Using Kafka: Anatomy of the Flowable event registryUsing Kafka: Anatomy of the Flowable event registry
Using Kafka: Anatomy of the Flowable event registry
Flowable
 
Tom Grey - Google Cloud Platform
Tom Grey - Google Cloud PlatformTom Grey - Google Cloud Platform
Tom Grey - Google Cloud Platform
Fondazione CUOA
 

What's hot (20)

Building Modern Data Pipelines for Time Series Data on GCP with InfluxData by...
Building Modern Data Pipelines for Time Series Data on GCP with InfluxData by...Building Modern Data Pipelines for Time Series Data on GCP with InfluxData by...
Building Modern Data Pipelines for Time Series Data on GCP with InfluxData by...
 
Introduction to Swagger
Introduction to SwaggerIntroduction to Swagger
Introduction to Swagger
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
Microsoft Azure Overview
Microsoft Azure OverviewMicrosoft Azure Overview
Microsoft Azure Overview
 
Kafka presentation
Kafka presentationKafka presentation
Kafka presentation
 
Microsoft Azure - Introduction to microsoft's public cloud
Microsoft Azure - Introduction to microsoft's public cloudMicrosoft Azure - Introduction to microsoft's public cloud
Microsoft Azure - Introduction to microsoft's public cloud
 
Principles of microservices XP Days Ukraine
Principles of microservices   XP Days UkrainePrinciples of microservices   XP Days Ukraine
Principles of microservices XP Days Ukraine
 
Stability Patterns for Microservices
Stability Patterns for MicroservicesStability Patterns for Microservices
Stability Patterns for Microservices
 
Java Memory Management Tricks
Java Memory Management Tricks Java Memory Management Tricks
Java Memory Management Tricks
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Getting Started with Spring for GraphQL
Getting Started with Spring for GraphQLGetting Started with Spring for GraphQL
Getting Started with Spring for GraphQL
 
DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...
DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...
DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 
Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overview
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture
 
An Introduction to Confluent Cloud: Apache Kafka as a Service
An Introduction to Confluent Cloud: Apache Kafka as a ServiceAn Introduction to Confluent Cloud: Apache Kafka as a Service
An Introduction to Confluent Cloud: Apache Kafka as a Service
 
Introduction to Microsoft Azure Cloud
Introduction to Microsoft Azure CloudIntroduction to Microsoft Azure Cloud
Introduction to Microsoft Azure Cloud
 
Apache Kafka for Automotive Industry, Mobility Services & Smart City
Apache Kafka for Automotive Industry, Mobility Services & Smart CityApache Kafka for Automotive Industry, Mobility Services & Smart City
Apache Kafka for Automotive Industry, Mobility Services & Smart City
 
Using Kafka: Anatomy of the Flowable event registry
Using Kafka: Anatomy of the Flowable event registryUsing Kafka: Anatomy of the Flowable event registry
Using Kafka: Anatomy of the Flowable event registry
 
Tom Grey - Google Cloud Platform
Tom Grey - Google Cloud PlatformTom Grey - Google Cloud Platform
Tom Grey - Google Cloud Platform
 

Similar to Migrating Monoliths to Microservices -- M3

Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Araf Karsh Hamid
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoring
Oracle Korea
 
Spring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringSpring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics Monitoring
DonghuKIM2
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
Anil Allewar
 
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech TalkCloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Red Hat Developers
 
Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020
VMware Tanzu
 
Azure Service Fabric - Hamida Rebai - CCDays
Azure Service Fabric - Hamida Rebai - CCDaysAzure Service Fabric - Hamida Rebai - CCDays
Azure Service Fabric - Hamida Rebai - CCDays
CodeOps Technologies LLP
 
SaaS transformation with OCE - uEngineCloud
SaaS transformation with OCE - uEngineCloudSaaS transformation with OCE - uEngineCloud
SaaS transformation with OCE - uEngineCloud
uEngine Solutions
 
Microservices
MicroservicesMicroservices
Microservices
Ramesh (@Mavuluri)
 
Developing microservices with Java and applying Spring security framework and...
Developing microservices with Java and applying Spring security framework and...Developing microservices with Java and applying Spring security framework and...
Developing microservices with Java and applying Spring security framework and...
IRJET Journal
 
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Eduardo Patrocinio
 
2020-02-10 Java on Azure Solution Briefing
2020-02-10 Java on Azure Solution Briefing2020-02-10 Java on Azure Solution Briefing
2020-02-10 Java on Azure Solution Briefing
Ed Burns
 
Resume
ResumeResume
Designing CloudStack Clouds
Designing CloudStack CloudsDesigning CloudStack Clouds
Designing CloudStack Clouds
ShapeBlue
 
Azure in Developer Perspective
Azure in Developer PerspectiveAzure in Developer Perspective
Azure in Developer Perspective
rizaon
 
VMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO MagazineVMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO Magazine
Al Sargent
 
Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015
Ken Owens
 
Developing scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .netDeveloping scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .net
Callon Campbell
 
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld
 
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. JuričJavantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 

Similar to Migrating Monoliths to Microservices -- M3 (20)

Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoring
 
Spring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringSpring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics Monitoring
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech TalkCloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
 
Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020
 
Azure Service Fabric - Hamida Rebai - CCDays
Azure Service Fabric - Hamida Rebai - CCDaysAzure Service Fabric - Hamida Rebai - CCDays
Azure Service Fabric - Hamida Rebai - CCDays
 
SaaS transformation with OCE - uEngineCloud
SaaS transformation with OCE - uEngineCloudSaaS transformation with OCE - uEngineCloud
SaaS transformation with OCE - uEngineCloud
 
Microservices
MicroservicesMicroservices
Microservices
 
Developing microservices with Java and applying Spring security framework and...
Developing microservices with Java and applying Spring security framework and...Developing microservices with Java and applying Spring security framework and...
Developing microservices with Java and applying Spring security framework and...
 
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
 
2020-02-10 Java on Azure Solution Briefing
2020-02-10 Java on Azure Solution Briefing2020-02-10 Java on Azure Solution Briefing
2020-02-10 Java on Azure Solution Briefing
 
Resume
ResumeResume
Resume
 
Designing CloudStack Clouds
Designing CloudStack CloudsDesigning CloudStack Clouds
Designing CloudStack Clouds
 
Azure in Developer Perspective
Azure in Developer PerspectiveAzure in Developer Perspective
Azure in Developer Perspective
 
VMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO MagazineVMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO Magazine
 
Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015
 
Developing scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .netDeveloping scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .net
 
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
 
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. JuričJavantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
 

Recently uploaded

NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Softwares
 
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptxWired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
SimonedeGijt
 
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
avufu
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Trackobit
 
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
onemonitarsoftware
 
ANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdfANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdf
sachin chaurasia
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
shivamt017
 
Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
Ortus Solutions, Corp
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Livetecs LLC
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
kalichargn70th171
 
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
Roshan Dwivedi
 
Top 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your WebsiteTop 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your Website
e-Definers Technology
 
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdfWhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
onemonitarsoftware
 
Attendance Tracking From Paper To Digital
Attendance Tracking From Paper To DigitalAttendance Tracking From Paper To Digital
Attendance Tracking From Paper To Digital
Task Tracker
 
Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …
908dutch
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdfAWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
karim wahed
 
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTIONBITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
ssuser2b426d1
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
karim wahed
 
MVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptxMVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptx
Mitchell Marsh
 
Safe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work PermitsSafe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work Permits
sheqnetworkmarketing
 

Recently uploaded (20)

NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
 
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptxWired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
 
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
 
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdfResponsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
Responsibilities of Fleet Managers and How TrackoBit Can Assist.pdf
 
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...
 
ANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdfANSYS Mechanical APDL Introductory Tutorials.pdf
ANSYS Mechanical APDL Introductory Tutorials.pdf
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
 
Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
 
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
 
Top 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your WebsiteTop 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your Website
 
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdfWhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
 
Attendance Tracking From Paper To Digital
Attendance Tracking From Paper To DigitalAttendance Tracking From Paper To Digital
Attendance Tracking From Paper To Digital
 
Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdfAWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
 
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTIONBITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
 
MVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptxMVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptx
 
Safe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work PermitsSafe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work Permits
 

Migrating Monoliths to Microservices -- M3

  • 1. Migrating Monoliths to Microservices -- M3
  • 2. ©Microsoft Corporation Azure Asir Selvasingh Principal PM Architect Java on Microsoft Azure On-point for everything developers need to build, migrate and scale Java applications on Azure. Started software engineering career in the early days of Java, in 1995, and built enterprise products, applications and open source projects.
  • 3. Migrating Monoliths to Microservices -- M3
  • 7. What is microservices architecture? suite of small services its own process lightweight independently deployable different programming languages different data storage technologies
  • 8. Microservice Catalyst quickly penetrate the market  Not interested agility and speed scale
  • 9. Microservices popularized by  Frameworks  Platform  Cloud providers  Portability across platforms
  • 10. Representative companies using Java microservices
  • 11. Microservices are analogous to honeycomb aligning start small different materials Repetitive independent integrated grows organically solid abstracted reconstruct
  • 12. Monolith & N-Tier TO Microservice architecture transformation
  • 14. Microservice principles – 12 factor app (2 of 2) • • • • • • • • • • • •
  • 16. What is Spring Cloud?
  • 19. Spring Cloud Config Server Cannot embed config inside apps
  • 20. Spring Cloud Service Registry No more code or URL dependencies
  • 21. Spring Cloud LoadBalancer (client-side) • Moves beyond a single hard-coded server URL to a load-balanced solution • Provides client-side load balancing in calls to another microservice • Distributed systems demand an advanced set of routing and load balancing behaviors for microservice to microservice communications One microservice wants to call another microservice, looks up the service registry, returns all the instances of the calling microservice, caller service headache for which instance it calls
  • 22. Spring Cloud Gateway Cannot duplicate or scatter cross cutting measures across microservices – securing, routing, rate limiting, caching, monitoring, hiding services, etc.
  • 24. Example - Spring Cloud Gateway and LoadBalancer combined • Two instances of callme-service • Single instance of caller-service, which uses Spring Cloud Balancer to find the list of available instances of callme- service • callme-service ports are generated dynamically • Spring Cloud Gateway is hiding the complexity of our system from external client. It is open on 8080 and is forwarding requests to the downstream based on request context path.
  • 25. Spring Cloud Circuit Breaker and Resilience4J Failure is inevitable, but end users need not know
  • 26. Example – Spring Cloud Circuit Breaker and Resilience4j @Bean public Customizer<ReactiveResilience4JCircuitBreakerFactory> defaultCustomizer() { return factory -> factory.configureDefault(id -> new Resilience4JConfigBuilder(id) .circuitBreakerConfig(CircuitBreakerConfig.custom() .slidingWindowSize(5) .permittedNumberOfCallsInHalfOpenState(5) .failureRateThreshold(50.0F) .waitDurationInOpenState(Duration.ofMillis(30)) .build()) .timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofMillis(200)).build()).build()); } • slidingWindowSize is equal to 5 • If 3 timeouts during last 5 calls, circuit is switched to OPEN state • waitDurationInOpenState is set to 30 milliseconds • after 30 milliseconds the circuit is switched to HALF_OPEN state • permittedNumberOfCallsInHalfOpenState is set to 5 • In this five attempts we get <= 2 timeouts, circuit is switched to CLOSE state
  • 27. Spring Cloud Sleuth and Zipkin – Distributed Tracing Debugging distributed apps can be complex and take long time • Spring Cloud Sleuth can instrument apps in a predictable and repeatable way • Zipkin can zero in on latency problems • Together, they trace requests through microservices • Adds trace and span ids to logs • appname: name of the app that logged the span • traceId: ID assigned to a single request, job, or action • spanId: ID of a specific operation that took place • exportable: should the log be exported to Zipkin?
  • 28. Capstone (1 of 3) - Spring Cloud components
  • 29. Capstone (2 of 3) – Spring Cloud Components Spring Cloud Apps Spring Cloud Components Spring Cloud Components Cloud Services App Consumers Breaker dashboard Service registry Distributed tracing Config dashboard IoT Mobile Browser API Gateway Microservices Microservices Microservices Message brokers Databases Build distributed systems by - • Versioning, distributing, and refreshing configuration via config server and management bus • Dynamically discovering remote dependencies • Decentralizing load balancing decisions • Preventing cascading failures through circuit breakers and bulkheads • Integrating on the behalf of specific clients via gateway • Instrumenting apps for distributed tracing
  • 30. Capstone (3 of 3) – Migrate Monolith to Microservices - M3 Decompose monolithic applications using three principles
  • 33. App Migration | Modernization Impediments
  • 34. Pattern – Backends for Frontends (BFF) Different user experiences want to make similar types of calls https://samnewman.io/patterns/architectural/bff/ Single BFF for each different type of client
  • 35. Mikado Methodology – Breaking up a Monolith The Mikado Method by Ola Ellnestam and Daniel Brolund Published by Manning Publications, 2014
  • 36. Mikado Methodology – Breaking up a Monolith Existing monolith - one entry point to the server, from which all the calls are then dispatched using an action parameter. There are three actions that can be performed: •Apply •Fetch •Approve The Mikado Method by Ola Ellnestam and Daniel Brolund Published by Manning Publications, 2014
  • 37. Break monolith into smaller, more manageable modular components https://medium.com/nick-tune-tech-strategy-blog/modelling-bounded-contexts-with-the-bounded-context-design-canvas-a-workshop-recipe-1f123e592ab
  • 38. Securing service-to- service communications and sharing user context between microservices (with the same JWT) Siriwardena, P., & Dias, N. (2020). Microservices security in action. New York: Manning Publications.
  • 39. Modernizing Batch Jobs Batch processing has been around for a long time. Since the dawn of automated computing, gathering data, running a process over it, and generating output from it have been a fundamental piece of it. As enterprises transition to the cloud, it is just natural that batch processing also migrates there. Running batch applications on a modern cloud platform is not only possible, but provides real benefits – leverage distributed batch
  • 40. Migrate to Spring Boot 2.x
  • 41. Migrate Spring Boot Monolith to Spring Microservice Apps http://say-hello/greeting http://localhost:8090/greeting
  • 42. Upgrade older variants of Spring Microservice apps Old Stack New Stack Spring Cloud Eureka Spring Cloud Service Registry Spring Cloud Netflix Zuul Spring Cloud Gateway Spring Cloud Netflix Archaius Spring Cloud Config Server Spring Cloud Netflix Ribbon Spring Cloud Load Balancer (client-side load balancer) Spring Cloud Hystrix Spring Cloud Circuit Breaker + Resilience4J Spring Cloud Netflix Turbine Micrometer + Prometheus
  • 43. Migrate Servlets to Spring Boot Apps
  • 44. Spring Microservices – Azure Hosting Options Azure Spring Cloud PCF on IaaS AKS VMs
  • 45. Spring Microservices – Azure Hosting Options Azure Spring Cloud PCF on IaaS AKS VMs
  • 46. Spring Boot Apps Variants of Spring Microservices Web Apps (Servlets) 0 Migration Routes
  • 47. Migration Routes Spring Boot Apps Variants of Spring Microservices Web Apps (Servlets) 0
  • 48. Prep Apps for Azure Spring Cloud Spring Boot Version Spring Cloud Version Azure Spring Cloud Version 2.1 Greenwich.RELEASE 2.1.2 2.2 Hoxton.SR8 Not needed 2.3 Hoxton.SR8 Not needed
  • 49. Deploy Spring Microservice Apps to Azure Spring Cloud $ az spring-cloud create –n my-spring-cloud -g my-resource-group –l westus2 $ az spring-cloud config-server set --config-file application.yml $ az spring-cloud app create -n account-service --instance-count 1 --is-public true $ az spring-cloud app deploy -n account-service --jar-path targetaccount-service.jar $ az spring-cloud app logs -f -n account-service
  • 50. Post-migration to Azure Spring Cloud
  • 54. Need Microsoft Help to Build or Migrate Your Java Apps to Azure Spring Cloud? (1 of 2) We can a) Guide your design and plan – thru architecture design session / workshop b) Help build representative proof of concepts or pilot • By customer and engineers in Java on Azure team c) Migrate your Java apps to Azure Spring Cloud • By Microsoft Consulting Services (MCS) Nominate yourself …
  • 55. Need Microsoft Help to Build or Migrate Your Java Apps to Azure Spring Cloud? (2 of 2) http://aka.ms/pilot-my-spring-cloud-apps
  • 56. Session takeaways Learning Objective – be able to Takeaways Explain microservices Covered what and why for Monolith & N-tier to Microservice architecture transformation Confront monoliths Shared recipes for transforming monoliths and several migration routes Dive deeper and go hands-on with Spring Cloud Covered base Spring Cloud components that are backbone for microservices
  • 57. Session resources 1 – Spring Cloud Spring Cloud Config Server Spring Cloud Service Registry Spring Cloud Gateway Spring Cloud Load Balancer Spring Cloud Circuit Breaker Spring Cloud Sleuth and Zipkin
  • 58. Session resources 2 - References
  • 59. Session resources 3 – Azure Spring Cloud https://docs.microsoft.com/en-us/azure/spring-cloud/ https://github.com/microsoft/azure-spring-cloud-training https://github.com/Azure-Samples/azure-spring-cloud https://github.com/Azure-Samples/spring-petclinic-microservices
  • 60. Q&A