SlideShare une entreprise Scribd logo
1  sur  275
Télécharger pour lire hors ligne
Microservices
@Steve_Upton
What Microservices
actually look like
DevOps
“10+ Deploys Per Day: Dev and Ops
Cooperation at Flickr”
John Allspaw, Velocity 2009
“...a cross-disciplinary community of practice
dedicated to the study of building, evolving and
operating rapidly-changing resilient systems at
scale.”
Jez Humble
Continuous Delivery
Configuration Management
Monitoring
Continuous Delivery
“If you have more meetings than releases, you’re
an enterprise company”
Clifton Cunningham, CTO @ TES Global
Containers
Containers
credit to Anne Currie
Bare Metal
Bare Metal
✔ Powerful
✔ Simple
Bare Metal
✔ Powerful
✔ Simple
❌ Brittle
❌ Inflexible
Bare Metal
✔ Powerful
✔ Simple
❌ Brittle
❌ Inflexible
Virtual Machines
Virtual Machines
✔ Flexible
✔ Networking
✔ Security
Virtual Machines
✔ Flexible
✔ Networking
✔ Security
❌ Overweight
Virtual Machines
✔ Flexible
✔ Networking
✔ Security
❌ Overweight
Virtual Machines
✔ Flexible
✔ Networking
✔ Security
❌ Overweight
Containers
Containers
✔ Lightweight
✔ Agile
Containers
✔ Lightweight
✔ Agile
❌ Untested
❌ Networking
❌ Security
Containers
✔ Lightweight
✔ Agile
❌ Untested
❌ Networking
❌ Security
Containers
✔ Lightweight
✔ Agile
❌ Untested
❌ Networking
❌ Security
Exercise
Configuration Management
Immutable Infrastructure
Don’t change, replace
Requires automation
Immutable Infrastructure
Don’t change, replace
Requires automation
Blue-Green
Docker Compose
Manage multi-container apps
Docker Compose
Manage multi-container apps
Collection of dockerfiles → services
version: '2'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
Is Docker production ready?
Is Docker production ready?
Is Docker production ready?
Not great at backwards compatibility…
Requires extra tooling
“Concurrent Production”
“The development contracts are being performed
concurrent with the production contracts”
2015 Lockheed Martin Annual Report
Ideas
Ideas
Build
Ideas
Build
Product
Ideas
Measure
Build
Product
Ideas
Measure
Build
ProductData
Ideas
Measure
Build
ProductData
Learn
Inter-service communication
Build Test
HTTP
Build Test
Email
Build Test
Email
Slack
Build Test
Email
Slack
Fireworks
Build Test
Email
Slack
Fireworks
Build Test
Email
Slack
Fireworks
“Service Discovery
is an anti-pattern”
“Service Discovery
is an anti-pattern”
Richard Rodger, CTO @ nearForm
Messaging!
Build Test
Email
Slack
Fireworks
RabbitMQ
Build Test
publish
Email
Slack
Fireworks
RabbitMQ
Build Test
publish
Email
Slack
Fireworks
RabbitMQ
subscribe
Time To Live
mq.publish(msg, {ttl: 10});
Time To Live
mq.publish(msg, {ttl: 10});
function put(msg, startTime) {
response = http.put(msg);
if (response.code != 200) {
if (getTime() - startTime < timeout) {
put(msg, startTime);
}
}
}
startTime = getTime();
put(msg, startTime);
Time To Live
mq.publish(msg, {ttl: 10});
function put(msg, startTime) {
response = http.put(msg);
if (response.code == 404) {
// ???
} else if (response.code != 200) {
if (getTime() - startTime < timeout) {
put(msg, startTime);
}
}
}
startTime = getTime();
put(msg, startTime);
Time To Live
mq.publish(msg, {ttl: 10});
function put(msg, startTime) {
response = http.put(msg);
if (response.code == 404) {
// ???
} else if (response.code == 429) {
// ???
} else if (response.code == 500) {
// ???
} else if (response.code != 200) {
if (getTime() - startTime < timeout) {
put(msg, startTime);
}
}
}
startTime = getTime();
put(msg, startTime);
Time To Live
mq.publish(msg, {ttl: 10});
function put(msg, startTime) {
response = http.put(msg);
if (response.code == 404) {
// ???
} else if (response.code == 429) {
// ???
} else if (response.code == 500) {
// ???
} else if (response.code != 200) {
if (getTime() - startTime < timeout) {
timeSpent = getTime() - startTime;
delay = Math.pow(timeSpent, 2);
setTimeout(put(msg, startTime), delay);
}
}
}
startTime = getTime();
put(msg, startTime);
Time To Live
mq.publish(msg, {ttl: 10});
function put(msg, startTime) {
response = http.put(msg);
if (response.code == 404) {
// ???
} else if (response.code == 429) {
// ???
} else if (response.code == 500) {
// ???
} else if (response.code != 200) {
if (getTime() - startTime < timeout) {
timeSpent = getTime() - startTime;
delay = Math.pow(timeSpent, 2);
remainingTime = timeout - timeSpent;
delay = Math.min(delay, remainingTime);
setTimeout(put(msg, startTime), delay);
}
}
}
startTime = getTime();
put(msg, startTime);
Time To Live
mq.publish(msg, {ttl: 10});
function put(msg, startTime) {
response = http.put(msg);
if (response.code == 404) {
// ???
} else if (response.code == 429) {
// ???
} else if (response.code == 500) {
// ???
} else if (response.code != 200) {
if (getTime() - startTime < timeout) {
timeSpent = getTime() - startTime;
fuzz = Math.floor(Math.random() * 10);
delay = Math.pow(timeSpent, 2) + fuzz;
remainingTime = timeout - timeSpent;
delay = Math.min(delay, remainingTime);
setTimeout(put(msg, startTime), delay);
}
}
}
startTime = getTime();
put(msg, startTime);
Time To Live
Quality of Service
// Best effort, fire and forget
mq.publish(unimportantMessage, {qos: 0});
// At least once delivery
mq.publish(idempotentMessage, {qos: 1});
// Exactly once delivery
mq.publish(importantMessage, {qos: 2});
Quality of Service
// Best effort, fire and forget
mq.publish(unimportantMessage, {qos: 0});
// At least once delivery
mq.publish(idempotentMessage, {qos: 1});
// Exactly once delivery
mq.publish(importantMessage, {qos: 2});
Quality of Service
// Best effort, fire and forget
mq.publish(unimportantMessage, {qos: 0});
// At least once delivery
mq.publish(idempotentMessage, {qos: 1});
// Exactly once delivery
mq.publish(importantMessage, {qos: 2});
Quality of Service
Concurrency
Concurrency
Upload text → Generate video → Post video
Concurrency
Fast Slow Fast
Upload text → Generate video → Post video
Concurrency
Fast Slow Fast
Upload text → Generate video → Post video
Concurrency
Upload
service
Video generation
service
Posting
service
Text Video
Concurrency
Upload
service
Video generation
service
Posting
service
Text Video
Concurrency
Upload
service
Video generation
service
Posting
service
Text Video
Concurrency
Upload
service
Video generation
service
Posting
service
Text Video
Concurrency
Upload
service
Video generation
service
Posting
service
Text Video
Video generation
service
Video generation
service
Concurrency
Upload
service
Video generation
service
Posting
service
Text Video
Video generation
service
Video generation
service
LoadBalancer
Concurrency
publish
RabbitMQ
subscribe
Upload
service
Video generation
service
Video generation
service
Video generation
service
Concurrency
publish
RabbitMQ
subscribe
Upload
service
Video generation
service
Video generation
service
Video generation
service
Concurrency
publish
RabbitMQ
subscribe
Upload
service
Video generation
service
Video generation
service
Video generation
service
Concurrency
publish
RabbitMQ
subscribe
Upload
service
Video generation
service
Video generation
service
Video generation
service
Concurrency
publish
RabbitMQ
subscribe
Upload
service
Video generation
service
Video generation
service
Video generation
service
“Publish everything!”
Tom Livesey, Droplet
Exercise
Lots of data sources
Lots of data sources
Lots of data consumers
Lots of data sources
Lots of data consumers
Lots of integrations
LinkedIn before
LinkedIn before
O(n2
)
LinkedIn after
Up close
The log
Append only
Time ordered
Distributed logging
add(20)
add(5)
subtract(10)
add(15)
add(20)
add(5)
subtract(10)
add(15)
add(20)
add(5)
subtract(10)
add(15)
?
add(20)
add(5)
subtract(10)
add(15)
“If two identical, deterministic processes begin in
the same state and get the same inputs in the
same order, they will produce the same output and
end in the same state.”
State Machine Replication Principle, Jay Kreps, LinkedIn
30
add(20)
add(5)
subtract(10)
add(15)
?
Log as source of Truth
Initial
population
person born
person died
person born
person born
Initial
population
Population:
308,745,538
person born
person died
person born
person born
Initial
population
2 million writes s-1
(on 3 cheap machines)
10s of millions of writes s-1
(LinkedIn production)
2 million writes s-1
(on 3 cheap machines)
10s of millions of writes s-1
(LinkedIn production)
7 transactions s-1
(Bitcoin network)
Log as source of Truth
Event Sourcing
“We don’t care if our production system crashes.”
Valerii Vasylkov, William Hill
Data science. Analytics
about the business
Full-fledged stream
processing framework
Microservice like. Core
business functions
Build an app that consumes
from Kafka directly
Data science. Analytics
about the business
Full-fledged stream
processing framework
Microservice like. Core
business functions
Build an app that consumes
from Kafka directly
Data science. Analytics
about the business
Full-fledged stream
processing framework
Microservice like. Core
business functions
Build an app that consumes
from Kafka directly
Testing Microservices
Monolithic testing
Monolithic testing
App
Test
Monolithic testing
App
Test
Test data
Test data
Test data
Monolithic testing
App
Test
Test data
Test data
Test data
Output ✔
Output ✔
Output ✔
Monolithic testing
App
Test
Test data
Test data
Test data
Output ✔
Output ✖
Output ✔
Monolithic testing
App
Test
Test data
Test data
Test data
Output
✔
Output
✔
Output
✔
Output ✔
Output ✔
Output ✔
Monolithic testing
App
Test Production
App
Test data
Test data
Test data
Output ✔
Output ✔
Output ✔
Microservice testing
Test
Microservice
Microservice
Microservice
Microservice testing
Test
Microservice
Microservice
Microservice
Tests
Outputs
✔
Tests
Outputs
✔
Outputs
✔
Tests
Microservice testing
Production
Microservice
Microservice
Microservice
Microservice testing
Production
Microservice
Microservice
Microservice
Monitoring = Testing
Chaos Gorilla
Chaos Kong
Conformity Monkey
Security Monkey
Janitor Monkey
Latency Monkey
“Everything fails all the time”
Werner Vogels, VP + CTO @ Amazon
Design for Failure
Self healing systems
Debugging Microservices
“How big should my Microservice be?”
Everyone
Domain Driven Design (DDD)
“Not all of a large system will
be well designed”
Eric Evans
“The first draft of anything is shit”
Ernest Hemingway
“... big enough to fit in your head”
Dan North
“Replaceable component architecture”
Dan North
Monolith first?
12factor.net
I. Codebase
One codebase tracked in revision control, many deploys
I. Codebase
One codebase tracked in revision control, many deploys
Always use version control!
I. Codebase
One codebase tracked in revision control, many deploys
Always use version control!
One app (microservice) per repo
I. Codebase
One codebase tracked in revision control, many deploys
Always use version control!
One app (microservice) per repo
Multiple deploys per app (local, dev, prod, etc.)
II. Dependencies
Explicitly declare and isolate dependencies
II. Dependencies
Explicitly declare and isolate dependencies
Never assume something is pre-installed
II. Dependencies
Explicitly declare and isolate dependencies
Never assume something is pre-installed
Package managers/repos make this easy! $ pip install -r requirements.txt
$ npm install
$ bundle install
II. Dependencies
Explicitly declare and isolate dependencies
Never assume something is pre-installed
Package managers/repos make this easy!
Isolate dependencies to prevent ‘leaking’
$ pip install -r requirements.txt
$ npm install
$ bundle install
II. Dependencies
Explicitly declare and isolate dependencies
Never assume something is pre-installed
Package managers/repos make this easy!
Isolate dependencies to prevent ‘leaking’
$ npm install
II. Dependencies
Explicitly declare and isolate dependencies
Never assume something is pre-installed
Package managers/repos make this easy!
Isolate dependencies to prevent ‘leaking’
(Aims to) prevent “it works on my machine”
$ npm install
III. Config
Store config in the environment
III. Config
Store config in the environment
Config changes between deploys (dev, prod, etc.)
III. Config
Store config in the environment
Config changes between deploys (dev, prod, etc.)
Store config in environment not codebase
III. Config
Store config in the environment
Config changes between deploys (dev, prod, etc.)
Store config in environment not codebase
III. Config
Store config in the environment
Config changes between deploys (dev, prod, etc.)
Store config in environment not codebase
Suggest environment vars, but other options...
III. Config
Store config in the environment
Config changes between deploys (dev, prod, etc.)
Store config in environment not codebase
Suggest environment vars, but other options...
Supports multiple deploys from one codebase
III. Config
Store config in the environment
Config changes between deploys (dev, prod, etc.)
Store config in environment not codebase
Suggest environment vars, but other options...
Supports multiple deploys from one codebase
Makes Open Sourcing easier
IV. Backing services
Treat backing services as attached resources
IV. Backing services
Treat backing services as attached resources
Backing services are any remote services
IV. Backing services
Treat backing services as attached resources
Backing services are any remote services
Loosely coupled to a deploy
IV. Backing services
Treat backing services as attached resources
Backing services are any remote services
Loosely coupled to a deploy
Treated as local resources
IV. Backing services
Treat backing services as attached resources
Backing services are any remote services
Loosely coupled to a deploy
Treated as local resources
Allows easy swapping out of services
V. Build, release, run
Strictly separate build and run stages
V. Build, release, run
Strictly separate build and run stages
Build
V. Build, release, run
Strictly separate build and run stages
Build → Release
V. Build, release, run
Strictly separate build and run stages
Build → Release → Run
V. Build, release, run
Strictly separate build and run stages
Build → Release → Run
Strict separation between the stages
V. Build, release, run
Strictly separate build and run stages
Build → Release → Run
Strict separation between the stages
One way (no tweaking the live server!)
VI. Processes
Execute the app as one or more stateless processes
VI. Processes
Execute the app as one or more stateless processes
Apps run as processes (duh)
VI. Processes
Execute the app as one or more stateless processes
Apps run as processes (duh)
No state: every node is independent
VI. Processes
Execute the app as one or more stateless processes
Apps run as processes (duh)
No state: every node is independent
Caching is fine, but not for future use
VI. Processes
Execute the app as one or more stateless processes
Apps run as processes (duh)
No state: every node is independent
Caching is fine, but not for future use
State must be stored in backing services
VII. Port binding
Export services via port binding
VII. Port binding
Export services via port binding
Expose endpoints
http://localhost:5000/
test.mosquitto.org:1883
redis://redisbox:6379/0
VII. Port binding
Export services via port binding
Expose endpoints
No runtime injection or native APIs http://localhost:5000/
test.mosquitto.org:1883
redis://redisbox:6379/0
VII. Port binding
Export services via port binding
Expose endpoints
No runtime injection or native APIs
HTTP or other protocols make things easy
http://localhost:5000/
test.mosquitto.org:1883
redis://redisbox:6379/0
VIII. Concurrency
Scale out via the process model
VIII. Concurrency
Scale out via the process model
Processes are the unit of scaling
VIII. Concurrency
Scale out via the process model
Processes are the unit of scaling
Don’t daemonize!
VIII. Concurrency
Scale out via the process model
Processes are the unit of scaling
Don’t daemonize!
Take advantage of OS resource scaling
IX. Disposability
Maximize robustness with fast startup and graceful shutdown
IX. Disposability
Maximize robustness with fast startup and graceful shutdown
Can be started or stopped quickly (Cattle not pets)
IX. Disposability
Maximize robustness with fast startup and graceful shutdown
Can be started or stopped quickly (Cattle not pets)
Quick startup allows easy scaling up
Graceful shutdown allows easy scaling down
IX. Disposability
Maximize robustness with fast startup and graceful shutdown
Can be started or stopped quickly (Cattle not pets)
Quick startup allows easy scaling up
Graceful shutdown allows easy scaling down
Easier if you scale with independent processes...
X. Dev/prod parity
Keep development, staging, and production as similar as possible
X. Dev/prod parity
Keep development, staging, and production as similar as possible
Keep time between environment deploys low
X. Dev/prod parity
Keep development, staging, and production as similar as possible
Keep time between environment deploys low
Devs also handle deployment and maintenance (DevOps)
Keep tooling between environments as similar as possible
X. Dev/prod parity
Keep development, staging, and production as similar as possible
Keep time between environment deploys low
Devs also handle deployment and maintenance (DevOps)
Keep tooling between environments as similar as possible
If you can, try one environment...
XI. Logs
Treat logs as event streams
XI. Logs
Treat logs as event streams
Don’t mess around writing to files, just use stdout
XI. Logs
Treat logs as event streams
Don’t mess around writing to files, just use stdout
In dev, you can watch stdout
In production, it can be routed to other stores (Splunk etc.)
XI. Logs
Treat logs as event streams
Don’t mess around writing to files, just use stdout
In dev, you can watch stdout
In production, it can be routed to other stores (Splunk etc.)
Keeps aggregated logs time ordered (like Kafka)
XII. Admin processes
Run admin/management tasks as one-off processes
XII. Admin processes
Run admin/management tasks as one-off processes
One-off admin tasks (DB migrations etc.) should be run from production environment
XII. Admin processes
Run admin/management tasks as one-off processes
One-off admin tasks (DB migrations etc.) should be run from production environment
Don’t run scripts from local machine or directly on the DB
XII. Admin processes
Run admin/management tasks as one-off processes
One-off admin tasks (DB migrations etc.) should be run from production environment
Don’t run scripts from local machine or directly on the DB
Check in scripts to app repos to keep things in sync
One-off admin tasks (DB migrations etc.) should be run from production environment
Don’t run scripts from local machine or directly on the DB
Check in scripts to app repos to keep things in sync
ssh into production box and run the task
XII. Admin processes
Run admin/management tasks as one-off processes
XII. Admin processes
Run admin/management tasks as one-off processes
One-off admin tasks (DB migrations etc.) should be run from production environment
Don’t run scripts from local machine or directly on the DB
Check in scripts to app repos to keep things in sync
ssh into production box and run the task
...or don’t. Immutable Infrastructure!
1990 2000 2010 2015
Orderleadtime(log(ish))
< 1 sec
1 hour
1 week
6 months Data center
Virtual machines
Commercial
cloud (AWS)
Docker
FaaS
5 secs
PaaS
Microservices or distributed systems?
The future of
Microservices
Hardware lead times
1990 2000 2010 2015
Orderleadtime(log(ish))
< 1 sec
1 hour
1 week
6 months Data center
Virtual machines
Commercial
cloud (AWS)
Docker
FaaS
5 secs
PaaS
Hardware lead times
1990 2000 2010 2015
Orderleadtime(log(ish))
< 1 sec
1 hour
1 week
6 months Data center
Virtual machines
Commercial
cloud (AWS)
Docker
FaaS
5 secs
PaaS
Amazon Lambda
Serverless
‘Serverless’ (not really)
Function as a Service (FaaS)
No persistence, no upkeep costs
200 ms startup time (Node.js)
What is the role of a manager?
Managers
Managers
Provide guidance
Managers
Provide guidance
Keep things ‘safe’
Managers
Provide guidance
Keep things ‘safe’
Organise the team
Managers
Provide guidance
Keep things ‘safe’
Organise the team
Enable team to work
Managers Microservices
Provide guidance
Keep things ‘safe’
Organise the team
Enable team to work
Managers Microservices
Provide guidance
Keep things ‘safe’
Organise the team
Enable team to work
Explore new tech
Managers Microservices
Provide guidance
Keep things ‘safe’
Organise the team
Enable team to work
Explore new tech
Experiment
Managers Microservices
Provide guidance
Keep things ‘safe’
Organise the team
Enable team to work
Explore new tech
Experiment
Enables self-organisation
Managers Microservices
Provide guidance
Keep things ‘safe’
Organise the team
Enable team to work
Explore new tech
Experiment
Enables self-organisation
Tech empowers team
No managers (or other titles)
Programmers take responsibility
Expect/allow failure (remove fear)
Work directly with customers
Programmer Anarchy
Conclusion
Speed > efficiency
DevOps
Empower teams
Embrace the distributed world
Speed > efficiency
DevOps
Empower teams
Embrace the distributed world
Speed > efficiency
DevOps
Empower teams
Embrace the distributed world
Speed > efficiency
DevOps
Empower teams
Embrace the distributed world
“Microservices are hard. Some things you get for
free, but you have to work for the good stuff. If
you won’t put in the work, you shouldn’t be doing
Microservices. (You should be doing that stuff
anyway!)”
Steve Upton
“Microservices are hard. Some things you get for
free, but you have to work for the good stuff. If
you won’t put in the work, you shouldn’t be doing
Microservices. (You should be doing that stuff
anyway!)”
Steve Upton
“Microservices are hard. Some things you get for
free, but you have to work for the good stuff. If
you won’t put in the work, you shouldn’t be doing
Microservices. (You should be doing that stuff
anyway!)”
Steve Upton
“Microservices are hard. Some things you get for
free, but you have to work for the good stuff. If
you won’t put in the work, you shouldn’t be doing
Microservices. (You should be doing that stuff
anyway!)”
Steve Upton
“Microservices are hard. Some things you get for
free, but you have to work for the good stuff. If
you won’t put in the work, you shouldn’t be doing
Microservices. (You should be doing that stuff
anyway!)”
Steve Upton
“Microservices are hard. Some things you get for
free, but you have to work for the good stuff. If
you won’t put in the work, you shouldn’t be doing
Microservices. (You should be doing that stuff
anyway!)”
Steve Upton
Questions?
@Steve_Upton
steveupton.io
Essential reading
https://www.infoq.com/articles/cap-twelve-years-later-how-the-rules-have-changed
https://plus.google.com/+RipRowan/posts/eVeouesvaVX
https://engineering.linkedin.com/distributed-systems/log-what-every-software-engi
neer-should-know-about-real-time-datas-unifying
http://martinfowler.com/articles/microservices.html
http://jonasboner.com/bla-bla-microservices-bla-bla/
https://www.youtube.com/watch?v=_EWUeZoyB0k
Good reading
http://highscalability.com/blog/2014/10/27/microservices-in-production-the-good-th
e-bad-the-it-works.html
http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html
References
http://www.slideshare.net/BruceWong3/the-case-for-chaos
http://www.slideshare.net/fredgeorge
http://www.slideshare.net/dataloop/anne-currie-force12io-game-of-hosts-containers-vs-vms
https://www.nrdc.org/sites/default/files/data-center-efficiency-assessment-IB.pdf
https://martinjeeblog.com/2012/11/20/what-is-programmer-anarchy-and-does-it-have-a-future/
http://static.googleusercontent.com/media/research.google.com/en//people/jeff/Berkeley-Latency-
Mar2012.pdf
http://apsblog.burtongroup.com/2009/01/soa-is-dead-long-live-services.html
References cont.
http://www.ibm.com/developerworks/webservices/library/ar-esbpat1/
https://ocw.mit.edu/courses/aeronautics-and-astronautics/16-885j-aircraft-systems-engineering-fall-
2005/
https://www.fogcreek.com/blog/eight-fallacies-of-distributed-computing-tech-talk/
http://www.ibiblio.org/harris/500milemail.html
http://www.lockheedmartin.com/content/dam/lockheed/data/corporate/documents/2015-Annual-Re
port.pdf
http://www.counterpunch.org/2013/03/04/when-money-is-no-object-the-strange-saga-of-the-f-35/
References cont.
https://www.youtube.com/watch?v=dxk8b9rSKOo
http://assets.en.oreilly.com/1/event/60/Velocity%20Culture%20Presentation.pdf
http://www.cubrid.org/blog/dev-platform/understanding-tcp-ip-network-stack/
https://www.oreilly.com/ideas/an-introduction-to-immutable-infrastructure
http://www.methodsandtools.com/archive/archive.php?id=97
Bad things
http://www.ibm.com/developerworks/webservices/library/ar-esbpat1/
http://www.networkworld.com/article/3114195/system-management/the-8-fallacies-of-distributed-co
mputing-are-becoming-irrelevant.html
Image credits
http://fontawesome.io/
https://github.com/thepracticaldev/orly-full-res
http://dimaip.github.io/slides/docker101.html
http://www.clipartlord.com/category/military-clip-art/bomb-clip-art/explosion-clip-art/
https://en.wikipedia.org/wiki/File:S-IC_engines_and_Von_Braun.jpg
http://www.nutsvolts.com/magazine/article/the_computer_that_took_man_to_the_moon
https://spaceflightnow.com/2014/11/05/engineers-recommend-changes-to-orion-heat-shield/
https://www.hq.nasa.gov/alsj/alsj-DrinkFood.html
Image credits cont.
https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19720013196.pdf

