SlideShare a Scribd company logo
1 of 29
Download to read offline
NG’s Microservices
Microservices
for
Application Modernisation
&
Roadmap
 Ajay Uppal
What is a Microservice?
Microservice (or Microservice architecture)
✓ is a development architectural style
✓ a variant of the service-oriented architecture (SOA) structural style
✓ arranges an application as a collection of loosely coupled services.
✓ services are fine-grained and
✓ the protocols are lightweight.
The term "micro" refers to the sizing of a microservice which must be manageable by a single development team ( 5 to 10 developers).
In this methodology, big applications are divided into smallest independent units.
➢ Microservices are not necessarily exclusively relevant to cloud computing
▪ Frequently they go together because microservice is a popular architectural style for new applications and the cloud being a
popular hosting destination for new applications.
➢ Primary benefits of microservices architecture are
▪ the utilization and cost benefits associated with deploying and scaling components individually.
▪ the combination of small, independently scalable components coupled with on-demand, pay-per-use infrastructure is where real
cost optimizations can be found.
▪ each individual component can adopt the stack best suited to its specific job.
▪ stack proliferation can lead to serious complexity and overhead when it is on-premise; but consuming supporting stack as
cloud services can dramatically minimize management challenges.
Executive Summary
EA Recommended Microservices Tool-kit/Solutions
Requirements
❑ Choice of tools/technologies/vendors to build
consistent and secure microservices across Orgn.
❑ Use flexible runtime with a built-in gateway to easily
implement microservices
❑ Manage all microservices centrally
❑ Observe and optimize distributed microservices
architectures — all in one place
❑ Increase microservices discoverability and empower
teams to reuse them to develop faster
❑ Components are independent deployment units.
Core Capabilities
❑ Microservices may consist of one or many components
with business logic, and one or many system components
including load balancers, databases, caches, message
queues, etc.
❑ Microservice may use Data-as-a-Service, or message-
queue-as-a-service and should have its own isolated
container within these systems.
❑ Microservices integrate with each other over API.
❑ Role Based Access Control , Security
❑ Data Governance, Data Protection
Purpose
❑ Drive Practicality and Pragmatism over Agnosticism
❑ Have standard set of tools/technologies to reduce
❑ Faster approach to develop Business Capabilities
❑ Facilitating Orgn.’s Digital Strategy
❑ Reducing Risk & Lowering TCO
❑ Data Monetization
❑ Data Democratization
❑ Multi-purpose over ‘best-of-breed’.
▪ Best of breed leads to more Tech-Debt
Development &
Orchestration Platform
Other Development
Frameworks
Package Solutions SecDevOps (CI CD)
Cloud ▪ MS Azure Service Fabric
▪ MuleSoft Anypoint Platform
▪ Node.Js
▪ Spring Boot Java
▪ .NET
SAP Cloud Platform Extension
Factory
MS Azure DevOps services
Awaiting inputs from Jerome, Som,
Kerry and Vendors.
On-
prem
▪ RedHat OpenShift Service Mesh
▪ MuleSoft Anypoint Platform On-Prem Edition
▪ standalone Azure Service Fabric
▪ Node.Js
▪ Spring Boot Java
▪ .NET
▪ Python / temporary
Low code process and
platforms
▪ Salesforce
MS Azure DevOps server
Awaiting inputs from Jerome, Som,
Kerry and Vendors.
Traditional Service Fabric clusters on Azure are available as a managed service, while standalone Service Fabric clusters are self-service.
https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-overview
Need for Enterprise-wide Microservices Strategy?
Pros of Microservices Cons of Microservices
Greater agility Needs more collaboration (each team has to cover
the whole microservice lifecycle)
Faster time to market Harder to test, control and monitor because of the
complexity of the architecture
Security – ensuring security at individual service
level
Tough to track data across various service
boundaries.
Each Microservice focuses on single business
capability
Increases delay due to remote calls
Multiple services can be developed and deployed in
parallel
Difficult to move code between services
Better scalability, light-weight, and allowing frequent
releases
Poorer performance, as microservices need to
communicate (network latency, message processing,
etc.)
Faster development cycles (easier deployment and
debugging)
Harder to maintain the network (has less fault
tolerance, needs more load balancing, etc.)
Easier to create a CI/CD pipeline for single-
responsibility services
Doesn’t work without the proper corporate culture
(SecDevOps culture, automation practices, etc.)
Isolated services have better fault tolerance Security issues (harder to maintain transaction
safety, distributed communication goes wrong more
likely, etc.)
Platform- and language agnostic services. Freedom
to use multiple languages, frameworks, patterns…
Multiple languages and components may eventually
result increased troubleshooting in short-term &
TechDebt over long-term.
Leverages API Economy Cloud-readiness
NEED
✓ Practical + Pragmatic approach
✓ Maximise Pros
✓ Minimise Cons
✓ Encourage Standardisation
✓ Adopt best practices
✓ Embed 12 factor App Principles
✓ Adhere to Basic Security Requirements
✓ Define Use-Cases, Patterns, Frameworks
✓ Maximise use/re-use of existing stack
✓ Limit the number of languages
✓ Design for failure - provide fallbacks
✓ Chose the right pattern e.g. Circuit Breaker
pattern.
✓ Embrace Asynchronous Communication
✓ Leverage orgn’s preferred API Gateway
✓ Lower Tech-Debt in long-run
✓ Versioning and separate release train(s)
✓ Before by a new ensure you retire at-least 2.
Major Components of Microservices
A typical Microservice Architecture(MSA) consists of the
following components:
✓ Clients
✓ Identity Providers
✓ API Gateway (Organisation’s Preferred e.g. MuleSoft)
✓ Messaging Formats
✓ Databases
✓ Static Content
✓ Management
✓ Service Discovery
There are a handful of core items that have become essential and borderline definitional to microservices:
➢ Containers, Docker and Kubernetes : With the proliferation of services and containers, orchestrating and managing large groups of containers quickly
became one of the critical challenges. Kubernetes has emerged as one of the most popular container orchestration technologies.
➢ Messaging and event streaming: It is necessary to couple state-establishing API calls with messaging or event streaming so that services can broadcast
changes in state and other interested parties can listen for those changes and adjust accordingly.
▪ By combining microservices with event driven architecture developers can build distributed, highly scalable, fault tolerant and extensible systems
that can consume and process very large amounts of events or information in real-time.
➢ Serverless architectures and Functions-as-a-Service (FaaS) platforms share affinity with microservices, as they are both interested in creating smaller
units of deployment and scaling precisely with demand.
When to use Microservices?
These figures illustrates the relationship between
• functionality, coupling, agility
• frequency of updates, and
• relative percentage of the codebase.
High Risk, Business Critical Services that reside in
the upper right portion are candidates for
Microservices that are frequently updated by
small, dedicated teams.
The Lower Risk Functions that rarely change can be
grouped together into larger, monolithic services
or package solutions as shown in the bottom left.
When to use a Microservices Architecture?
Orgn.’s Solution Engineering
Team can use this decision tree
to quickly determine whether
developing Microservice(s)
makes sense or not.
Decision Tree for segmenting into smaller microservices
Solution Architects can use this decision tree
to quickly determine whether a service or
function should be segmented into smaller
microservices, be grouped together with
similar or dependent services, or remain in a
multifunctional, infrequently changing
monolith.
Microservices Use-cases
Industry-wide Common Use-Cases for Microservices
• Legacy applications refactoring. Rebuild IT capabilities in order to change the functionality or add some new features, move to cloud or just
conduct global system modernization.
• Applications dealing with big data, AL/ML Big data apps require a complex data pipeline-oriented architecture, where each stage is
managed by one (or a few) particular task, e.g. data collection, processing, delivery, storage etc.
• Real time data processing applications. Streaming platforms like YouTube or SoundCloud, radar systems
• Large-scale systems with complex logic.
• (Third-party) Applications serving a big amount of users simultaneously.
• Rapidly growing applications providing third-party services (like plugins, data transfer apps, analytics and monitoring tools, data indexes,
etc).
Microservices Principles & Patterns
Principles underpinning Microservices
Architecture
✓ Scalability
✓ Availability
✓ Resiliency
✓ Flexibility
✓ Independent, autonomous
✓ Decentralized governance
✓ Failure isolation
✓ Auto-Provisioning
✓ Continuous delivery through DevSecOps
Integration Patterns for Microservices
Microservices Platform a must
For organisation with various separate business units and highly complex IT landscape; it is
recommended to
❑ Use and leverage matured, well-supported and proven set of tools and technologies
Challenges that the solution engineering, production operations, and infrastructure teams face when
migrating to the cloud and microservices.
➢ Increase in the number of configuration points across multiple dimensions
➢ Services and components become smaller, the number of them increases, and they become more interconnected.
➢ Development teams produce more changes and demand that they be deployed in production more frequently to enable
continuous innovation.
➢ Infrastructure components - such as VMs, containers, and load balancers - become more lightweight and increase in number.
➢ Dynamic environments, auto-scaling, and self-healing lead to the increased frequency of changes to the infrastructure components.
Challenges in Microservices without the proper support
Azure Service Fabric – Cloud & On-Premise
Compliant with Orgn.’s Secu
Azure Service Fabric is a distributed
systems platform that makes it easy to
package, deploy, and manage scalable
and reliable microservices and
containers.
Service Fabric provides a sophisticated,
lightweight runtime that supports
stateless and stateful microservices.
Key differentiator is focus on building
stateful services using the Service
Fabric programming model or run
containerized stateful services written
in any language or code.
Service Fabric clusters anywhere,
including Windows Server and Linux on
premises and other public clouds, in
addition to Azure.
MS Azure Services Decision Tree
MS Azure Service Fabric for
developing microservices and
orchestrating containers on
Windows and Linux.
MS Azure Kubernetes Service
for deployment, management,
and operations of Kubernetes.
MuleSoft Anypoint Platform
MuleSoft – ‘Code’ Microservice
Integrations and Microservices leveraging MuleSoft
● Assets
● Projects
● Investments etc Prebuilt microservices in other
technologies
SOAP services layer
Tactical Oracle gateway
replacement
Like-for-like SOAP services
SaaS applications
Prebuilt microservices in other
technologies
Microservices platform(s)
hosted
applications
GIS
Large/complex/legacy ‘monolithic’ applications
such as asset management and ERP
Example: Ellipse
System APIs provide a consistent façade, hiding
underlying complexity.
e.g. e.g.
The MuleSoft ‘System API’ layer can be thought of as an
implementation layer for microservices, with orchestration
overlaid by the ’Process API’ layer.
Microservices style APIs implement granular
operations to be reused by the orchestration
layer
Modern applications, whether SaaS or on-prem
Strategic ‘microservices’ style API for
granular Ellipse operations
e.g. ‘Create project’ (hides multiple SOAP
calls and JobEstimate/WorkRequest
internal data model)
System layer
(services)
Process layer
(orchestration)
• Discoverable in one place (MuleSoft Exchange)
• Consistent technology for consumers (REST)
• De-coupled architecture provides agility
Existing microservices built in other
technologies
MuleSoft provides simple proxy
which can then be discovered, policy
managed etc.
19
MuleSoft Anypoint Service Mesh
Sequence of events
1. The client (possibly another microservice or
any Kubernetes Ingress component) sends a
request to the service.
2. Envoy captures the request and redirects it to
the Istio Mixer.
3. The Mixer adapter calls the Anypoint Service
Mesh adapter to perform policy checks and
verifications.
4. The Anypoint Service Mesh adapter performs
policy checks and responds back to the
Mixer.
5. The Mixer communicates the outcome of the
policy checks to the Envoy proxy.
6. When no policy violations occur, the request
is routed to the microservice. The
microservice runs the service logic and sends
the response back to the client.
The Anypoint Service Mesh adapter
communicates with Anypoint Platform in the
background to keep up-to-date on the latest
policies and contracts, and also sends back API
analytics information.
VMware Tanzu Service Mesh
Preferred Microservices Development Frameworks
.NET NodeJs Spring Boot Java
✓.NET is a general purpose development platform.
With .NET, you can use multiple languages, editors,
and libraries to build native applications for web,
mobile, desktop, gaming, and IoT for Windows,
macOS, Linux, Android, and more.
✓ Tight integration with visual studio
✓ Stable code, Light-weight, Speedy, Fast
✓ Reliable and strongly typed server side language.
✓ Fantastic documentation, eco-system, support & 3rd
party libraries
✓ Great MS Azure integration
✓ Highly Productive and Performant
✓ Powerful Web application framework (ASP.NET MVC)
✓ Powerful ORM (Entity Framework)
✓ Constantly improving to keep up with new trends
✓ Dependency injectio
✓ TFS
✓ Security
✓ Useful IoC
✓ Scaffolding
✓ Asynchrony
✓ Concurrent
✓ Default Debugging tools
✓ Node.js uses an event-driven, non-blocking I/O
model that makes it lightweight and efficient, perfect
for data-intensive real-time applications that run
across distributed devices.
✓ Npm
✓ Javascript
✓ Great libraries, community, support and
documentation
✓ Good for Web Applications, APIs, Realtime
applications, Data Streaming
✓ Asynchronous
✓ Great for command line utilities
✓ Node Modules
✓ Websockets
✓ Great modularity
✓ Can be used as a proxy
✓ Cross platform
✓ Easy concurrency
✓ One language, end-to-end
✓ TypeScript Support
✓ Easy to learn, use
✓ Less boilerplate code
✓ Performant and fast prototyping
✓ A key element of Spring is infrastructural support
at the application level: Spring focuses on the
"plumbing" of enterprise applications so that
teams can focus on application-level business
logic, without unnecessary ties to specific
deployment environments.
✓ Java
✓ Open source
✓ Great community, documentation & libraries
✓ Very powerful
✓ Enterprise
✓ Easy setup
✓ Dependency injection
✓ Stability
✓ MVC
✓ Integrations with most other Java frameworks
✓ Easy Integration with Spring Security
✓ Best practices
✓ Large ecosystem with seamless integration
✓ Java has more support and more libraries
✓ Supports vast databases
NodeJs vs Springboot Java
NodeJs Springboot Java
➢ Single-threaded which implies that one request can be dealt with
one thread.
✓ Multi-threaded which means that several tasks can be performed
concurrently.
➢ Not recommended for CPU-intensive applications that include
video encoding, image manipulation and Big Data computing.
✓ Good for IoT, Big Data, Streaming, eCommerce Platforms etc. Very
useful when dealing with long or repetitive operations.
✓ Due to non-blocking I/O, developers can send many requests at the
same time.
➢ Has a Blocking I/O and as such developers will have to wait for every
I/O request.
Features of NodeJs and Spring Boot Java
NodeJs
• Single -threaded. Low memory utilisation
• Enterprise application development is easier to start because it is a
great option to prototype.
• Follows the agile development methodology which is apt for highly
scalable enterprise application development services
• Enterprise application with NodeJs development work two times
faster than Java with fewer resources.
• Lightweight and fast
• Node employs 33% lesser lines of code, 45% lesser files.
• Huge resource pool of libraries that are available to NodeJs
developers.
• Event-driven , non-blocking I/O model and Asynchronous. Due to this
feature, it is more light-weight and great for data-intensive enterprise
application development.
• Node.js is a runtime environment used for executing JavaScript code
outside of a browser. Express.js is the de facto web application
framework for Node.js.
Spring Boot Java
• Muliti-threaded. High memory utilisation
• Java is simple and supported by all devices and operating systems.
• In-built language security features embedded by Java Compiler and
the machine making it trustworthy especially for web development.
• Employs robust code which lets your application development
consider all cases of errors with the help of a code.
• Great garbage collection mechanism with an equally good type-
checking scale.
• Better integration capability. Supports client-side technologies.
• Spring boot avoids writing boilerplate code and XML configurations
• Embedded HTTP servers like Jetty, Tomcat and tests web applications
easily.
• CLI is great for developing and testing Java applications from the
command prompt.
SAP Cloud Platform Extension Factory
SAP Cloud Platform Extension Factory help developers
create extensions in the form of microservices that are
event-driven.
This prevents one-to-one integration and therefore
increases the extension’s flexibility.
The existing services available in SAP software, such
as SAP S/4HANA or SAP C/4HANA, are reused and can
be combined with the services available on SAP Cloud
Platform and those offered by other providers of value-
added services.
To facilitate this flexibility while maintaining a high level
of IT security and integration, SAP has developed SAP
Cloud Platform Extension Factory, which is based on
the open source project Kyma.
Microservices vs Monolithic
Microservices Monolithic Architecture
Every unit of the entire application should be the smallest, and it should be able to
deliver one specific business goal.
A single code base for all business goals
Service Startup is relatively quick Service startup takes more time
Fault isolation is easy.
Even if one service goes down, other can continue to function.
Fault isolation is difficult.
If any specific feature is not working, the complete system goes down. In
order to handle this issue, the application needs to re-built, re-tested and also
re-deployed.
All microservices should be loosely coupled so that changes made in one does not affect
the other.
Monolithic architecture is tightly coupled.
Changes in one module of code affect the other
Businesses can deploy more resources to services that are generating higher ROI Since services are not isolated, individual resource allocation not possible
More hardware resources could be allocated to the service that is frequently used. Application scaling is challenging as well as wasteful.
Microservices always remains consistent and continuously available. Development tools get overburdened as the process needs to start from the
scratch.
Data is federated. This allows individual Microservice to adopt a data model best suited
for its needs.
Data is centralized.
Small Focused Teams. Parallel and faster development Large team and considerable team management effort is required
Change in the data model of one Microservice does not affect other Microservices. Change in data model affects the entire database
Interacts with other microservices by using well-defined interfaces Not applicable
Microservices work on the principle that focuses on products, not projects Put emphasize on the entire project
No cross-dependencies between code bases. You can use different technologies for
different Microservices.
One function or program depends on others.
Microservices vs SOA
Microservice SOA
Architecture Designed to host services which can function
independently
Designed to share resources across
services
Component sharing Typically does not involve component sharing Frequently involves component sharing
Granularity Fine-grained services Larger, more modular services
Data storage Each service can have an independent data
storage
Involves sharing data storage between
services
Governance Requires collaboration between teams Common governance protocols across
teams
Size and scope Better for smaller and web-based applications Better for large scale integrations
Communication Communicates through an API layer Communicates through an ESB
Coupling and cohesion Relies on bounded context for coupling Relies on sharing resources
Remote services Uses REST and JMS Uses protocols like SOAP and AMQP
Deployment Quick and easy deployment Less flexibility in deployment
Multi-Architectural Patterns & Polyglot Microservices
Microservices can be build
with many technologies and
languages, such as
• ASP.NET Core Web APIs,
• Node.js,
• Python,
• Java,
• C++,
• GoLang, and more.
No particular architecture
pattern or style, nor any
particular technology, is right
for all situations.
This figure highlights some
approaches and technologies
(although not in any particular
order) that could be used in
different microservices.
SecDevOps/ DevOps Market Insights
Azure DevOps Services – managed cloud services

