SlideShare une entreprise Scribd logo
1  sur  87
Télécharger pour lire hors ligne
MICROSERVICES
Mateusz Bukowicz
In short, the microservice architectural style is an approach to developing
a single application as a suite of small services, each running in its
own process and communicating with lightweight mechanisms, often an
HTTP resource API.These services are built around business
capabilities and independently deployable by fully automated
deployment machinery.There is a bare minimum of centralized
management of these services, which may be written in different
programming languages and use different data storage technologies.
-- James Lewis and Martin Fowler
…suite of small services…
The service can be rewritten and redeployed in 2 weeks
-- Jon Eaves, realestate.com.au
…suite of small services…
https://queue.acm.org/detail.cfm?id=1142065
If you hit the Amazon.com gateway page, the application calls
more than 100 services to collect data and construct the page
for you.
-- WernerVogels, 2006, interview Web Services
MICRO-SERVICES GROWTH
INTIME
RealEstate.com.au
Noofmicro-services
0
10
20
30
40
50
60
70
3 months 6 months 18 months
gilt.com
Noofmicro-services
0
50
100
150
200
250
300
2007
RoR monolith
2009
JVM
2011
Scala
2014
NodeJS
MICRO-SERVICES GROWTH
INTIME
…suite of small services…
“two pizza teams”
-- Jeff Bezos,Amazon
…running in its own process…
http://martinfowler.com/articles/microservices.html
…built around business capabilities…
Any organization that designs a system (defined broadly) will
produce a design whose structure is a copy of the
organization's communication structure.
-- Melvyn Conway
=
software structure reflects organisation structure
…built around business capabilities…
UI
Business Logic
Database
frontend devs
backend devs
DBAs
CROSS-FUNCTIONALTEAMS
CROSS-FUNCTIONALTEAMS
I am a designer
I am a programmer
I am a DBA
I develop product X
service
ownership
Each service has a team associated with it, and that team is
completely responsible for the service — from scoping
out the functionality, to architecting it, to building it, and
operating it. (…) Giving developers operational responsibilities
has greatly enhanced the quality of the services.
-- WernerVogels,Amazon
service
ownership
Build DeployTest
…independently deployable…
You don’t go and have a deep discussion with the
Google Maps team just to use their Maps API: it's a
reasonably stable API, you are isolated, it's sort of versioned,
occasionally it changes and you may want to do things.
-- Adrian Cockroft, (2010-2013 Netflix)
http://www.infoq.com/interviews/adrian-cockcroft-microservices-devops
…independently deployable…
…bare minimum of centralised management…
=
decentralise all things
MICRO SERVICES WITH
SPRING BOOT
$ spring init --dependencies=web micro-service-1
$ spring init --list
$ spring init --build=gradle --java-version=1.8 
--dependencies=websocket --packaging=war 
customized-project
$ spring run . -- --server.port=9000
$ spring test .
$ java -jar target/micro-service-1.jar
MICRO SERVICES WITH
SPRING BOOT
@RestController
public class MicroController2 {
@RequestMapping("/service2")
public String service2() {
return "Hello from service 2";
}
}
@RestController
public class MicroController1 {
@RequestMapping("/service1")
public String service1() {
RestTemplate rest = new RestTemplate();
String response = rest.getForObject(
"http://localhost:9002/service2", String.class);
return "Response from service2: " + response;
}
}
ADVANTAGES
• cheap to scale
• fast to replace
• fault tolerant (resilient)
• promote modularity
• parallelize development
DISADVANTAGES
• network is not deterministic
• lack of testing end-to-end
• complicated deploy and versioning
• a lot of new tools
• eventual consistency in favour of transactions
• more work and bigger dev costs
MICROSERVICESVS SOA
Microservices = pragmatic SOA
-- Adam Bien
MICROSERVICESVS SOA
Fine-grained SOA
-- Adrian Cockroft, Netflix
MICROSERVICESVS SOA
With SOA, the intent is a layered architecture of co-operating services where SOA
focuses on describing the organisation and co-ordination of the services.With
micro services, the intent is to describe the nature of the services themselves and
not quite so much the organisation and co-ordination of them.
-- Jon Eaves, realestate.com.au
MICROSERVICESVS SOA
We have gone from building a single ball of mud to
orchestrating a lot of shit
-- Hadi Hariri
MICROSERVICESVS SOA
SOA means too many different things
-- Martin Fowler
http://martinfowler.com/bliki/ServiceOrientedAmbiguity.html
MICROSERVICESVS
MONOLITH
http://martinfowler.com/bliki/MicroservicePremium.html
MONOLITH FIRST
http://martinfowler.com/bliki/MonolithFirst.html
DON’T START WITH A
MONOLITH
http://martinfowler.com/articles/dont-start-monolith.html
?!
MICROSERVICESVS
MONOLITH
If you can't build a structured monolith, what makes
you think micro-services is the answer?!
-- Simon Brown
YOU MUST BETHISTALLTO
USE MICRO SERVICES
http://martinfowler.com/bliki/MicroservicePrerequisites.html
YOU MUST BETHISTALLTO
USE MICRO SERVICES
• DevOps
• Continous Delivery
no SSH to server
realtime monitoring
build pipeline
click to deploy
culture of
automation
IS IT WORTH DITCHING
THE MONOLITH?
• 95% cases: totally not worth it
• dvd.netflix.com: monolith for 6 mln users (2015)
MICROSERVICESVS
MONOLITH
Monolithic deployment of multiple components
within a single WAR still remains the simplest
possible solution for a mainstream project without
any additional requirements. Unfortunately, simplest
possible solutions are usually not buzzword-
compatible :-).
-- Adam Bien
5%
• optimisation madness?
Micro-Services
Certified
• micro-services envy?
MICRO-SERVICES BEST
PRACTICES
NEVER ENDING CONCEPTS
Loose Coupling High Cohesion
POSTEL’S LAW
Be conservative in what you send, 