Contenu connexe

Tendances

ScalaSwarm 2017 Keynote: Tough this be madness yet theres method in't
ScalaSwarm 2017 Keynote: Tough this be madness yet theres method in'tScalaSwarm 2017 Keynote: Tough this be madness yet theres method in't
ScalaSwarm 2017 Keynote: Tough this be madness yet theres method in'tKonrad Malawski
 
Voxxed Vienna 2015 Fault tolerant microservices
Voxxed Vienna 2015 Fault tolerant microservicesVoxxed Vienna 2015 Fault tolerant microservices
Voxxed Vienna 2015 Fault tolerant microservicesChristopher Batey
 
Go Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
Go Reactive: Event-Driven, Scalable, Resilient & Responsive SystemsGo Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
Go Reactive: Event-Driven, Scalable, Resilient & Responsive SystemsJonas Bonér
 
State of Akka 2017 - The best is yet to come
State of Akka 2017 - The best is yet to comeState of Akka 2017 - The best is yet to come
State of Akka 2017 - The best is yet to comeKonrad Malawski
 
Building Reactive Systems with Akka (in Java 8 or Scala)
Building Reactive Systems with Akka (in Java 8 or Scala)Building Reactive Systems with Akka (in Java 8 or Scala)
Building Reactive Systems with Akka (in Java 8 or Scala)Jonas Bonér
 