More Related Content

What's hot

Amazon Virtual Private Cloud (VPC) - Networking Fundamentals and Connectivity...
Amazon Virtual Private Cloud (VPC) - Networking Fundamentals and Connectivity...Amazon Virtual Private Cloud (VPC) - Networking Fundamentals and Connectivity...
Amazon Virtual Private Cloud (VPC) - Networking Fundamentals and Connectivity...Amazon Web Services
 
Architecting security and governance across your AWS environment
Architecting security and governance across your AWS environmentArchitecting security and governance across your AWS environment
Architecting security and governance across your AWS environmentAmazon Web Services
 
Introduction to AWS Organizations
Introduction to AWS OrganizationsIntroduction to AWS Organizations
Introduction to AWS OrganizationsAmazon Web Services
 
AWS 101: Introduction to AWS
AWS 101: Introduction to AWSAWS 101: Introduction to AWS
AWS 101: Introduction to AWSIan Massingham
 
Best Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesBest Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesQAware GmbH
 
AWS Control Tower
AWS Control TowerAWS Control Tower
AWS Control TowerCloudHesive
 
Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1) - AWS reInvent ...
Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1) - AWS reInvent ...Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1) - AWS reInvent ...
Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1) - AWS reInvent ...Amazon Web Services
 
K8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKSK8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKSAmazon Web Services
 
