SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
~ nagarro
Testing the Migration of
Monolithic Applications to
Microservices on the Cloud
The why and how!
Agenda
Here's w hat we learn
1 Monolithic vs. Microservices
- What is yours?
2 Monolithic applications
- Do you face these challenges?
3 Microservices
- Why is it a better option
4 On cloud, finally?
- See how you can deploy applications on the
cloud
S Still not sure?
- Business usage advantages with microservices
6 Key differentiators in
migrating to cloud
7 Cloud testing
- What are the focus areas?
8 Cloud testing
- Types &tools
Monolithic applications
• Comprises single1 highly coupled
monolithic instances running on on-
premise servers to manage
operations
• Any single-component change will
require building and testing the entire
application
Microservices
• Comprises multiple, loosely
coupled microservice instances
running on cloud and API
gateway, configured to handle
operations
• Easy to identify the impact of
any change and test impacted
areas
Monolithic applications
- Do you face these challenges too?
Entire application goes down
• Even a small update requires redeploying the
entire application
• Extensive testing is required post
redeployment, as the impact is not clear
Barriers in new
techno oav adootin
• Huge barriers in adopting new frameworks
and technologies
Longer time to deploy
• Tight coupling between components makes it
difficult to deploy regularly
• Start-up time is high, as it loads all modules
• Continuous deployment is a problem with
complex monolithic applications
Inability to scale
Technical debt
• Debt gets accumulated over time, making future
development difficult
• Inability to scale individual components to meet
increased demand
• Not scalable when multiple modules have
conflicting resource requirements
Highly available
Each service is scaled up independently and
each service instance is a Docker container
Continuous
deployment
Continuous deployment services are
easier to deploy, and changes are
tested as soon as possible
Easier to develop
Individual services are much easier to
develop, understand, and maintain
Small applications
Each microservice is a small application
with business logic implemented
L
.
I
-
Each service has its own database schema
rather than sharing a single database to
ensure loose coupling
Services consumed
APls are exposed by microservices,
which are consumed by other services
Own DB schema
The application is split into a set of simpler
web applications, facilitating easier
deployment across devices
Deployment architecture
• Packaging: Instead of packaging all the
related WARs in one file, split them into
independent WARs
• Containers: Deploy each WAR in its
container (e.g., Docker container)
• DevOps: Manage each WAR independently
through an automated pipeline (continuous
delivery: build, deploy, and manage
independently)
Service model selected: Saas
(Software as a Service)
• Pay-per-use
• Quick to deploy
• Zero infrastructure
• Seamless upgrades
• Backups & DR
• No learning curve
• Access data from anywhere
• Delivered as a service and
managed by the vendor
..--------- SaaS ------------.
- - - - - - PaaS -----~
laaS
HoSl<d ,pp1,ca1J0ns/app, ~lopmtnt toolt Opor>tong Systtms SOIVtfS W SIOlilgt Nttwo1k1"9
data:~ ffli"il(Jf;'mPnl firewafls/security
business aNlytics
Oit.i ctnt11 physmil
pl•ntlboikliog
Still not sure?
Business usage advantages with microservices
Any changes made can be
deployed and validated quickly
• Highly suitable architecture ideal
for changing requirements and
business
New functionalities can be added
easily along with the existing ones
• To avoid downtime, breaks the
application into smaller pieces
• If one service fails, other
applications are still available
Failed part of an application can
be rectified with minimal
downtime
• Accommodate workloads by
scaling up or down the nodes in
cloud
• Efficient, since resources are not
wasted on unrequired services
• Asynchrony, DB optimization,
loose coupling, and partitioning
should be considered
System reliability
ensures application uptime for a
sustained period without any
failure
Improved
time-to-market
• Microservices help achieve
improved time-to-market without
compromising on quality
standards, ensuring quicker
customer delivery
• A fault in one microservice will not
have an impact on any other
microservice
• Only a small part of the
application is impacted instead of
the entire application going down
Pay-per-use and self-
service provisioning
No human interaction
Multi-platform
testing
Multi-tenant
Supervised pooling of
storage, p rocessing,
mem ory, virtual
machines
Dynamic Scaling:
Rapid scale in and
scale out
Provide services for
which the user is
paying
Multi-tenancy
• Application upgrades to few tenants
• Validate app design for different
customers/domains
• Isolate data based on privileges and
authentication
• Validate tenants' use of resources as
per requirements
• Validate upgraded instances and
old instances
Disaster Recovery
• Test, measure, and update BCP
periodically
• Run simulations and evaluate
the team's readiness
Microservices Testing
• Validate each service independently
• Validate the different pieces of the
application
• Validate on multiple environments
• Use canary testing (Al is used to
automate)
P vi ionin Testing
• Self provisioning
• Dynamic provisioning
• Provisioning of new services when
new users sign up and vice versa
• Monitor test results to update
BCP over time
• Validate instances restore
automatically during failures
FOCUS AREAS
OF CLOUD TESTING
..
Synchronization Testing
• Verify device to device
synchronization issues
• Recovery situations when sync is
disrupted
• Rollback scenarios in case of failures
FOCUS AREAS
OF CLOUD TESTING
Performance & Security
• Verify how system behaves
under heavy load
• Verify scaling up/down as per
load
• Verify security of the systems
•
•
• Verify data schema as per new
application
• Verify checks like
Portability Testing
• Validate proper installation of
product
• Validate UI of application in
different browsers
• Validate application in different
environments
• Data integrity and data flow
• Data consistency and data
volume
Cloud testing
- Types & tools?
• Component testing
• Microservices testing
• Data migration testing
• Usability testing
• Integration testing
• Licensing testing
• Accessibility testing
• i1 SN & L10N
Testing
on cloud
Non-functional
testing
• Performance testing
o Load/stress testing
o Latency testing
o Capacity testing
o Browser performance
• Security testing
o Application testing
o Network testing
o Compliance testing
Interoperability testing
• Compatibility testing
• Multi-tenancy testing
• Disaster recovery testing
o Failover testing
o Failback testing
Availability/ continuity
testing
Elasticity
• Synchronization
• End-to-end testing
Testing tools
(~
CloudTest®
Rapise®
Nessus
vu1ne1abttlty scanner
• Test connectivity with the cloud
• Upload and download data to cloud library
• Test automation for web, mobile, and desktop
• Automated recording: build a reusable object
repository and automated test script
• Allows adding verification points to test scripts
• Security scanning tool, raises alerts upon
discovering any vulnerabilities
~ TimeShiftX
/
APACHE
JMeter··
• Travel in time, test with ease
• TimeShiftX creates virtual dates and times,
simplifying time shift testing
• Simulate real-user behaviors and
performance/load test applications
Functional testing
1/ 2
Microservices
• Unit testing
• Integration testing
Component testing
Contract testing
End-to-end testing
Integration
• Integration of modules
• Integration of software
and hardware
• Integration between
different components
Data migration
• Data consistency
• File type and size checks
Volume consistency
Driver testing
Component
• Effortless navigation of
the site
• Integration between
services/components
Functional testing
2/2
Accessibility Licensing
• QA will test the product and
its compIiance with the
section 508 requirement
standards
Verify all possible ways of
navigation
• Most pages will also be
readable via assistive
technology
Documentation should be
available in electronic format
Tests pertaining to the
licensing of the base
product and its different
features
Ensure only licensed
functionality is available
Devices should meet
certification requirements
for the network, protocol
compliance, device drivers,
app store submissions, etc.
Usability
• Effortless site navigation
• Easy interface
• Faster pickup
• UI checks
• Font and font size
• Application logo
• Warning/error messages
• UI responsiveness
• Minimize and
restore functionality
i18N &L10N
UI element and label
alignment
• Line wrapping
Word breaks or punctuation
Alphabetical sorting
Layout and text direction
Non-functional testing
Performance
Performance
Load/Stress
lliiiif T .
lliiiid est1ng
Capacity
Testing
Browser
Performance
Measuring the optimal response
time while the system is
subjected to increasing load
Monitoring the time taken to
move data messages between two
points within the cloud network
Benchmarking the maximum
amount of traffic that can be
handled
Validating the compatibility of
different browsers with the
overall system
• Speed: Evaluates the system for good
speed even under different loads
• Scalability: Checks the variation in
response time/scalability as the load on
the system varies
• Reliability: Validates whether the app
is reliable under prolonged periods of
high user traffic
• Stability: Evaluates if the system is
stable under heavy concurrent user
load
Security
Security testing
• Identification
o Password management
o Provisioning
o Registration
• Access management
o Authorization
o Authentication
• Plugins & Extensions
• Web Interfaces (SQL Injections)
• APls
• Unauthorized access to data
• Data leakage
• Multitenancy
• Connectivity to cloud from on-
prem or network
• Open ports
• Interfaces
o Networkservices
o Cloud interface
o Mobile interface
Best practices
• Data confidentiality
• Data integrity
• Accountability
• Continuous scanning
• Enable and encrypt CloudTrail
o Log file
o Track API calls
• Enable MSA (multi factor
authentication)
• 1AM policies
• Strong password policies
• Alert notifications through
Amazon CloudWatch
Ability testing/Cloud-specific testing
1/ 2
Elasticity
• Automatic provisioning
of computing power and
memory
Dynamic scaling with no
loss of data, and end-
user connectivity
Disaster Recovery
• Failback plan
Failover plan
Availability
Business continuity
• Self-healing ability
• Upgrade testing
• Rollback to stable
version
Data Migration
• Rigid failures
Data consistency
Access controls
Multi-tenant security
• Availability
• Business continuity
Synchronization
• Sync across services and
devices
Recovery situations
when a sync is disrupted
Restart of services
Ability testing/Cloud-specific testing
2/2
Compliance
• Licensing of the base
product and its different
features
Only licensed
functionality is available
• Devices should meet
certification
requirements for the
network, protocol
compliance, device
drivers, app store, etc.
Compatibility
• Cross-platform
compatibility is ensured
Compatibility is ensured
across different
generations of
devices, versions, mobile
devices, operating
systems, etc.
Interrupt
• Validation of application
behavior against all
types of interruptions
Network outage
Graceful shutdown
• Abrupt shutdown
Graceful stop of services
Reboot hosts
Kill processes
End-to-end
• Validation of end-to-end
functionality
Validate SaaS/cloud
services functions
Automated suite
compatibility
Links and page layout
are working as expected
01 Scalability: Dynamic scaling up and down of resources as per need
02 Flexibility: Add and remove different components as required
0 3 Independent: Microservices can be written with different technologies
04 Agility: Continuous development and continuous testing is achieved
05 Responsive: Response downtime is minimized
Manisha Mittal
Principal Engineer
manisha.mittal@nagarro.com
https:Uwww.linkedin.com/in/manisha-mittal/

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Site Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
Site Reliability Engineering (SRE) - Tech Talk by Keet SugathadasaSite Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
Site Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
 
Best pratices reliability & scalability on Azure
Best pratices reliability & scalability on AzureBest pratices reliability & scalability on Azure
Best pratices reliability & scalability on Azure
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
SRE vs DevOps
SRE vs DevOpsSRE vs DevOps
SRE vs DevOps
 
Chaos Engineering
Chaos EngineeringChaos Engineering
Chaos Engineering
 
Site reliability engineering
Site reliability engineeringSite reliability engineering
Site reliability engineering
 
A Product Manager's Place in a DevOps World
A Product Manager's Place in a DevOps WorldA Product Manager's Place in a DevOps World
A Product Manager's Place in a DevOps World
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
SRE 101
SRE 101SRE 101
SRE 101
 
What is zero trust model (ztm)
What is zero trust model (ztm)What is zero trust model (ztm)
What is zero trust model (ztm)
 
The AWS Playbook for Cloud Readiness & Large Scale Migrations
The AWS Playbook for Cloud Readiness & Large Scale MigrationsThe AWS Playbook for Cloud Readiness & Large Scale Migrations
The AWS Playbook for Cloud Readiness & Large Scale Migrations
 
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
 
What's an SRE at Criteo - Meetup SRE Paris
What's an SRE at Criteo - Meetup SRE ParisWhat's an SRE at Criteo - Meetup SRE Paris
What's an SRE at Criteo - Meetup SRE Paris
 
Dynatrace
DynatraceDynatrace
Dynatrace
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
 
Cloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for PartnersCloud Migration, Application Modernization and Security for Partners
Cloud Migration, Application Modernization and Security for Partners
 
Overview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practicesOverview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practices
 
Chaos Engineering with Gremlin Platform
Chaos Engineering with Gremlin PlatformChaos Engineering with Gremlin Platform
Chaos Engineering with Gremlin Platform
 
AWS Certified Cloud Practitioner Course S1-S6
AWS Certified Cloud Practitioner Course S1-S6AWS Certified Cloud Practitioner Course S1-S6
AWS Certified Cloud Practitioner Course S1-S6
 

Ähnlich wie Testing the Migration of Monolithic Applications to Microservices on the Cloud

Cloud Computing & Business Intelligence
Cloud Computing & Business IntelligenceCloud Computing & Business Intelligence
Cloud Computing & Business Intelligence
Sudip Chatterjee
 
Radu crahmaliuc 23feb2012
Radu crahmaliuc 23feb2012Radu crahmaliuc 23feb2012
Radu crahmaliuc 23feb2012
Agora Group
 
MICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptx
MohammedShahid562503
 

Ähnlich wie Testing the Migration of Monolithic Applications to Microservices on the Cloud (20)

Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development
 
Cloud Computing & Business Intelligence
Cloud Computing & Business IntelligenceCloud Computing & Business Intelligence
Cloud Computing & Business Intelligence
 
Securing elastic applications_on_mobile_devices
Securing elastic applications_on_mobile_devicesSecuring elastic applications_on_mobile_devices
Securing elastic applications_on_mobile_devices
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Microservices testing strategy-v2
Microservices testing strategy-v2Microservices testing strategy-v2
Microservices testing strategy-v2
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
 
Fallsem2021 22 ita2012-eth_vl2021220101938_reference_material_i_06-aug-2021_m...
Fallsem2021 22 ita2012-eth_vl2021220101938_reference_material_i_06-aug-2021_m...Fallsem2021 22 ita2012-eth_vl2021220101938_reference_material_i_06-aug-2021_m...
Fallsem2021 22 ita2012-eth_vl2021220101938_reference_material_i_06-aug-2021_m...
 
Performance Testing webinar
Performance Testing   webinarPerformance Testing   webinar
Performance Testing webinar
 
Do I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptxDo I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptx
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to MicroserviceDeveloping Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
 
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?
 
Radu crahmaliuc 23feb2012
Radu crahmaliuc 23feb2012Radu crahmaliuc 23feb2012
Radu crahmaliuc 23feb2012
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Understanding Microservices
Understanding Microservices Understanding Microservices
Understanding Microservices
 
Azure servicefabric
Azure servicefabricAzure servicefabric
Azure servicefabric
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 
Multi-Containers Orchestration with Live Migration and High-Availability for ...
Multi-Containers Orchestration with Live Migration and High-Availability for ...Multi-Containers Orchestration with Live Migration and High-Availability for ...
Multi-Containers Orchestration with Live Migration and High-Availability for ...
 
MICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptx
 

Mehr von Nagarro

Mehr von Nagarro (20)

Intelligent automation beyond test execution
Intelligent automation beyond test executionIntelligent automation beyond test execution
Intelligent automation beyond test execution
 
Flutter: An open-source UI software development kit
Flutter: An open-source UI software development kitFlutter: An open-source UI software development kit
Flutter: An open-source UI software development kit
 
Remote Collaboration: Working Canvas
Remote Collaboration: Working Canvas Remote Collaboration: Working Canvas
Remote Collaboration: Working Canvas
 
Remote Collaboration: Working and Leading from Home
Remote Collaboration: Working and Leading from HomeRemote Collaboration: Working and Leading from Home
Remote Collaboration: Working and Leading from Home
 
Chatbot testing
Chatbot testing Chatbot testing
Chatbot testing
 
10 Gründe, warum Ihre Testautomatisierung zum Scheitern verurteilt ist
10 Gründe, warum Ihre Testautomatisierung zum Scheitern verurteilt ist 10 Gründe, warum Ihre Testautomatisierung zum Scheitern verurteilt ist
10 Gründe, warum Ihre Testautomatisierung zum Scheitern verurteilt ist
 
Integrating AI in software quality in absence of a well-defined requirements
Integrating AI in software quality in absence of a well-defined requirementsIntegrating AI in software quality in absence of a well-defined requirements
Integrating AI in software quality in absence of a well-defined requirements
 
Intelligent Digital Mesh Testing
Intelligent Digital Mesh TestingIntelligent Digital Mesh Testing
Intelligent Digital Mesh Testing
 
Software Quality without Testing
Software Quality without TestingSoftware Quality without Testing
Software Quality without Testing
 
Advanced Test Automation: Agile Model
Advanced Test Automation: Agile ModelAdvanced Test Automation: Agile Model
Advanced Test Automation: Agile Model
 
Testing @ digital speed
 Testing @ digital speed Testing @ digital speed
Testing @ digital speed
 
How to get started? Digital Transformation: A Down-to-Earth Approach
How to get started? Digital Transformation: A Down-to-Earth ApproachHow to get started? Digital Transformation: A Down-to-Earth Approach
How to get started? Digital Transformation: A Down-to-Earth Approach
 
Connecting the dots – Industrial IoT is more than just sensor deployment
Connecting the dots – Industrial IoT is more than just sensor deploymentConnecting the dots – Industrial IoT is more than just sensor deployment
Connecting the dots – Industrial IoT is more than just sensor deployment
 
A walk through the AI Use Cases in the Connected Enterprise
A walk through the AI Use Cases in the Connected EnterpriseA walk through the AI Use Cases in the Connected Enterprise
A walk through the AI Use Cases in the Connected Enterprise
 
Cloud-enabled analytics
Cloud-enabled analyticsCloud-enabled analytics
Cloud-enabled analytics
 
Why Cloud Computing is mandatory for Connected Enterprise
Why Cloud Computing is mandatory for Connected EnterpriseWhy Cloud Computing is mandatory for Connected Enterprise
Why Cloud Computing is mandatory for Connected Enterprise
 
Are Your Mobile Apps Secure? (Part I)
Are Your Mobile Apps Secure? (Part I)Are Your Mobile Apps Secure? (Part I)
Are Your Mobile Apps Secure? (Part I)
 
Mobile Apps and Security Attacks: An Introduction
Mobile Apps and Security Attacks: An IntroductionMobile Apps and Security Attacks: An Introduction
Mobile Apps and Security Attacks: An Introduction
 
Storytelling in Software Development
Storytelling in Software Development Storytelling in Software Development
Storytelling in Software Development
 
End-to-End SharePoint Expertise
End-to-End SharePoint ExpertiseEnd-to-End SharePoint Expertise
End-to-End SharePoint Expertise
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 

Testing the Migration of Monolithic Applications to Microservices on the Cloud

  • 1. ~ nagarro Testing the Migration of Monolithic Applications to Microservices on the Cloud The why and how!
  • 2. Agenda Here's w hat we learn 1 Monolithic vs. Microservices - What is yours? 2 Monolithic applications - Do you face these challenges? 3 Microservices - Why is it a better option 4 On cloud, finally? - See how you can deploy applications on the cloud S Still not sure? - Business usage advantages with microservices 6 Key differentiators in migrating to cloud 7 Cloud testing - What are the focus areas? 8 Cloud testing - Types &tools
  • 3.
  • 4. Monolithic applications • Comprises single1 highly coupled monolithic instances running on on- premise servers to manage operations • Any single-component change will require building and testing the entire application
  • 5. Microservices • Comprises multiple, loosely coupled microservice instances running on cloud and API gateway, configured to handle operations • Easy to identify the impact of any change and test impacted areas
  • 6. Monolithic applications - Do you face these challenges too?
  • 7. Entire application goes down • Even a small update requires redeploying the entire application • Extensive testing is required post redeployment, as the impact is not clear Barriers in new techno oav adootin • Huge barriers in adopting new frameworks and technologies Longer time to deploy • Tight coupling between components makes it difficult to deploy regularly • Start-up time is high, as it loads all modules • Continuous deployment is a problem with complex monolithic applications Inability to scale Technical debt • Debt gets accumulated over time, making future development difficult • Inability to scale individual components to meet increased demand • Not scalable when multiple modules have conflicting resource requirements
  • 8.
  • 9. Highly available Each service is scaled up independently and each service instance is a Docker container Continuous deployment Continuous deployment services are easier to deploy, and changes are tested as soon as possible Easier to develop Individual services are much easier to develop, understand, and maintain Small applications Each microservice is a small application with business logic implemented L . I - Each service has its own database schema rather than sharing a single database to ensure loose coupling Services consumed APls are exposed by microservices, which are consumed by other services Own DB schema The application is split into a set of simpler web applications, facilitating easier deployment across devices
  • 10.
  • 11. Deployment architecture • Packaging: Instead of packaging all the related WARs in one file, split them into independent WARs • Containers: Deploy each WAR in its container (e.g., Docker container) • DevOps: Manage each WAR independently through an automated pipeline (continuous delivery: build, deploy, and manage independently) Service model selected: Saas (Software as a Service) • Pay-per-use • Quick to deploy • Zero infrastructure • Seamless upgrades • Backups & DR • No learning curve • Access data from anywhere • Delivered as a service and managed by the vendor ..--------- SaaS ------------. - - - - - - PaaS -----~ laaS HoSl<d ,pp1,ca1J0ns/app, ~lopmtnt toolt Opor>tong Systtms SOIVtfS W SIOlilgt Nttwo1k1"9 data:~ ffli"il(Jf;'mPnl firewafls/security business aNlytics Oit.i ctnt11 physmil pl•ntlboikliog
  • 12. Still not sure? Business usage advantages with microservices
  • 13. Any changes made can be deployed and validated quickly • Highly suitable architecture ideal for changing requirements and business New functionalities can be added easily along with the existing ones • To avoid downtime, breaks the application into smaller pieces • If one service fails, other applications are still available Failed part of an application can be rectified with minimal downtime • Accommodate workloads by scaling up or down the nodes in cloud • Efficient, since resources are not wasted on unrequired services • Asynchrony, DB optimization, loose coupling, and partitioning should be considered
  • 14. System reliability ensures application uptime for a sustained period without any failure Improved time-to-market • Microservices help achieve improved time-to-market without compromising on quality standards, ensuring quicker customer delivery • A fault in one microservice will not have an impact on any other microservice • Only a small part of the application is impacted instead of the entire application going down
  • 15.
  • 16. Pay-per-use and self- service provisioning No human interaction Multi-platform testing Multi-tenant Supervised pooling of storage, p rocessing, mem ory, virtual machines Dynamic Scaling: Rapid scale in and scale out Provide services for which the user is paying
  • 17.
  • 18. Multi-tenancy • Application upgrades to few tenants • Validate app design for different customers/domains • Isolate data based on privileges and authentication • Validate tenants' use of resources as per requirements • Validate upgraded instances and old instances Disaster Recovery • Test, measure, and update BCP periodically • Run simulations and evaluate the team's readiness Microservices Testing • Validate each service independently • Validate the different pieces of the application • Validate on multiple environments • Use canary testing (Al is used to automate) P vi ionin Testing • Self provisioning • Dynamic provisioning • Provisioning of new services when new users sign up and vice versa • Monitor test results to update BCP over time • Validate instances restore automatically during failures FOCUS AREAS OF CLOUD TESTING ..
  • 19. Synchronization Testing • Verify device to device synchronization issues • Recovery situations when sync is disrupted • Rollback scenarios in case of failures FOCUS AREAS OF CLOUD TESTING Performance & Security • Verify how system behaves under heavy load • Verify scaling up/down as per load • Verify security of the systems • • • Verify data schema as per new application • Verify checks like Portability Testing • Validate proper installation of product • Validate UI of application in different browsers • Validate application in different environments • Data integrity and data flow • Data consistency and data volume
  • 21. • Component testing • Microservices testing • Data migration testing • Usability testing • Integration testing • Licensing testing • Accessibility testing • i1 SN & L10N Testing on cloud Non-functional testing • Performance testing o Load/stress testing o Latency testing o Capacity testing o Browser performance • Security testing o Application testing o Network testing o Compliance testing Interoperability testing • Compatibility testing • Multi-tenancy testing • Disaster recovery testing o Failover testing o Failback testing Availability/ continuity testing Elasticity • Synchronization • End-to-end testing
  • 22. Testing tools (~ CloudTest® Rapise® Nessus vu1ne1abttlty scanner • Test connectivity with the cloud • Upload and download data to cloud library • Test automation for web, mobile, and desktop • Automated recording: build a reusable object repository and automated test script • Allows adding verification points to test scripts • Security scanning tool, raises alerts upon discovering any vulnerabilities ~ TimeShiftX / APACHE JMeter·· • Travel in time, test with ease • TimeShiftX creates virtual dates and times, simplifying time shift testing • Simulate real-user behaviors and performance/load test applications
  • 23.
  • 24. Functional testing 1/ 2 Microservices • Unit testing • Integration testing Component testing Contract testing End-to-end testing Integration • Integration of modules • Integration of software and hardware • Integration between different components Data migration • Data consistency • File type and size checks Volume consistency Driver testing Component • Effortless navigation of the site • Integration between services/components
  • 25. Functional testing 2/2 Accessibility Licensing • QA will test the product and its compIiance with the section 508 requirement standards Verify all possible ways of navigation • Most pages will also be readable via assistive technology Documentation should be available in electronic format Tests pertaining to the licensing of the base product and its different features Ensure only licensed functionality is available Devices should meet certification requirements for the network, protocol compliance, device drivers, app store submissions, etc. Usability • Effortless site navigation • Easy interface • Faster pickup • UI checks • Font and font size • Application logo • Warning/error messages • UI responsiveness • Minimize and restore functionality i18N &L10N UI element and label alignment • Line wrapping Word breaks or punctuation Alphabetical sorting Layout and text direction
  • 27. Performance Performance Load/Stress lliiiif T . lliiiid est1ng Capacity Testing Browser Performance Measuring the optimal response time while the system is subjected to increasing load Monitoring the time taken to move data messages between two points within the cloud network Benchmarking the maximum amount of traffic that can be handled Validating the compatibility of different browsers with the overall system • Speed: Evaluates the system for good speed even under different loads • Scalability: Checks the variation in response time/scalability as the load on the system varies • Reliability: Validates whether the app is reliable under prolonged periods of high user traffic • Stability: Evaluates if the system is stable under heavy concurrent user load
  • 28. Security Security testing • Identification o Password management o Provisioning o Registration • Access management o Authorization o Authentication • Plugins & Extensions • Web Interfaces (SQL Injections) • APls • Unauthorized access to data • Data leakage • Multitenancy • Connectivity to cloud from on- prem or network • Open ports • Interfaces o Networkservices o Cloud interface o Mobile interface Best practices • Data confidentiality • Data integrity • Accountability • Continuous scanning • Enable and encrypt CloudTrail o Log file o Track API calls • Enable MSA (multi factor authentication) • 1AM policies • Strong password policies • Alert notifications through Amazon CloudWatch
  • 29.
  • 30. Ability testing/Cloud-specific testing 1/ 2 Elasticity • Automatic provisioning of computing power and memory Dynamic scaling with no loss of data, and end- user connectivity Disaster Recovery • Failback plan Failover plan Availability Business continuity • Self-healing ability • Upgrade testing • Rollback to stable version Data Migration • Rigid failures Data consistency Access controls Multi-tenant security • Availability • Business continuity Synchronization • Sync across services and devices Recovery situations when a sync is disrupted Restart of services
  • 31. Ability testing/Cloud-specific testing 2/2 Compliance • Licensing of the base product and its different features Only licensed functionality is available • Devices should meet certification requirements for the network, protocol compliance, device drivers, app store, etc. Compatibility • Cross-platform compatibility is ensured Compatibility is ensured across different generations of devices, versions, mobile devices, operating systems, etc. Interrupt • Validation of application behavior against all types of interruptions Network outage Graceful shutdown • Abrupt shutdown Graceful stop of services Reboot hosts Kill processes End-to-end • Validation of end-to-end functionality Validate SaaS/cloud services functions Automated suite compatibility Links and page layout are working as expected
  • 32.
  • 33. 01 Scalability: Dynamic scaling up and down of resources as per need 02 Flexibility: Add and remove different components as required 0 3 Independent: Microservices can be written with different technologies 04 Agility: Continuous development and continuous testing is achieved 05 Responsive: Response downtime is minimized
  • 34.