The Cloud-natives are RESTless @ JavaOne
The Cloud-natives are RESTless @ JavaOneThe Cloud-natives are RESTless @ JavaOne
The Cloud-natives are RESTless @ JavaOneKonrad Malawski
 
Be More Productive with Kotlin
Be More Productive with KotlinBe More Productive with Kotlin
Be More Productive with KotlinBrandon Wever
 
Legacy Code Kata v3.0
Legacy Code Kata v3.0Legacy Code Kata v3.0
Legacy Code Kata v3.0William Munn
 
Not Only Streams for Akademia JLabs
Not Only Streams for Akademia JLabsNot Only Streams for Akademia JLabs
Not Only Streams for Akademia JLabsKonrad Malawski
 
The things we don't see – stories of Software, Scala and Akka
The things we don't see – stories of Software, Scala and AkkaThe things we don't see – stories of Software, Scala and Akka
The things we don't see – stories of Software, Scala and AkkaKonrad Malawski
 
Leveraging Open Source for Database Development: Database Version Control wit...
Leveraging Open Source for Database Development: Database Version Control wit...Leveraging Open Source for Database Development: Database Version Control wit...
Leveraging Open Source for Database Development: Database Version Control wit...All Things Open
 
Non-blocking Michael-Scott queue algorithm
Non-blocking Michael-Scott queue algorithmNon-blocking Michael-Scott queue algorithm
Non-blocking Michael-Scott queue algorithmAlexey Fyodorov
 