AWS Landing Zone Deep Dive (ENT350-R2) - AWS re:Invent 2018
AWS Landing Zone Deep Dive (ENT350-R2) - AWS re:Invent 2018AWS Landing Zone Deep Dive (ENT350-R2) - AWS re:Invent 2018
AWS Landing Zone Deep Dive (ENT350-R2) - AWS re:Invent 2018Amazon Web Services
 
Using AWS Control Tower to govern multi-account AWS environments at scale - G...
Using AWS Control Tower to govern multi-account AWS environments at scale - G...Using AWS Control Tower to govern multi-account AWS environments at scale - G...
Using AWS Control Tower to govern multi-account AWS environments at scale - G...Amazon Web Services
 
AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...
AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...
AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...Amazon Web Services
 
AWS Cloud Practitioner Tutorial | Edureka
AWS Cloud Practitioner Tutorial | EdurekaAWS Cloud Practitioner Tutorial | Edureka
AWS Cloud Practitioner Tutorial | EdurekaEdureka!
 
AWS Multi-Account Architecture and Best Practices
AWS Multi-Account Architecture and Best PracticesAWS Multi-Account Architecture and Best Practices
AWS Multi-Account Architecture and Best PracticesAmazon Web Services
 
Introduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best PracticesIntroduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best PracticesGary Silverman
 