be liberal in what you accept
-- Jon Postel
Request
Response
STANDARDISATION
HTTP/REST SOAP
MySQL PostgreSQL
2xx error codes 4xx/5xx error codes
REST verbs REST nouns
push monitoring pull monitoring
Java/Scala/Groovy Ruby/Javascript/Python
Redhat CentOS
Dropwizard/Karyon Spring Boot
STANDARDISATION
IMPLEMENTATION
• exemplary service
• service template
existing service
serving as an
example
the basis for other
services
STRANGLER PATTERN
STRANGLER PATTERN
Gradually create a new system around the
edges of the old, letting it grow slowly over
several years until the old system is strangled.
-- Martin Fowler
http://martinfowler.com/bliki/StranglerApplication.html
STRANGLER PATTERN
CMS/ERP/CRM
Recommendation
(facade)
Service 1 Service 2 Service 3
HIDE IMPLEMENTATION
DETAILS
API
Boundary
Sharing implementation details
BREAKING CHANGES
API
v1
v2
API
v1
v2
blue green
deployment
canary
release
CONSUMER-DRIVEN
CONTRACT WITH PACT
public class Service2PactTest extends ConsumerPactTest {
@Override
protected PactFragment createFragment(ConsumerPactBuilder.PactDslWithProvider builder) {
return builder
.uponReceiving("Request for service 2")
.path("/service2")
.method("GET")
.willRespondWith()
.status(200)
.body("Hello from service 2")
.toFragment();
}
@Override
protected String providerName() {
return "Service 2";
}
@Override
protected String consumerName() {
return "Service 1";
}
@Override
protected void runTest(String url) throws IOException {
Service2Client client = new Service2Client(url);
String response = client.callService2();
assertEquals("Hello from service 2", response);
}
}
<build>
<plugins>
<plugin>
<groupId>au.com.dius</groupId>
<artifactId>pact-jvm-provider-maven_2.11</artifactId>
<version>2.2.10</version>
<configuration>
<serviceProviders>
<serviceProvider>
<name>Service 2</name>
<protocol>http</protocol>
<host>localhost</host>
<port>9002</port>
<path>/</path>
<consumers>
<consumer>
<name>Service 1</name>
<pactFile>../micro-service-1/target/pacts/Service 1-Service 2.json</pactFile>
</consumer>
</consumers>
</serviceProvider>
</serviceProviders>
</configuration>
</plugin>
</plugins>
</build>
$ mvn au.com.dius:pact-jvm-provider-maven_2.11:verify
SINGLE CORRELATION ID
initial request request A:
Correlation ID: 1005
request B:
Correlation ID: 1005
request C:Correlation ID: 1005
AVOID SHARED
DEPENDENCY
API
Shared model
API
Boundary
AVOID SHARED
DEPENDENCY
Don’t violate DRY within a micro service,
but be relaxed about violating DRY across
all services.
-- Sam Newman,“Building Microservices”
ACQUIRING CONSISTENCY
1) distributed transaction
INSERT retry2) retry
INSERT DELETE
rollback
3) compensating transaction
Order Shipping
placeOrder shipOrder
ERROR!!!
PRODUCTION-LIKE
ENVIRONMENTS
INFRASTRUCTURE AS CODE
ONE SERVICE PER
CONTAINER
Our main focus is system containers.That is,
containers which offer an environment
as close to possible as the one you'd get
from a VM but without the overhead
that comes with running a separate kernel
and simulating all the hardware.
-- linuxcontainers.org
Container in a Container in a Container in a…
CIRCUIT BREAKER
closed
openhalf-open
failure threshold
reached
timeout timer
expired
operation failed
success count
threshold reached
always
return
failure
increment failure
counter on failure
increment
success
counter on
success
start
FAIL FAST & GRACEFUL DEGRADATION
UI Search
find_movie(“Godzilla”)
error
find_movie(“Godzilla”)
return default movies
find_movie(“Godzilla”)
return default movies
circuit
timeout
find_movie(“Godzilla”) find_movie(“Godzilla”)
successreturn search results
https://github.com/nurkiewicz/hystrix-demo
AGREGGATED MONITORING
DROPWIZARD METRICS
http://metrics.dropwizard.io/
STORING METRICS
Retention policies
Noofsamplesper1hour
0
30
60
90
120
Within last 1h Older than 1h Older than 1 day Older than 1 week
CENTRAL SEARCHABLE LOGS
https://www.elastic.co/guide/en/logstash/current/deploying-and-scaling.html
https://www.elastic.co/guide/en/logstash/current/deploying-and-scaling.html
http://www.slideshare.net/renzotoma39/scaling-an-elk-stack-at-bolcom-39412550
http://www.slideshare.net/renzotoma39/scaling-an-elk-stack-at-bolcom-39412550
NETFLIXTOOLS
netflix.github.io
GOOGLE KUBERNETES
DEIS
ATLAS (HASHICORP)
USEYOUR OWN
STACK OFTOOLS
LEARN MORE
11 September 2015
Sopot, Poland
incredible
book
single source
of truth
Micro services
Micro services
Micro services
Micro services
Micro services
Micro services