Devoxx France: Fault tolerant microservices on the JVM with Cassandra
Devoxx France: Fault tolerant microservices on the JVM with CassandraDevoxx France: Fault tolerant microservices on the JVM with Cassandra
Devoxx France: Fault tolerant microservices on the JVM with CassandraChristopher Batey
 
Coscup 2013 : Continuous Integration on top of hadoop
Coscup 2013 : Continuous Integration on top of hadoopCoscup 2013 : Continuous Integration on top of hadoop
Coscup 2013 : Continuous Integration on top of hadoopWisely chen
 
Legacy Dependency Kata v2.0
Legacy Dependency Kata v2.0Legacy Dependency Kata v2.0
Legacy Dependency Kata v2.0William Munn
 
Agile Developer Immersion Workshop, LASTconf Melbourne, Australia, 19th July ...
Agile Developer Immersion Workshop, LASTconf Melbourne, Australia, 19th July ...Agile Developer Immersion Workshop, LASTconf Melbourne, Australia, 19th July ...
Agile Developer Immersion Workshop, LASTconf Melbourne, Australia, 19th July ...Victoria Schiffer
 

Tendances (20)

ScalaSwarm 2017 Keynote: Tough this be madness yet theres method in't
ScalaSwarm 2017 Keynote: Tough this be madness yet theres method in'tScalaSwarm 2017 Keynote: Tough this be madness yet theres method in't
ScalaSwarm 2017 Keynote: Tough this be madness yet theres method in't
 