Azure Cloud Adoption Framework + Governance - Sana Khan and Jay Kumar
Azure Cloud Adoption Framework + Governance - Sana Khan and Jay Kumar Azure Cloud Adoption Framework + Governance - Sana Khan and Jay Kumar
Azure Cloud Adoption Framework + Governance - Sana Khan and Jay Kumar Timothy McAliley
 
Getting Started with AWS Database Migration Service
Getting Started with AWS Database Migration ServiceGetting Started with AWS Database Migration Service
Getting Started with AWS Database Migration ServiceAmazon Web Services
 

What's hot (20)

Amazon Virtual Private Cloud (VPC) - Networking Fundamentals and Connectivity...
Amazon Virtual Private Cloud (VPC) - Networking Fundamentals and Connectivity...Amazon Virtual Private Cloud (VPC) - Networking Fundamentals and Connectivity...
Amazon Virtual Private Cloud (VPC) - Networking Fundamentals and Connectivity...
 
Intro to Amazon ECS
Intro to Amazon ECSIntro to Amazon ECS
Intro to Amazon ECS
 
Architecting security and governance across your AWS environment
Architecting security and governance across your AWS environmentArchitecting security and governance across your AWS environment
Architecting security and governance across your AWS environment
 
Introduction to AWS Organizations
Introduction to AWS OrganizationsIntroduction to AWS Organizations
Introduction to AWS Organizations
 
AWS 101: Introduction to AWS
AWS 101: Introduction to AWSAWS 101: Introduction to AWS
AWS 101: Introduction to AWS
 
Best Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesBest Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes Services
 
AWS Control Tower
AWS Control TowerAWS Control Tower
AWS Control Tower
 
Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1) - AWS reInvent ...
Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1) - AWS reInvent ...Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1) - AWS reInvent ...
Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1) - AWS reInvent ...
 
K8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKSK8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKS
 
Azure migration
Azure migrationAzure migration
Azure migration
 
AWS Landing Zone Deep Dive (ENT350-R2) - AWS re:Invent 2018
AWS Landing Zone Deep Dive (ENT350-R2) - AWS re:Invent 2018AWS Landing Zone Deep Dive (ENT350-R2) - AWS re:Invent 2018
AWS Landing Zone Deep Dive (ENT350-R2) - AWS re:Invent 2018
 
Using AWS Control Tower to govern multi-account AWS environments at scale - G...
Using AWS Control Tower to govern multi-account AWS environments at scale - G...Using AWS Control Tower to govern multi-account AWS environments at scale - G...
Using AWS Control Tower to govern multi-account AWS environments at scale - G...
 
AWS CloudFormation Masterclass
AWS CloudFormation MasterclassAWS CloudFormation Masterclass
AWS CloudFormation Masterclass
 
AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...
AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...
AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...
 
AWS Cloud Practitioner Tutorial | Edureka
AWS Cloud Practitioner Tutorial | EdurekaAWS Cloud Practitioner Tutorial | Edureka
AWS Cloud Practitioner Tutorial | Edureka
 
Terraform
TerraformTerraform
Terraform
 
AWS Multi-Account Architecture and Best Practices
AWS Multi-Account Architecture and Best PracticesAWS Multi-Account Architecture and Best Practices
AWS Multi-Account Architecture and Best Practices
 
Introduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best PracticesIntroduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best Practices
 
Azure Cloud Adoption Framework + Governance - Sana Khan and Jay Kumar
Azure Cloud Adoption Framework + Governance - Sana Khan and Jay Kumar Azure Cloud Adoption Framework + Governance - Sana Khan and Jay Kumar
Azure Cloud Adoption Framework + Governance - Sana Khan and Jay Kumar
 
Getting Started with AWS Database Migration Service
Getting Started with AWS Database Migration ServiceGetting Started with AWS Database Migration Service
Getting Started with AWS Database Migration Service
 

Similar to Microservices for Application Modernisation

Microservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare ApplicationsMicroservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare ApplicationsCitiusTech
 
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and MoreA Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and MoreSimform
 
Introduction to Cloud Native Computing
Introduction to Cloud Native ComputingIntroduction to Cloud Native Computing
Introduction to Cloud Native ComputingSaju Thomas
 
Cloud strategy briefing 101
Cloud strategy briefing 101 Cloud strategy briefing 101
Cloud strategy briefing 101 Predrag Mitrovic
 
Radu crahmaliuc 23feb2012
Radu crahmaliuc 23feb2012Radu crahmaliuc 23feb2012
Radu crahmaliuc 23feb2012Agora Group
 
Microservices Design Principles.pdf
Microservices Design Principles.pdfMicroservices Design Principles.pdf
Microservices Design Principles.pdfSimform
 
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...riyak40
 
Cloud Ecosystems A Perspective
Cloud Ecosystems A PerspectiveCloud Ecosystems A Perspective
Cloud Ecosystems A Perspectivejmcdaniel650
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureKim Clark
 
(ENT211) Migrating the US Government to the Cloud | AWS re:Invent 2014
(ENT211) Migrating the US Government to the Cloud | AWS re:Invent 2014(ENT211) Migrating the US Government to the Cloud | AWS re:Invent 2014
(ENT211) Migrating the US Government to the Cloud | AWS re:Invent 2014Amazon Web Services
 
IBM --Enterprise messaging in the cloud
IBM --Enterprise messaging in the cloudIBM --Enterprise messaging in the cloud
IBM --Enterprise messaging in the cloudAbhishek Sood
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY IJwest
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHYSELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHYdannyijwest
 