Contenu connexe

Tendances

Tendances (20)

Serverless with azure functions the rebel service
Serverless with azure functions   the rebel serviceServerless with azure functions   the rebel service
Serverless with azure functions the rebel service
 
Istio
Istio Istio
Istio
 
Event Sourcing your AngularJS applications
Event Sourcing your AngularJS applicationsEvent Sourcing your AngularJS applications
Event Sourcing your AngularJS applications
 
Microservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSSMicroservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSS
 
Event-Sourcing your React-Redux applications
Event-Sourcing your React-Redux applicationsEvent-Sourcing your React-Redux applications
Event-Sourcing your React-Redux applications
 
Xamarin devdays 2017 - PT - connected apps
Xamarin devdays 2017 - PT - connected appsXamarin devdays 2017 - PT - connected apps
Xamarin devdays 2017 - PT - connected apps
 
Event-Sourcing your React-Redux applications at HolyJS 2016
Event-Sourcing your React-Redux applications at HolyJS 2016Event-Sourcing your React-Redux applications at HolyJS 2016
Event-Sourcing your React-Redux applications at HolyJS 2016
 
Springboot Microservices
Springboot MicroservicesSpringboot Microservices
Springboot Microservices
 
Event-Sourcing your React-Redux applications
Event-Sourcing your React-Redux applicationsEvent-Sourcing your React-Redux applications
Event-Sourcing your React-Redux applications
 
Event-Sourcing your React-Redux applications
Event-Sourcing your React-Redux applicationsEvent-Sourcing your React-Redux applications
Event-Sourcing your React-Redux applications
 
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud - An...
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud - An...Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud - An...
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud - An...
 
Event Sourcing your Angular and React applications
Event Sourcing your Angular and React applicationsEvent Sourcing your Angular and React applications
Event Sourcing your Angular and React applications
 
React - Redux applications & Event Sourcing
React - Redux applications & Event SourcingReact - Redux applications & Event Sourcing
React - Redux applications & Event Sourcing
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 
Deep-dive into APIs in a Microservice Architecture
Deep-dive into APIs in a Microservice ArchitectureDeep-dive into APIs in a Microservice Architecture
Deep-dive into APIs in a Microservice Architecture
 
Introduction to microservices (from rails monolith)
Introduction to microservices (from rails monolith)Introduction to microservices (from rails monolith)
Introduction to microservices (from rails monolith)
 
MVVM Core By GITS-Indonesia
MVVM Core By GITS-IndonesiaMVVM Core By GITS-Indonesia
MVVM Core By GITS-Indonesia
 
Teched India Vijay Interop Track
Teched India Vijay Interop TrackTeched India Vijay Interop Track
Teched India Vijay Interop Track
 
M.Montalbano/M.Colombo Speroni/S.Sala - Combining React and Websocket to buil...
M.Montalbano/M.Colombo Speroni/S.Sala - Combining React and Websocket to buil...M.Montalbano/M.Colombo Speroni/S.Sala - Combining React and Websocket to buil...
M.Montalbano/M.Colombo Speroni/S.Sala - Combining React and Websocket to buil...
 
Istio on Kubernetes
Istio on KubernetesIstio on Kubernetes
Istio on Kubernetes
 