Voxxed Vienna 2015 Fault tolerant microservices
Voxxed Vienna 2015 Fault tolerant microservicesVoxxed Vienna 2015 Fault tolerant microservices
Voxxed Vienna 2015 Fault tolerant microservices
 
Java 104
Java 104Java 104
Java 104
 
Java 101
Java 101Java 101
Java 101
 
Go Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
Go Reactive: Event-Driven, Scalable, Resilient & Responsive SystemsGo Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
Go Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
 
Resilience with Hystrix
Resilience with HystrixResilience with Hystrix
Resilience with Hystrix
 
State of Akka 2017 - The best is yet to come
State of Akka 2017 - The best is yet to comeState of Akka 2017 - The best is yet to come
State of Akka 2017 - The best is yet to come
 
Building Reactive Systems with Akka (in Java 8 or Scala)
Building Reactive Systems with Akka (in Java 8 or Scala)Building Reactive Systems with Akka (in Java 8 or Scala)
Building Reactive Systems with Akka (in Java 8 or Scala)
 
The Cloud-natives are RESTless @ JavaOne
The Cloud-natives are RESTless @ JavaOneThe Cloud-natives are RESTless @ JavaOne
The Cloud-natives are RESTless @ JavaOne
 
Be More Productive with Kotlin
Be More Productive with KotlinBe More Productive with Kotlin
Be More Productive with Kotlin
 