Embracing Containers and Microservices for Future Proof Application Moderniza...
Embracing Containers and Microservices for Future Proof Application Moderniza...Embracing Containers and Microservices for Future Proof Application Moderniza...
Embracing Containers and Microservices for Future Proof Application Moderniza...Marlabs
 
Introduction to aneka cloud
Introduction to aneka cloudIntroduction to aneka cloud
Introduction to aneka cloudssuser84183f
 
Demystifying The Cloud-iON Cloud ERP
Demystifying The Cloud-iON Cloud ERPDemystifying The Cloud-iON Cloud ERP
Demystifying The Cloud-iON Cloud ERPChirantan Ghosh
 
Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith Judy Breedlove
 

Similar to Microservices for Application Modernisation (20)

Microservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare ApplicationsMicroservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare Applications
 
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and MoreA Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
 
Introduction to Cloud Native Computing
Introduction to Cloud Native ComputingIntroduction to Cloud Native Computing
Introduction to Cloud Native Computing
 
Cloud strategy briefing 101
Cloud strategy briefing 101 Cloud strategy briefing 101
Cloud strategy briefing 101
 
Radu crahmaliuc 23feb2012
Radu crahmaliuc 23feb2012Radu crahmaliuc 23feb2012
Radu crahmaliuc 23feb2012
 
Adopting the Cloud
Adopting the CloudAdopting the Cloud
Adopting the Cloud
 
Microservices Design Principles.pdf
Microservices Design Principles.pdfMicroservices Design Principles.pdf
Microservices Design Principles.pdf
 
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...
 
Cloud Ecosystems A Perspective
Cloud Ecosystems A PerspectiveCloud Ecosystems A Perspective
Cloud Ecosystems A Perspective
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration Architecture
 
(ENT211) Migrating the US Government to the Cloud | AWS re:Invent 2014
(ENT211) Migrating the US Government to the Cloud | AWS re:Invent 2014(ENT211) Migrating the US Government to the Cloud | AWS re:Invent 2014
(ENT211) Migrating the US Government to the Cloud | AWS re:Invent 2014
 
IBM --Enterprise messaging in the cloud
IBM --Enterprise messaging in the cloudIBM --Enterprise messaging in the cloud
IBM --Enterprise messaging in the cloud
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHYSELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
 
Multi Cloud Architecture Approach
Multi Cloud Architecture ApproachMulti Cloud Architecture Approach
Multi Cloud Architecture Approach
 
Embracing Containers and Microservices for Future Proof Application Moderniza...
Embracing Containers and Microservices for Future Proof Application Moderniza...Embracing Containers and Microservices for Future Proof Application Moderniza...
Embracing Containers and Microservices for Future Proof Application Moderniza...
 
Introduction to aneka cloud
Introduction to aneka cloudIntroduction to aneka cloud
Introduction to aneka cloud
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Demystifying The Cloud-iON Cloud ERP
Demystifying The Cloud-iON Cloud ERPDemystifying The Cloud-iON Cloud ERP
Demystifying The Cloud-iON Cloud ERP
 
Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith
 

More from Ajay Kumar Uppal

Sap on aws cloud technology proposition
Sap on aws  cloud  technology propositionSap on aws  cloud  technology proposition
Sap on aws cloud technology propositionAjay Kumar Uppal
 
Business value of Enterprise Security Architecture
Business value of Enterprise Security Architecture Business value of Enterprise Security Architecture
Business value of Enterprise Security Architecture Ajay Kumar Uppal
 
Enterprise Architecture - Information Security
Enterprise Architecture - Information SecurityEnterprise Architecture - Information Security
Enterprise Architecture - Information SecurityAjay Kumar Uppal
 
Cloud proposition for banking
Cloud proposition for bankingCloud proposition for banking
Cloud proposition for bankingAjay Kumar Uppal
 
Cloud dev ops costs prices sap hana ms
Cloud dev ops costs prices sap hana msCloud dev ops costs prices sap hana ms
Cloud dev ops costs prices sap hana msAjay Kumar Uppal
 
BW on HANA optimisation answers
BW on HANA optimisation answersBW on HANA optimisation answers
BW on HANA optimisation answersAjay Kumar Uppal
 
Business case for SAP HANA
Business case for SAP HANABusiness case for SAP HANA
Business case for SAP HANAAjay Kumar Uppal
 
Cloud, big data, sap, hana, iot, ms azure & way forward
Cloud, big data, sap, hana, iot, ms azure & way forwardCloud, big data, sap, hana, iot, ms azure & way forward
Cloud, big data, sap, hana, iot, ms azure & way forwardAjay Kumar Uppal
 
ICT strategy and architecture principles by ajay kumar uppal
ICT strategy and architecture principles  by ajay kumar uppalICT strategy and architecture principles  by ajay kumar uppal
ICT strategy and architecture principles by ajay kumar uppalAjay Kumar Uppal
 
Architecture review certificate generation of client files
Architecture review certificate generation of client files Architecture review certificate generation of client files
Architecture review certificate generation of client files Ajay Kumar Uppal
 
Cutover strategy - Legacy to new billing, invoicing engine
Cutover strategy - Legacy to new billing, invoicing engineCutover strategy - Legacy to new billing, invoicing engine
Cutover strategy - Legacy to new billing, invoicing engineAjay Kumar Uppal
 
Data migration blueprint legacy to sap
Data migration blueprint  legacy to sapData migration blueprint  legacy to sap
Data migration blueprint legacy to sapAjay Kumar Uppal
 
End to end business transformation
End to end business transformationEnd to end business transformation
End to end business transformationAjay Kumar Uppal
 
Consolidating the Application Landscape
Consolidating the Application LandscapeConsolidating the Application Landscape
Consolidating the Application LandscapeAjay Kumar Uppal
 
Cloud centric consumption based services for SAP, HANA, Concur, Ariba, C4C
Cloud centric consumption based services for SAP, HANA, Concur, Ariba, C4CCloud centric consumption based services for SAP, HANA, Concur, Ariba, C4C
Cloud centric consumption based services for SAP, HANA, Concur, Ariba, C4CAjay Kumar Uppal
 

More from Ajay Kumar Uppal (20)

Sap on aws cloud technology proposition
Sap on aws  cloud  technology propositionSap on aws  cloud  technology proposition
Sap on aws cloud technology proposition
 
Sap sap hana s4 on cloud
Sap sap hana s4 on cloudSap sap hana s4 on cloud
Sap sap hana s4 on cloud
 
Sap sap hana s4 on cloud
Sap sap hana s4 on cloudSap sap hana s4 on cloud
Sap sap hana s4 on cloud
 
Business value of Enterprise Security Architecture
Business value of Enterprise Security Architecture Business value of Enterprise Security Architecture
Business value of Enterprise Security Architecture
 
Enterprise Architecture - Information Security
Enterprise Architecture - Information SecurityEnterprise Architecture - Information Security
Enterprise Architecture - Information Security
 
