SlideShare a Scribd company logo
1 of 38
EFFECTIVE TESTING IN
MICROSERVICE SYSTEMS
CHRISTIAN HORSDAL
@CHR_HORSDAL
@HORSDAL@MASTODON.NU
C.HORSDAL@GMAIL.COM
ABOUT ME
Christian Horsdal Gammelgaard
Independent Consultant
www.horsdal-consult.dk
c.horsdal@gmail.com
@chr_horsdal
@horsdal@mastodon.nu
WHAT TO TEST?
Confidence to deploy to production
Maintenance effort
100+ services
Bringing it all up locally is not an option
THE 6 CHARACTERISTICS
OF MICROSERVICES
A microservice
1. Is responsible for a single capability.
2. Is individually deployable.
3. Consists of one or more processes.
4. Owns its own data store.
5. A small team can maintain a handful of
microservices.
6. Is replaceable.
EXAMPLE: LOYALTY PROGRAM
WHAT IS THE SCOPE OF A MICROSERVICE?
The primary driver for
scoping microservices is
business capabilities
A microservice is responsible
for a single business
capability
LOYALTY PROGRAM
CAPABILITIES
• Issue cards
• Cancel cards
• Award points
• Raffle
• Track eligibility for special offers
• Special events
Loyalty cards
microservice
Loyalty points
microservice
Raffle
microservice
Eligibility
microservice
Special Events
microservice
Loyalty Program Bounded
Context
Generic 3rd party
Core
Supporti
ng
LEVELS OF TESTS
THE TEST PYRAMID
Adapted from
Mike Cohn, Martin Fowler
More effort
Less effort
THE TEST PYRAMID
• System level test:
• Test the complete system
• Black box
• Most important use cases
THE TEST PYRAMID
• Service level test:
• Test one complete
microservice
• Other microservices are
stubbed
• Grey box
• All important scenarios
• Positive and negative
• Test the business capability
• Contract tests
THE TEST PYRAMID
• Unit test:
• Test a unit of behavior
• White box
• Detailed
• Try to avoid mocks
SERVICE LEVEL TESTS – BEHAVIOR
SERVICE LEVEL TESTS
SERVICE LEVEL TESTS
Loyalty Program microservice
Mocked Special Offers
microservice
Send canned event
SERVICE LEVEL TESTS
Loyalty Program microservice
Mocked Notifications
microservice
Send command
Send canned response
SERVICE LEVEL TESTS
Service level test
scenario
Mocked
notifications
microservice
Loyalty Program
microservice
Send canned event
through real queue
Real HTTP request
Integration test process
SERVICE LEVEL TESTS
Mocking other services:
The test process is a .NET app
MVC can run in any .NET app
RabbitMQ subscriptions can run in any .NET app
⇒ Just create endpoints with MVC
⇒ And just use the bus
MOCKING OTHER SERVICES
public class NotificationsMock : Controller
{
public static bool ReceivedNotification = false;
[HttpPost("/notify")]
public OkResult Notify()
{
ReceivedNotification = true;
return Ok();
}
}
HOSTING MOCKED SERVICES IN TEST PROCESS
public MocksHost(int port)
{
this.hostForMocks =
Host
.CreateDefaultBuilder()
.ConfigureWebHostDefaults(x => x
.Configure(app =>
app
.UseRouting()
.UseEndpoints(opt => opt.MapControllers()))
.UseUrls($"http://localhost:{port}"))
.Build();
new Thread(() => this.hostForMocks.Run()).Start();
}
public class RegisterUserAndGetNotification : IDisposable
{
...
public RegisterUserAndGetNotification()
{
this.serviceMock = new MocksHost(mocksPort);
this.loyaltyProgramHost = new HostBuilder()
.ConfigureWebHost(x => x
.UseStartup<Startup>()
.UseTestServer())
.Start();
this.sut = this.loyaltyProgramHost.GetTestClient();
}
[Fact]
public async Task Scenario()
{
await RegisterNewUser();
await PublishSpecialOffer();
AssertNotificationWasSent();
}
MICROSOFT.ASPNETCORE.TESTHOST
private async Task RegisterNewUser()
{
var actual = await this.sut.PostAsync(
"/users",
new StringContent(
JsonConvert.SerializeObject(new LoyaltyProgramUser()),
Encoding.UTF8,
"application/json"));
Assert.Equal(HttpStatusCode.Created, actual.StatusCode);
}
private async Task PublishSpecialOffer() {... }
private void AssertNotificationWasSent()
{
Assert.True(NotificationsMock.ReceivedNotification);
}
SERVICE LEVEL TESTS – CONTRACTS
https://martinfowler.com/bliki/ContractTe
SERVICE LEVEL TESTS
Loyalty Program microservice
Mocked Notifications
microservice
Send command
Send canned response
SERVICE LEVEL TESTS
Service level test
scenario
Mocked
notifications
microservice
Loyalty Program
microservice
Send canned event
through real queue
Real HTTP request
Integration test process
TEST THE CONTRACT
Contract test based on
Mocked Notifications
microservice
Send command
Send real response
Notications
microservice
Assert
real response= canned response
MAKE THE IMPLICIT EXPLICIT
Service level test
scenario
Mocked
notifications
microservice
Loyalty Program
microservice
Send canned event
through real queue
Real HTTP request
Integration test process
HELPFUL TOOLS
Pact
https://docs.pact.i
o/
mountebank
http://www.mbtest.
org/
UNIT TESTS – BUSINESS AS USUAL
PRIORITIZING WHAT TO TEST
OUTSIDE-
IN TDD
• Write high level test first
• Drive till it hurts
• Shift down
• Repeat
Write test
Write
production
code
Refactor
CORE DOMAIN CHART
https://github.com/ddd-crew/core-domain-charts
Loyalty program
Personal shopper AI
Notifications
Authentication
Generic 3rd party
Core
Supporti
ng
TL;DR: FOCUS ON SERVICE LEVEL TESTS
• Service level test:
• Test one complete
microservice
• Other microservices are
stubbed
• Grey box
• All important scenarios
• Positive and negative
• Test the business capability
• Contract tests
ABOUT ME
Christian Horsdal Gammelgaard
Independent Consultant
www.horsdal-consult.dk
c.horsdal@gmail.com
@chr_horsdal

More Related Content

Similar to Testing microservices.ANUG.20230111.pptx

Easy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsEasy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsJack-Junjie Cai
 
The intersection of Traditional IT and New-Generation IT
The intersection of Traditional IT and New-Generation ITThe intersection of Traditional IT and New-Generation IT
The intersection of Traditional IT and New-Generation ITKangaroot
 
Microservices in GO - Massimiliano Dessì - Codemotion Rome 2017
Microservices in GO - Massimiliano Dessì - Codemotion Rome 2017Microservices in GO - Massimiliano Dessì - Codemotion Rome 2017
Microservices in GO - Massimiliano Dessì - Codemotion Rome 2017Codemotion
 
Service Ownership with PagerDuty and Rundeck: Help others help you
Service Ownership with PagerDuty and Rundeck:  Help others help you Service Ownership with PagerDuty and Rundeck:  Help others help you
Service Ownership with PagerDuty and Rundeck: Help others help you TraciMyers5
 
VMworld 2013: Automating the Software Defined Data Center: How Do I Get Started
VMworld 2013: Automating the Software Defined Data Center: How Do I Get Started VMworld 2013: Automating the Software Defined Data Center: How Do I Get Started
VMworld 2013: Automating the Software Defined Data Center: How Do I Get Started VMworld
 
Scalable, Pluggable, and Fault Tolerant Multi-Modal Situational Awareness Dat...
Scalable, Pluggable, and Fault Tolerant Multi-Modal Situational Awareness Dat...Scalable, Pluggable, and Fault Tolerant Multi-Modal Situational Awareness Dat...
Scalable, Pluggable, and Fault Tolerant Multi-Modal Situational Awareness Dat...Artificial Intelligence Institute at UofSC
 
Client presentation disaster recovery as a service
Client presentation   disaster recovery as a serviceClient presentation   disaster recovery as a service
Client presentation disaster recovery as a serviceAjay V Singh
 
Divide and Conquer – Microservices with Node.js
Divide and Conquer – Microservices with Node.jsDivide and Conquer – Microservices with Node.js
Divide and Conquer – Microservices with Node.jsSebastian Springer
 
Unleash your private cloud! Hybrid hosting done your way.
Unleash your private cloud! Hybrid hosting done your way. Unleash your private cloud! Hybrid hosting done your way.
Unleash your private cloud! Hybrid hosting done your way. Macquarie Telecom
 
Scoping microservices.20190917
Scoping microservices.20190917Scoping microservices.20190917
Scoping microservices.20190917Christian Horsdal
 
High Performance Cloud Native APIs Using Apache Geode
High Performance Cloud Native APIs Using Apache Geode High Performance Cloud Native APIs Using Apache Geode
High Performance Cloud Native APIs Using Apache Geode VMware Tanzu
 
Kubernetes & Co, beyond the hype
Kubernetes & Co, beyond the hypeKubernetes & Co, beyond the hype
Kubernetes & Co, beyond the hypeAlexandre Touret
 
Towards the Cloud: Architecture Patterns and VDI Story
Towards the Cloud: Architecture Patterns and VDI StoryTowards the Cloud: Architecture Patterns and VDI Story
Towards the Cloud: Architecture Patterns and VDI StoryIT Expert Club
 
Cisco Connect 2018 Thailand - Journey to the multi cloud strategic and operat...
Cisco Connect 2018 Thailand - Journey to the multi cloud strategic and operat...Cisco Connect 2018 Thailand - Journey to the multi cloud strategic and operat...
Cisco Connect 2018 Thailand - Journey to the multi cloud strategic and operat...NetworkCollaborators
 
Microservices development{Bangalore meetup}
Microservices development{Bangalore meetup}Microservices development{Bangalore meetup}
Microservices development{Bangalore meetup}Amardeep Singh
 
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...Chris Richardson
 
2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCF2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCFDaniel Fisher
 
10 ways to make your code rock
10 ways to make your code rock10 ways to make your code rock
10 ways to make your code rockmartincronje
 
Beyond simple benchmarks—a practical guide to optimizing code
Beyond simple benchmarks—a practical guide to optimizing code Beyond simple benchmarks—a practical guide to optimizing code
Beyond simple benchmarks—a practical guide to optimizing code Particular Software
 
Maintaining and troubleshooting your xen desktop 7.5 environment
Maintaining and troubleshooting your xen desktop 7.5 environmentMaintaining and troubleshooting your xen desktop 7.5 environment
Maintaining and troubleshooting your xen desktop 7.5 environmentsolarisyougood
 

Similar to Testing microservices.ANUG.20230111.pptx (20)

Easy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsEasy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applications
 
The intersection of Traditional IT and New-Generation IT
The intersection of Traditional IT and New-Generation ITThe intersection of Traditional IT and New-Generation IT
The intersection of Traditional IT and New-Generation IT
 
Microservices in GO - Massimiliano Dessì - Codemotion Rome 2017
Microservices in GO - Massimiliano Dessì - Codemotion Rome 2017Microservices in GO - Massimiliano Dessì - Codemotion Rome 2017
Microservices in GO - Massimiliano Dessì - Codemotion Rome 2017
 
Service Ownership with PagerDuty and Rundeck: Help others help you
Service Ownership with PagerDuty and Rundeck:  Help others help you Service Ownership with PagerDuty and Rundeck:  Help others help you
Service Ownership with PagerDuty and Rundeck: Help others help you
 
VMworld 2013: Automating the Software Defined Data Center: How Do I Get Started
VMworld 2013: Automating the Software Defined Data Center: How Do I Get Started VMworld 2013: Automating the Software Defined Data Center: How Do I Get Started
VMworld 2013: Automating the Software Defined Data Center: How Do I Get Started
 
Scalable, Pluggable, and Fault Tolerant Multi-Modal Situational Awareness Dat...
Scalable, Pluggable, and Fault Tolerant Multi-Modal Situational Awareness Dat...Scalable, Pluggable, and Fault Tolerant Multi-Modal Situational Awareness Dat...
Scalable, Pluggable, and Fault Tolerant Multi-Modal Situational Awareness Dat...
 
Client presentation disaster recovery as a service
Client presentation   disaster recovery as a serviceClient presentation   disaster recovery as a service
Client presentation disaster recovery as a service
 
Divide and Conquer – Microservices with Node.js
Divide and Conquer – Microservices with Node.jsDivide and Conquer – Microservices with Node.js
Divide and Conquer – Microservices with Node.js
 
Unleash your private cloud! Hybrid hosting done your way.
Unleash your private cloud! Hybrid hosting done your way. Unleash your private cloud! Hybrid hosting done your way.
Unleash your private cloud! Hybrid hosting done your way.
 
Scoping microservices.20190917
Scoping microservices.20190917Scoping microservices.20190917
Scoping microservices.20190917
 
High Performance Cloud Native APIs Using Apache Geode
High Performance Cloud Native APIs Using Apache Geode High Performance Cloud Native APIs Using Apache Geode
High Performance Cloud Native APIs Using Apache Geode
 
Kubernetes & Co, beyond the hype
Kubernetes & Co, beyond the hypeKubernetes & Co, beyond the hype
Kubernetes & Co, beyond the hype
 
Towards the Cloud: Architecture Patterns and VDI Story
Towards the Cloud: Architecture Patterns and VDI StoryTowards the Cloud: Architecture Patterns and VDI Story
Towards the Cloud: Architecture Patterns and VDI Story
 
Cisco Connect 2018 Thailand - Journey to the multi cloud strategic and operat...
Cisco Connect 2018 Thailand - Journey to the multi cloud strategic and operat...Cisco Connect 2018 Thailand - Journey to the multi cloud strategic and operat...
Cisco Connect 2018 Thailand - Journey to the multi cloud strategic and operat...
 
Microservices development{Bangalore meetup}
Microservices development{Bangalore meetup}Microservices development{Bangalore meetup}
Microservices development{Bangalore meetup}
 
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...
 
2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCF2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCF
 
10 ways to make your code rock
10 ways to make your code rock10 ways to make your code rock
10 ways to make your code rock
 
Beyond simple benchmarks—a practical guide to optimizing code
Beyond simple benchmarks—a practical guide to optimizing code Beyond simple benchmarks—a practical guide to optimizing code
Beyond simple benchmarks—a practical guide to optimizing code
 
Maintaining and troubleshooting your xen desktop 7.5 environment
Maintaining and troubleshooting your xen desktop 7.5 environmentMaintaining and troubleshooting your xen desktop 7.5 environment
Maintaining and troubleshooting your xen desktop 7.5 environment
 

More from Christian Horsdal

Event sourcing anug 20190227
Event sourcing anug 20190227Event sourcing anug 20190227
Event sourcing anug 20190227Christian Horsdal
 
Consolidating services with middleware - NDC London 2017
Consolidating services with middleware - NDC London 2017Consolidating services with middleware - NDC London 2017
Consolidating services with middleware - NDC London 2017Christian Horsdal
 
Middleware webnextconf - 20152609
Middleware   webnextconf - 20152609Middleware   webnextconf - 20152609
Middleware webnextconf - 20152609Christian Horsdal
 
Lightweight Approach to Building Web APIs with .NET
Lightweight Approach to Building Web APIs with .NETLightweight Approach to Building Web APIs with .NET
Lightweight Approach to Building Web APIs with .NETChristian Horsdal
 
Three Other Web Frameworks. All .NET. All OSS. One Hour. Go
Three Other Web Frameworks. All .NET. All OSS. One Hour. GoThree Other Web Frameworks. All .NET. All OSS. One Hour. Go
Three Other Web Frameworks. All .NET. All OSS. One Hour. GoChristian Horsdal
 
Four .NET Web Frameworks in Less Than an Hour
Four .NET Web Frameworks in Less Than an HourFour .NET Web Frameworks in Less Than an Hour
Four .NET Web Frameworks in Less Than an HourChristian Horsdal
 
Nancy - A Lightweight .NET Web Framework
Nancy - A Lightweight .NET Web FrameworkNancy - A Lightweight .NET Web Framework
Nancy - A Lightweight .NET Web FrameworkChristian Horsdal
 
DCI ANUG - 24th November 2010
DCI ANUG - 24th November 2010DCI ANUG - 24th November 2010
DCI ANUG - 24th November 2010Christian Horsdal
 
DCI - ANUG 24th November 2010
DCI - ANUG 24th November 2010DCI - ANUG 24th November 2010
DCI - ANUG 24th November 2010Christian Horsdal
 

More from Christian Horsdal (13)

Event sourcing anug 20190227
Event sourcing anug 20190227Event sourcing anug 20190227
Event sourcing anug 20190227
 
Consolidating services with middleware - NDC London 2017
Consolidating services with middleware - NDC London 2017Consolidating services with middleware - NDC London 2017
Consolidating services with middleware - NDC London 2017
 
Intro to.net core 20170111
Intro to.net core   20170111Intro to.net core   20170111
Intro to.net core 20170111
 
Middleware webnextconf - 20152609
Middleware   webnextconf - 20152609Middleware   webnextconf - 20152609
Middleware webnextconf - 20152609
 
Campus days 2014 owin
Campus days 2014 owinCampus days 2014 owin
Campus days 2014 owin
 
ASP.NET vNext ANUG 20140817
ASP.NET vNext ANUG 20140817ASP.NET vNext ANUG 20140817
ASP.NET vNext ANUG 20140817
 
Lightweight Approach to Building Web APIs with .NET
Lightweight Approach to Building Web APIs with .NETLightweight Approach to Building Web APIs with .NET
Lightweight Approach to Building Web APIs with .NET
 
Three Other Web Frameworks. All .NET. All OSS. One Hour. Go
Three Other Web Frameworks. All .NET. All OSS. One Hour. GoThree Other Web Frameworks. All .NET. All OSS. One Hour. Go
Three Other Web Frameworks. All .NET. All OSS. One Hour. Go
 
Four .NET Web Frameworks in Less Than an Hour
Four .NET Web Frameworks in Less Than an HourFour .NET Web Frameworks in Less Than an Hour
Four .NET Web Frameworks in Less Than an Hour
 
Nancy + rest mow2012
Nancy + rest   mow2012Nancy + rest   mow2012
Nancy + rest mow2012
 
Nancy - A Lightweight .NET Web Framework
Nancy - A Lightweight .NET Web FrameworkNancy - A Lightweight .NET Web Framework
Nancy - A Lightweight .NET Web Framework
 
DCI ANUG - 24th November 2010
DCI ANUG - 24th November 2010DCI ANUG - 24th November 2010
DCI ANUG - 24th November 2010
 
DCI - ANUG 24th November 2010
DCI - ANUG 24th November 2010DCI - ANUG 24th November 2010
DCI - ANUG 24th November 2010
 

Recently uploaded

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 

Testing microservices.ANUG.20230111.pptx