Legacy Code Kata v3.0
Legacy Code Kata v3.0Legacy Code Kata v3.0
Legacy Code Kata v3.0
 
Not Only Streams for Akademia JLabs
Not Only Streams for Akademia JLabsNot Only Streams for Akademia JLabs
Not Only Streams for Akademia JLabs
 
Actor Model Akka Framework
Actor Model Akka FrameworkActor Model Akka Framework
Actor Model Akka Framework
 
The things we don't see – stories of Software, Scala and Akka
The things we don't see – stories of Software, Scala and AkkaThe things we don't see – stories of Software, Scala and Akka
The things we don't see – stories of Software, Scala and Akka
 
Leveraging Open Source for Database Development: Database Version Control wit...
Leveraging Open Source for Database Development: Database Version Control wit...Leveraging Open Source for Database Development: Database Version Control wit...
Leveraging Open Source for Database Development: Database Version Control wit...
 
Non-blocking Michael-Scott queue algorithm
Non-blocking Michael-Scott queue algorithmNon-blocking Michael-Scott queue algorithm
Non-blocking Michael-Scott queue algorithm
 
Devoxx France: Fault tolerant microservices on the JVM with Cassandra
Devoxx France: Fault tolerant microservices on the JVM with CassandraDevoxx France: Fault tolerant microservices on the JVM with Cassandra
Devoxx France: Fault tolerant microservices on the JVM with Cassandra
 
Coscup 2013 : Continuous Integration on top of hadoop
Coscup 2013 : Continuous Integration on top of hadoopCoscup 2013 : Continuous Integration on top of hadoop
Coscup 2013 : Continuous Integration on top of hadoop
 
Legacy Dependency Kata v2.0
Legacy Dependency Kata v2.0Legacy Dependency Kata v2.0
Legacy Dependency Kata v2.0
 
Agile Developer Immersion Workshop, LASTconf Melbourne, Australia, 19th July ...
Agile Developer Immersion Workshop, LASTconf Melbourne, Australia, 19th July ...Agile Developer Immersion Workshop, LASTconf Melbourne, Australia, 19th July ...
Agile Developer Immersion Workshop, LASTconf Melbourne, Australia, 19th July ...
 

En vedette

Understanding Microservices
Understanding Microservices Understanding Microservices
Understanding Microservices M A Hossain Tonu
 
Melbourne Microservices Meetup: Agenda for a new Architecture
Melbourne Microservices Meetup: Agenda for a new ArchitectureMelbourne Microservices Meetup: Agenda for a new Architecture
Melbourne Microservices Meetup: Agenda for a new ArchitectureSaul Caganoff
 
A csodák logikája
A csodák logikájaA csodák logikája
A csodák logikájaszkbl
 
Delivering with Microservices - How to Iterate Towards Sophistication
Delivering with Microservices - How to Iterate Towards SophisticationDelivering with Microservices - How to Iterate Towards Sophistication
Delivering with Microservices - How to Iterate Towards SophisticationThoughtworks
 
Building microservices web application using scala & akka
Building microservices web application using scala & akkaBuilding microservices web application using scala & akka
Building microservices web application using scala & akkaBinh Nguyen
 
Growing a microservices landscape (with smart use cases)
Growing a microservices landscape (with smart use cases)Growing a microservices landscape (with smart use cases)
Growing a microservices landscape (with smart use cases)Sander Hoogendoorn
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice ArchitectureRich Lee
 
Microservice Websites (microXchg 2017)
Microservice Websites (microXchg 2017)Microservice Websites (microXchg 2017)
Microservice Websites (microXchg 2017)Gustaf Nilsson Kotte
 
Akka Persistence and Eventuate
Akka Persistence and EventuateAkka Persistence and Eventuate
Akka Persistence and EventuateMartin Krasser
 
vert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVMvert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVMjbandi
 
Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Ac...
Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Ac...Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Ac...
Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Ac...Jonas Bonér
 
Securing Microservices using Play and Akka HTTP
Securing Microservices using Play and Akka HTTPSecuring Microservices using Play and Akka HTTP
Securing Microservices using Play and Akka HTTPRafal Gancarz
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service ArchitectureEduards Sizovs
 
Akka in Practice: Designing Actor-based Applications
Akka in Practice: Designing Actor-based ApplicationsAkka in Practice: Designing Actor-based Applications
Akka in Practice: Designing Actor-based ApplicationsNLJUG
 
Understanding Akka Streams, Back Pressure, and Asynchronous Architectures
Understanding Akka Streams, Back Pressure, and Asynchronous ArchitecturesUnderstanding Akka Streams, Back Pressure, and Asynchronous Architectures
Understanding Akka Streams, Back Pressure, and Asynchronous ArchitecturesLightbend
 