Cloud proposition for banking
Cloud proposition for bankingCloud proposition for banking
Cloud proposition for banking
 
Cloud dev ops costs prices sap hana ms
Cloud dev ops costs prices sap hana msCloud dev ops costs prices sap hana ms
Cloud dev ops costs prices sap hana ms
 
S 4 HANA 4 CEOs and CFOs
S 4 HANA 4 CEOs and CFOsS 4 HANA 4 CEOs and CFOs
S 4 HANA 4 CEOs and CFOs
 
SAP Configuration Data
SAP Configuration Data SAP Configuration Data
SAP Configuration Data
 
BW on HANA optimisation answers
BW on HANA optimisation answersBW on HANA optimisation answers
BW on HANA optimisation answers
 
Cio forum s4hana
Cio forum s4hanaCio forum s4hana
Cio forum s4hana
 
Business case for SAP HANA
Business case for SAP HANABusiness case for SAP HANA
Business case for SAP HANA
 
Cloud, big data, sap, hana, iot, ms azure & way forward
Cloud, big data, sap, hana, iot, ms azure & way forwardCloud, big data, sap, hana, iot, ms azure & way forward
Cloud, big data, sap, hana, iot, ms azure & way forward
 
ICT strategy and architecture principles by ajay kumar uppal
ICT strategy and architecture principles  by ajay kumar uppalICT strategy and architecture principles  by ajay kumar uppal
ICT strategy and architecture principles by ajay kumar uppal
 
Architecture review certificate generation of client files
Architecture review certificate generation of client files Architecture review certificate generation of client files
Architecture review certificate generation of client files
 
Cutover strategy - Legacy to new billing, invoicing engine
Cutover strategy - Legacy to new billing, invoicing engineCutover strategy - Legacy to new billing, invoicing engine
Cutover strategy - Legacy to new billing, invoicing engine
 
Data migration blueprint legacy to sap
Data migration blueprint  legacy to sapData migration blueprint  legacy to sap
Data migration blueprint legacy to sap
 
End to end business transformation
End to end business transformationEnd to end business transformation
End to end business transformation
 
Consolidating the Application Landscape
Consolidating the Application LandscapeConsolidating the Application Landscape
Consolidating the Application Landscape
 
Cloud centric consumption based services for SAP, HANA, Concur, Ariba, C4C
Cloud centric consumption based services for SAP, HANA, Concur, Ariba, C4CCloud centric consumption based services for SAP, HANA, Concur, Ariba, C4C
Cloud centric consumption based services for SAP, HANA, Concur, Ariba, C4C
 