En vedette

Apache cassandra & apache spark for time series data
Apache cassandra & apache spark for time series dataApache cassandra & apache spark for time series data
Apache cassandra & apache spark for time series data
Patrick McFadin
 

En vedette (10)

Scaling Up to Your First 10 Million Users
Scaling Up to Your First 10 Million UsersScaling Up to Your First 10 Million Users
Scaling Up to Your First 10 Million Users
 
Cassandra Basics, Counters and Time Series Modeling
Cassandra Basics, Counters and Time Series ModelingCassandra Basics, Counters and Time Series Modeling
Cassandra Basics, Counters and Time Series Modeling
 
Monitoring as a Service
Monitoring as a ServiceMonitoring as a Service
Monitoring as a Service
 
(ARC301) Scaling Up to Your First 10 Million Users
(ARC301) Scaling Up to Your First 10 Million Users(ARC301) Scaling Up to Your First 10 Million Users
(ARC301) Scaling Up to Your First 10 Million Users
 
Data Modeling with Cassandra and Time Series Data
Data Modeling with Cassandra and Time Series DataData Modeling with Cassandra and Time Series Data
Data Modeling with Cassandra and Time Series Data
 
Introduction to Service Oriented Architecture
Introduction to Service Oriented ArchitectureIntroduction to Service Oriented Architecture
Introduction to Service Oriented Architecture
 
Deep Dive: Scaling Up to Your First 10 Million Users
Deep Dive: Scaling Up to Your First 10 Million UsersDeep Dive: Scaling Up to Your First 10 Million Users
Deep Dive: Scaling Up to Your First 10 Million Users
 
Time series with Apache Cassandra - Long version
Time series with Apache Cassandra - Long versionTime series with Apache Cassandra - Long version
Time series with Apache Cassandra - Long version
 
Analyzing Time Series Data with Apache Spark and Cassandra
Analyzing Time Series Data with Apache Spark and CassandraAnalyzing Time Series Data with Apache Spark and Cassandra
Analyzing Time Series Data with Apache Spark and Cassandra
 
Apache cassandra & apache spark for time series data
Apache cassandra & apache spark for time series dataApache cassandra & apache spark for time series data
Apache cassandra & apache spark for time series data
 

Similaire à Micro services

IBM Innovate 2013: Making Rational HATS a Strategic Investment
IBM Innovate 2013: Making Rational HATS a Strategic InvestmentIBM Innovate 2013: Making Rational HATS a Strategic Investment
IBM Innovate 2013: Making Rational HATS a Strategic Investment
Strongback Consulting
 

Similaire à Micro services (20)

Microservices/dropwizard
Microservices/dropwizardMicroservices/dropwizard
Microservices/dropwizard
 
FEVR - Micro Frontend
FEVR - Micro FrontendFEVR - Micro Frontend
FEVR - Micro Frontend
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
 
20161220 - microservice
20161220 - microservice20161220 - microservice
20161220 - microservice
 
Intro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene HanikblumIntro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene Hanikblum
 
Whitepaper : Microservices In or Out
Whitepaper : Microservices   In or OutWhitepaper : Microservices   In or Out
Whitepaper : Microservices In or Out
 
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
 
Overview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integrationOverview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integration
 
400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환
400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환
400.RED HAT OPENSHIFT APPLICATION RUNTIMES(RHOAR) 를 활용한 Cloud Native App 전환
 
IBM Innovate 2013: Making Rational HATS a Strategic Investment
IBM Innovate 2013: Making Rational HATS a Strategic InvestmentIBM Innovate 2013: Making Rational HATS a Strategic Investment
IBM Innovate 2013: Making Rational HATS a Strategic Investment
 
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
 
GWAB Mobile Services
GWAB Mobile ServicesGWAB Mobile Services
GWAB Mobile Services
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
Microservices
MicroservicesMicroservices
Microservices
 
MicroServices, yet another architectural style?
MicroServices, yet another architectural style?MicroServices, yet another architectural style?
MicroServices, yet another architectural style?
 
Show me the money! - Draft
Show me the money! - DraftShow me the money! - Draft
Show me the money! - Draft
 
Moving to DevOps the Amazon Way
Moving to DevOps the Amazon WayMoving to DevOps the Amazon Way
Moving to DevOps the Amazon Way
 
Migrating Monoliths to Microservices -- M3
Migrating Monoliths to Microservices -- M3Migrating Monoliths to Microservices -- M3
Migrating Monoliths to Microservices -- M3
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services Architecture
 
Meetup6 microservices for the IoT
Meetup6 microservices for the IoTMeetup6 microservices for the IoT
Meetup6 microservices for the IoT
 

Dernier

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Dernier (20)

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
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
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 ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
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...
 
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...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
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
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

Micro services