Akka Finite State Machine
Akka Finite State MachineAkka Finite State Machine
Akka Finite State MachineKnoldus Inc.
 
The promises and perils of microservices
The promises and perils of microservicesThe promises and perils of microservices
The promises and perils of microservicesUwe Friedrichsen
 
Akka in Production - ScalaDays 2015
Akka in Production - ScalaDays 2015Akka in Production - ScalaDays 2015
Akka in Production - ScalaDays 2015Evan Chan
 
Better Software—Faster: Ten Best Practices from Sequoia's Microservices Summit
Better Software—Faster: Ten Best Practices from Sequoia's Microservices SummitBetter Software—Faster: Ten Best Practices from Sequoia's Microservices Summit
Better Software—Faster: Ten Best Practices from Sequoia's Microservices SummitSequoia Capital
 
The Progression of APIs and Microservices - Photon Infotech
The Progression of APIs and Microservices - Photon InfotechThe Progression of APIs and Microservices - Photon Infotech
The Progression of APIs and Microservices - Photon InfotechPhoton
 

En vedette (20)

Understanding Microservices
Understanding Microservices Understanding Microservices
Understanding Microservices
 
Melbourne Microservices Meetup: Agenda for a new Architecture
Melbourne Microservices Meetup: Agenda for a new ArchitectureMelbourne Microservices Meetup: Agenda for a new Architecture
Melbourne Microservices Meetup: Agenda for a new Architecture
 
A csodák logikája
A csodák logikájaA csodák logikája
A csodák logikája
 
Delivering with Microservices - How to Iterate Towards Sophistication
Delivering with Microservices - How to Iterate Towards SophisticationDelivering with Microservices - How to Iterate Towards Sophistication
Delivering with Microservices - How to Iterate Towards Sophistication
 
Building microservices web application using scala & akka
Building microservices web application using scala & akkaBuilding microservices web application using scala & akka
Building microservices web application using scala & akka
 
Growing a microservices landscape (with smart use cases)
Growing a microservices landscape (with smart use cases)Growing a microservices landscape (with smart use cases)
Growing a microservices landscape (with smart use cases)
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Microservice Websites (microXchg 2017)
Microservice Websites (microXchg 2017)Microservice Websites (microXchg 2017)
Microservice Websites (microXchg 2017)
 
Akka Persistence and Eventuate
Akka Persistence and EventuateAkka Persistence and Eventuate
Akka Persistence and Eventuate
 
vert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVMvert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVM
 
Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Ac...
Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Ac...Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Ac...
Akka: Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Ac...
 
Securing Microservices using Play and Akka HTTP
Securing Microservices using Play and Akka HTTPSecuring Microservices using Play and Akka HTTP
Securing Microservices using Play and Akka HTTP
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
 
Akka in Practice: Designing Actor-based Applications
Akka in Practice: Designing Actor-based ApplicationsAkka in Practice: Designing Actor-based Applications
Akka in Practice: Designing Actor-based Applications
 
Understanding Akka Streams, Back Pressure, and Asynchronous Architectures
Understanding Akka Streams, Back Pressure, and Asynchronous ArchitecturesUnderstanding Akka Streams, Back Pressure, and Asynchronous Architectures
Understanding Akka Streams, Back Pressure, and Asynchronous Architectures
 
Akka Finite State Machine
Akka Finite State MachineAkka Finite State Machine
Akka Finite State Machine
 
The promises and perils of microservices
The promises and perils of microservicesThe promises and perils of microservices
The promises and perils of microservices
 
Akka in Production - ScalaDays 2015
Akka in Production - ScalaDays 2015Akka in Production - ScalaDays 2015
Akka in Production - ScalaDays 2015
 
Better Software—Faster: Ten Best Practices from Sequoia's Microservices Summit
Better Software—Faster: Ten Best Practices from Sequoia's Microservices SummitBetter Software—Faster: Ten Best Practices from Sequoia's Microservices Summit
Better Software—Faster: Ten Best Practices from Sequoia's Microservices Summit
 
The Progression of APIs and Microservices - Photon Infotech
The Progression of APIs and Microservices - Photon InfotechThe Progression of APIs and Microservices - Photon Infotech
The Progression of APIs and Microservices - Photon Infotech
 

Similaire à DSR Microservices (Day 1, Part 2)

Clean Code Development
Clean Code DevelopmentClean Code Development
Clean Code DevelopmentPeter Gfader
 
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Domenic Denicola
 
Adopting F# at SBTech
Adopting F# at SBTechAdopting F# at SBTech
Adopting F# at SBTechAntya Dev
 
Presto anatomy
Presto anatomyPresto anatomy
Presto anatomyDongmin Yu
 
Architectural Tradeoff in Learning-Based Software
Architectural Tradeoff in Learning-Based SoftwareArchitectural Tradeoff in Learning-Based Software
Architectural Tradeoff in Learning-Based SoftwarePooyan Jamshidi
 
Where the wild things are - Benchmarking and Micro-Optimisations
Where the wild things are - Benchmarking and Micro-OptimisationsWhere the wild things are - Benchmarking and Micro-Optimisations
Where the wild things are - Benchmarking and Micro-OptimisationsMatt Warren
 