Recently uploaded

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Microservices for Application Modernisation

  • 2. What is a Microservice? Microservice (or Microservice architecture) ✓ is a development architectural style ✓ a variant of the service-oriented architecture (SOA) structural style ✓ arranges an application as a collection of loosely coupled services. ✓ services are fine-grained and ✓ the protocols are lightweight. The term "micro" refers to the sizing of a microservice which must be manageable by a single development team ( 5 to 10 developers). In this methodology, big applications are divided into smallest independent units. ➢ Microservices are not necessarily exclusively relevant to cloud computing ▪ Frequently they go together because microservice is a popular architectural style for new applications and the cloud being a popular hosting destination for new applications. ➢ Primary benefits of microservices architecture are ▪ the utilization and cost benefits associated with deploying and scaling components individually. ▪ the combination of small, independently scalable components coupled with on-demand, pay-per-use infrastructure is where real cost optimizations can be found. ▪ each individual component can adopt the stack best suited to its specific job. ▪ stack proliferation can lead to serious complexity and overhead when it is on-premise; but consuming supporting stack as cloud services can dramatically minimize management challenges.
  • 3. Executive Summary EA Recommended Microservices Tool-kit/Solutions Requirements ❑ Choice of tools/technologies/vendors to build consistent and secure microservices across Orgn. ❑ Use flexible runtime with a built-in gateway to easily implement microservices ❑ Manage all microservices centrally ❑ Observe and optimize distributed microservices architectures — all in one place ❑ Increase microservices discoverability and empower teams to reuse them to develop faster ❑ Components are independent deployment units. Core Capabilities ❑ Microservices may consist of one or many components with business logic, and one or many system components including load balancers, databases, caches, message queues, etc. ❑ Microservice may use Data-as-a-Service, or message- queue-as-a-service and should have its own isolated container within these systems. ❑ Microservices integrate with each other over API. ❑ Role Based Access Control , Security ❑ Data Governance, Data Protection Purpose ❑ Drive Practicality and Pragmatism over Agnosticism ❑ Have standard set of tools/technologies to reduce ❑ Faster approach to develop Business Capabilities ❑ Facilitating Orgn.’s Digital Strategy ❑ Reducing Risk & Lowering TCO ❑ Data Monetization ❑ Data Democratization ❑ Multi-purpose over ‘best-of-breed’. ▪ Best of breed leads to more Tech-Debt Development & Orchestration Platform Other Development Frameworks Package Solutions SecDevOps (CI CD) Cloud ▪ MS Azure Service Fabric ▪ MuleSoft Anypoint Platform ▪ Node.Js ▪ Spring Boot Java ▪ .NET SAP Cloud Platform Extension Factory MS Azure DevOps services Awaiting inputs from Jerome, Som, Kerry and Vendors. On- prem ▪ RedHat OpenShift Service Mesh ▪ MuleSoft Anypoint Platform On-Prem Edition ▪ standalone Azure Service Fabric ▪ Node.Js ▪ Spring Boot Java ▪ .NET ▪ Python / temporary Low code process and platforms ▪ Salesforce MS Azure DevOps server Awaiting inputs from Jerome, Som, Kerry and Vendors. Traditional Service Fabric clusters on Azure are available as a managed service, while standalone Service Fabric clusters are self-service. https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-overview
  • 4. Need for Enterprise-wide Microservices Strategy? Pros of Microservices Cons of Microservices Greater agility Needs more collaboration (each team has to cover the whole microservice lifecycle) Faster time to market Harder to test, control and monitor because of the complexity of the architecture Security – ensuring security at individual service level Tough to track data across various service boundaries. Each Microservice focuses on single business capability Increases delay due to remote calls Multiple services can be developed and deployed in parallel Difficult to move code between services Better scalability, light-weight, and allowing frequent releases Poorer performance, as microservices need to communicate (network latency, message processing, etc.) Faster development cycles (easier deployment and debugging) Harder to maintain the network (has less fault tolerance, needs more load balancing, etc.) Easier to create a CI/CD pipeline for single- responsibility services Doesn’t work without the proper corporate culture (SecDevOps culture, automation practices, etc.) Isolated services have better fault tolerance Security issues (harder to maintain transaction safety, distributed communication goes wrong more likely, etc.) Platform- and language agnostic services. Freedom to use multiple languages, frameworks, patterns… Multiple languages and components may eventually result increased troubleshooting in short-term & TechDebt over long-term. Leverages API Economy Cloud-readiness NEED ✓ Practical + Pragmatic approach ✓ Maximise Pros ✓ Minimise Cons ✓ Encourage Standardisation ✓ Adopt best practices ✓ Embed 12 factor App Principles ✓ Adhere to Basic Security Requirements ✓ Define Use-Cases, Patterns, Frameworks ✓ Maximise use/re-use of existing stack ✓ Limit the number of languages ✓ Design for failure - provide fallbacks ✓ Chose the right pattern e.g. Circuit Breaker pattern. ✓ Embrace Asynchronous Communication ✓ Leverage orgn’s preferred API Gateway ✓ Lower Tech-Debt in long-run ✓ Versioning and separate release train(s) ✓ Before by a new ensure you retire at-least 2.
  • 5. Major Components of Microservices A typical Microservice Architecture(MSA) consists of the following components: ✓ Clients ✓ Identity Providers ✓ API Gateway (Organisation’s Preferred e.g. MuleSoft) ✓ Messaging Formats ✓ Databases ✓ Static Content ✓ Management ✓ Service Discovery There are a handful of core items that have become essential and borderline definitional to microservices: ➢ Containers, Docker and Kubernetes : With the proliferation of services and containers, orchestrating and managing large groups of containers quickly became one of the critical challenges. Kubernetes has emerged as one of the most popular container orchestration technologies. ➢ Messaging and event streaming: It is necessary to couple state-establishing API calls with messaging or event streaming so that services can broadcast changes in state and other interested parties can listen for those changes and adjust accordingly. ▪ By combining microservices with event driven architecture developers can build distributed, highly scalable, fault tolerant and extensible systems that can consume and process very large amounts of events or information in real-time. ➢ Serverless architectures and Functions-as-a-Service (FaaS) platforms share affinity with microservices, as they are both interested in creating smaller units of deployment and scaling precisely with demand.
  • 6. When to use Microservices? These figures illustrates the relationship between • functionality, coupling, agility • frequency of updates, and • relative percentage of the codebase. High Risk, Business Critical Services that reside in the upper right portion are candidates for Microservices that are frequently updated by small, dedicated teams. The Lower Risk Functions that rarely change can be grouped together into larger, monolithic services or package solutions as shown in the bottom left.
  • 7. When to use a Microservices Architecture? Orgn.’s Solution Engineering Team can use this decision tree to quickly determine whether developing Microservice(s) makes sense or not.
  • 8. Decision Tree for segmenting into smaller microservices Solution Architects can use this decision tree to quickly determine whether a service or function should be segmented into smaller microservices, be grouped together with similar or dependent services, or remain in a multifunctional, infrequently changing monolith.
  • 9. Microservices Use-cases Industry-wide Common Use-Cases for Microservices • Legacy applications refactoring. Rebuild IT capabilities in order to change the functionality or add some new features, move to cloud or just conduct global system modernization. • Applications dealing with big data, AL/ML Big data apps require a complex data pipeline-oriented architecture, where each stage is managed by one (or a few) particular task, e.g. data collection, processing, delivery, storage etc. • Real time data processing applications. Streaming platforms like YouTube or SoundCloud, radar systems • Large-scale systems with complex logic. • (Third-party) Applications serving a big amount of users simultaneously. • Rapidly growing applications providing third-party services (like plugins, data transfer apps, analytics and monitoring tools, data indexes, etc).
  • 10. Microservices Principles & Patterns Principles underpinning Microservices Architecture ✓ Scalability ✓ Availability ✓ Resiliency ✓ Flexibility ✓ Independent, autonomous ✓ Decentralized governance ✓ Failure isolation ✓ Auto-Provisioning ✓ Continuous delivery through DevSecOps
  • 11. Integration Patterns for Microservices
  • 13. For organisation with various separate business units and highly complex IT landscape; it is recommended to ❑ Use and leverage matured, well-supported and proven set of tools and technologies Challenges that the solution engineering, production operations, and infrastructure teams face when migrating to the cloud and microservices. ➢ Increase in the number of configuration points across multiple dimensions ➢ Services and components become smaller, the number of them increases, and they become more interconnected. ➢ Development teams produce more changes and demand that they be deployed in production more frequently to enable continuous innovation. ➢ Infrastructure components - such as VMs, containers, and load balancers - become more lightweight and increase in number. ➢ Dynamic environments, auto-scaling, and self-healing lead to the increased frequency of changes to the infrastructure components. Challenges in Microservices without the proper support
  • 14. Azure Service Fabric – Cloud & On-Premise Compliant with Orgn.’s Secu Azure Service Fabric is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices and containers. Service Fabric provides a sophisticated, lightweight runtime that supports stateless and stateful microservices. Key differentiator is focus on building stateful services using the Service Fabric programming model or run containerized stateful services written in any language or code. Service Fabric clusters anywhere, including Windows Server and Linux on premises and other public clouds, in addition to Azure.
  • 15. MS Azure Services Decision Tree MS Azure Service Fabric for developing microservices and orchestrating containers on Windows and Linux. MS Azure Kubernetes Service for deployment, management, and operations of Kubernetes.
  • 17. MuleSoft – ‘Code’ Microservice
  • 18. Integrations and Microservices leveraging MuleSoft ● Assets ● Projects ● Investments etc Prebuilt microservices in other technologies SOAP services layer Tactical Oracle gateway replacement Like-for-like SOAP services SaaS applications Prebuilt microservices in other technologies Microservices platform(s) hosted applications GIS Large/complex/legacy ‘monolithic’ applications such as asset management and ERP Example: Ellipse System APIs provide a consistent façade, hiding underlying complexity. e.g. e.g. The MuleSoft ‘System API’ layer can be thought of as an implementation layer for microservices, with orchestration overlaid by the ’Process API’ layer. Microservices style APIs implement granular operations to be reused by the orchestration layer Modern applications, whether SaaS or on-prem Strategic ‘microservices’ style API for granular Ellipse operations e.g. ‘Create project’ (hides multiple SOAP calls and JobEstimate/WorkRequest internal data model) System layer (services) Process layer (orchestration) • Discoverable in one place (MuleSoft Exchange) • Consistent technology for consumers (REST) • De-coupled architecture provides agility Existing microservices built in other technologies MuleSoft provides simple proxy which can then be discovered, policy managed etc.
  • 19. 19 MuleSoft Anypoint Service Mesh Sequence of events 1. The client (possibly another microservice or any Kubernetes Ingress component) sends a request to the service. 2. Envoy captures the request and redirects it to the Istio Mixer. 3. The Mixer adapter calls the Anypoint Service Mesh adapter to perform policy checks and verifications. 4. The Anypoint Service Mesh adapter performs policy checks and responds back to the Mixer. 5. The Mixer communicates the outcome of the policy checks to the Envoy proxy. 6. When no policy violations occur, the request is routed to the microservice. The microservice runs the service logic and sends the response back to the client. The Anypoint Service Mesh adapter communicates with Anypoint Platform in the background to keep up-to-date on the latest policies and contracts, and also sends back API analytics information.
  • 21. Preferred Microservices Development Frameworks .NET NodeJs Spring Boot Java ✓.NET is a general purpose development platform. With .NET, you can use multiple languages, editors, and libraries to build native applications for web, mobile, desktop, gaming, and IoT for Windows, macOS, Linux, Android, and more. ✓ Tight integration with visual studio ✓ Stable code, Light-weight, Speedy, Fast ✓ Reliable and strongly typed server side language. ✓ Fantastic documentation, eco-system, support & 3rd party libraries ✓ Great MS Azure integration ✓ Highly Productive and Performant ✓ Powerful Web application framework (ASP.NET MVC) ✓ Powerful ORM (Entity Framework) ✓ Constantly improving to keep up with new trends ✓ Dependency injectio ✓ TFS ✓ Security ✓ Useful IoC ✓ Scaffolding ✓ Asynchrony ✓ Concurrent ✓ Default Debugging tools ✓ Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices. ✓ Npm ✓ Javascript ✓ Great libraries, community, support and documentation ✓ Good for Web Applications, APIs, Realtime applications, Data Streaming ✓ Asynchronous ✓ Great for command line utilities ✓ Node Modules ✓ Websockets ✓ Great modularity ✓ Can be used as a proxy ✓ Cross platform ✓ Easy concurrency ✓ One language, end-to-end ✓ TypeScript Support ✓ Easy to learn, use ✓ Less boilerplate code ✓ Performant and fast prototyping ✓ A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments. ✓ Java ✓ Open source ✓ Great community, documentation & libraries ✓ Very powerful ✓ Enterprise ✓ Easy setup ✓ Dependency injection ✓ Stability ✓ MVC ✓ Integrations with most other Java frameworks ✓ Easy Integration with Spring Security ✓ Best practices ✓ Large ecosystem with seamless integration ✓ Java has more support and more libraries ✓ Supports vast databases
  • 22. NodeJs vs Springboot Java NodeJs Springboot Java ➢ Single-threaded which implies that one request can be dealt with one thread. ✓ Multi-threaded which means that several tasks can be performed concurrently. ➢ Not recommended for CPU-intensive applications that include video encoding, image manipulation and Big Data computing. ✓ Good for IoT, Big Data, Streaming, eCommerce Platforms etc. Very useful when dealing with long or repetitive operations. ✓ Due to non-blocking I/O, developers can send many requests at the same time. ➢ Has a Blocking I/O and as such developers will have to wait for every I/O request.
  • 23. Features of NodeJs and Spring Boot Java NodeJs • Single -threaded. Low memory utilisation • Enterprise application development is easier to start because it is a great option to prototype. • Follows the agile development methodology which is apt for highly scalable enterprise application development services • Enterprise application with NodeJs development work two times faster than Java with fewer resources. • Lightweight and fast • Node employs 33% lesser lines of code, 45% lesser files. • Huge resource pool of libraries that are available to NodeJs developers. • Event-driven , non-blocking I/O model and Asynchronous. Due to this feature, it is more light-weight and great for data-intensive enterprise application development. • Node.js is a runtime environment used for executing JavaScript code outside of a browser. Express.js is the de facto web application framework for Node.js. Spring Boot Java • Muliti-threaded. High memory utilisation • Java is simple and supported by all devices and operating systems. • In-built language security features embedded by Java Compiler and the machine making it trustworthy especially for web development. • Employs robust code which lets your application development consider all cases of errors with the help of a code. • Great garbage collection mechanism with an equally good type- checking scale. • Better integration capability. Supports client-side technologies. • Spring boot avoids writing boilerplate code and XML configurations • Embedded HTTP servers like Jetty, Tomcat and tests web applications easily. • CLI is great for developing and testing Java applications from the command prompt.
  • 24. SAP Cloud Platform Extension Factory SAP Cloud Platform Extension Factory help developers create extensions in the form of microservices that are event-driven. This prevents one-to-one integration and therefore increases the extension’s flexibility. The existing services available in SAP software, such as SAP S/4HANA or SAP C/4HANA, are reused and can be combined with the services available on SAP Cloud Platform and those offered by other providers of value- added services. To facilitate this flexibility while maintaining a high level of IT security and integration, SAP has developed SAP Cloud Platform Extension Factory, which is based on the open source project Kyma.
  • 25. Microservices vs Monolithic Microservices Monolithic Architecture Every unit of the entire application should be the smallest, and it should be able to deliver one specific business goal. A single code base for all business goals Service Startup is relatively quick Service startup takes more time Fault isolation is easy. Even if one service goes down, other can continue to function. Fault isolation is difficult. If any specific feature is not working, the complete system goes down. In order to handle this issue, the application needs to re-built, re-tested and also re-deployed. All microservices should be loosely coupled so that changes made in one does not affect the other. Monolithic architecture is tightly coupled. Changes in one module of code affect the other Businesses can deploy more resources to services that are generating higher ROI Since services are not isolated, individual resource allocation not possible More hardware resources could be allocated to the service that is frequently used. Application scaling is challenging as well as wasteful. Microservices always remains consistent and continuously available. Development tools get overburdened as the process needs to start from the scratch. Data is federated. This allows individual Microservice to adopt a data model best suited for its needs. Data is centralized. Small Focused Teams. Parallel and faster development Large team and considerable team management effort is required Change in the data model of one Microservice does not affect other Microservices. Change in data model affects the entire database Interacts with other microservices by using well-defined interfaces Not applicable Microservices work on the principle that focuses on products, not projects Put emphasize on the entire project No cross-dependencies between code bases. You can use different technologies for different Microservices. One function or program depends on others.
  • 26. Microservices vs SOA Microservice SOA Architecture Designed to host services which can function independently Designed to share resources across services Component sharing Typically does not involve component sharing Frequently involves component sharing Granularity Fine-grained services Larger, more modular services Data storage Each service can have an independent data storage Involves sharing data storage between services Governance Requires collaboration between teams Common governance protocols across teams Size and scope Better for smaller and web-based applications Better for large scale integrations Communication Communicates through an API layer Communicates through an ESB Coupling and cohesion Relies on bounded context for coupling Relies on sharing resources Remote services Uses REST and JMS Uses protocols like SOAP and AMQP Deployment Quick and easy deployment Less flexibility in deployment
  • 27. Multi-Architectural Patterns & Polyglot Microservices Microservices can be build with many technologies and languages, such as • ASP.NET Core Web APIs, • Node.js, • Python, • Java, • C++, • GoLang, and more. No particular architecture pattern or style, nor any particular technology, is right for all situations. This figure highlights some approaches and technologies (although not in any particular order) that could be used in different microservices.
  • 29. Azure DevOps Services – managed cloud services