[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기NAVER D2
 
Intro to Machine Learning with TF- workshop
Intro to Machine Learning with TF- workshopIntro to Machine Learning with TF- workshop
Intro to Machine Learning with TF- workshopProttay Karim
 
Hazelcast and MongoDB at Cloud CMS
Hazelcast and MongoDB at Cloud CMSHazelcast and MongoDB at Cloud CMS
Hazelcast and MongoDB at Cloud CMSuzquiano
 
Imagine a world without mocks
Imagine a world without mocksImagine a world without mocks
Imagine a world without mockskenbot
 
Akka with Scala
Akka with ScalaAkka with Scala
Akka with ScalaOto Brglez
 
Secure .NET programming
Secure .NET programmingSecure .NET programming
Secure .NET programmingAnte Gulam
 
Priming Java for Speed at Market Open
Priming Java for Speed at Market OpenPriming Java for Speed at Market Open
Priming Java for Speed at Market OpenAzul Systems Inc.
 
Programming Java - Lection 07 - Puzzlers - Lavrentyev Fedor
Programming Java - Lection 07 - Puzzlers - Lavrentyev FedorProgramming Java - Lection 07 - Puzzlers - Lavrentyev Fedor
Programming Java - Lection 07 - Puzzlers - Lavrentyev FedorFedor Lavrentyev
 
What can be done with Java, but should better be done with Erlang (@pavlobaron)
What can be done with Java, but should better be done with Erlang (@pavlobaron)What can be done with Java, but should better be done with Erlang (@pavlobaron)
What can be done with Java, but should better be done with Erlang (@pavlobaron)Pavlo Baron
 
Metaprogramming with JavaScript
Metaprogramming with JavaScriptMetaprogramming with JavaScript
Metaprogramming with JavaScriptTimur Shemsedinov
 
Mutation Testing: Start Hunting The Bugs
Mutation Testing: Start Hunting The BugsMutation Testing: Start Hunting The Bugs
Mutation Testing: Start Hunting The BugsAri Waller
 

Similaire à DSR Microservices (Day 1, Part 2) (20)

Clean Code Development
Clean Code DevelopmentClean Code Development
Clean Code Development
 
Good code
Good codeGood code
Good code
 
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
 
Mutation @ Spotify
Mutation @ Spotify Mutation @ Spotify
Mutation @ Spotify
 
Adopting F# at SBTech
Adopting F# at SBTechAdopting F# at SBTech
Adopting F# at SBTech
 
Presto anatomy
Presto anatomyPresto anatomy
Presto anatomy
 
Architectural Tradeoff in Learning-Based Software
Architectural Tradeoff in Learning-Based SoftwareArchitectural Tradeoff in Learning-Based Software
Architectural Tradeoff in Learning-Based Software
 
Where the wild things are - Benchmarking and Micro-Optimisations
Where the wild things are - Benchmarking and Micro-OptimisationsWhere the wild things are - Benchmarking and Micro-Optimisations
Where the wild things are - Benchmarking and Micro-Optimisations
 
[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기
 
Intro to Machine Learning with TF- workshop
Intro to Machine Learning with TF- workshopIntro to Machine Learning with TF- workshop
Intro to Machine Learning with TF- workshop
 
Hazelcast and MongoDB at Cloud CMS
Hazelcast and MongoDB at Cloud CMSHazelcast and MongoDB at Cloud CMS
Hazelcast and MongoDB at Cloud CMS
 
Imagine a world without mocks
Imagine a world without mocksImagine a world without mocks
Imagine a world without mocks
 
Akka with Scala
Akka with ScalaAkka with Scala
Akka with Scala
 
Secure .NET programming
Secure .NET programmingSecure .NET programming
Secure .NET programming
 
Priming Java for Speed at Market Open
Priming Java for Speed at Market OpenPriming Java for Speed at Market Open
Priming Java for Speed at Market Open
 
Async await
Async awaitAsync await
Async await
 
Programming Java - Lection 07 - Puzzlers - Lavrentyev Fedor
Programming Java - Lection 07 - Puzzlers - Lavrentyev FedorProgramming Java - Lection 07 - Puzzlers - Lavrentyev Fedor
Programming Java - Lection 07 - Puzzlers - Lavrentyev Fedor
 
What can be done with Java, but should better be done with Erlang (@pavlobaron)
What can be done with Java, but should better be done with Erlang (@pavlobaron)What can be done with Java, but should better be done with Erlang (@pavlobaron)
What can be done with Java, but should better be done with Erlang (@pavlobaron)
 
Metaprogramming with JavaScript
Metaprogramming with JavaScriptMetaprogramming with JavaScript
Metaprogramming with JavaScript
 
Mutation Testing: Start Hunting The Bugs
Mutation Testing: Start Hunting The BugsMutation Testing: Start Hunting The Bugs
Mutation Testing: Start Hunting The Bugs
 

Plus de Steve Upton

The histories of microservices
The histories of microservicesThe histories of microservices
The histories of microservicesSteve Upton
 
DSR Microservices (Day 2)
DSR Microservices (Day 2)DSR Microservices (Day 2)
DSR Microservices (Day 2)Steve Upton
 
DSR Microservices (Day 1, Part 1)
DSR Microservices (Day 1, Part 1)DSR Microservices (Day 1, Part 1)
DSR Microservices (Day 1, Part 1)Steve Upton
 
Computers of Apollo
Computers of ApolloComputers of Apollo
Computers of ApolloSteve Upton
 
DSR microservices
DSR microservicesDSR microservices
DSR microservicesSteve Upton
 
Inter-service communication
Inter-service communicationInter-service communication
Inter-service communicationSteve Upton
 
Mq light in microservices
Mq light in microservicesMq light in microservices
Mq light in microservicesSteve Upton
 

Plus de Steve Upton (8)

The histories of microservices
The histories of microservicesThe histories of microservices
The histories of microservices
 
DSR Microservices (Day 2)
DSR Microservices (Day 2)DSR Microservices (Day 2)
DSR Microservices (Day 2)
 
DSR Microservices (Day 1, Part 1)
DSR Microservices (Day 1, Part 1)DSR Microservices (Day 1, Part 1)
DSR Microservices (Day 1, Part 1)
 
Computers of Apollo
Computers of ApolloComputers of Apollo
Computers of Apollo
 
DSR microservices
DSR microservicesDSR microservices
DSR microservices
 
Inter-service communication
Inter-service communicationInter-service communication
Inter-service communication
 
Agile101
Agile101Agile101
Agile101
 
Mq light in microservices
Mq light in microservicesMq light in microservices
Mq light in microservices
 

Dernier

8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 

Dernier (20)

8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 

DSR Microservices (Day 1, Part 2)