SlideShare a Scribd company logo
1 of 36
SCALING,
WHAT YOU
NEED TO
KNOW
QUENTIN ADAM @WAXZCE
CLEVER CLOUD CEO
2013
WHEN YOU
NEED TO
SCALE
THERE ARE 2 WAYS
GROWING AND GROWING
UNTIL YOU EXPLODE OR
BECOME WEIRD
OR SPLIT THE WORK AND
MAKE YOUR SOFTWARE
WORK AS A TEAM
Build an army of fat app
YOU CAN DO BOTH
SO WE NEED TO BE ABLE
TO DISPATCH THE WORK
SCALE OUT
•  Many workers
doing the same
thing
•  No SPOF
•  Growing is more
easy
•  Introduce best
practice
SCALE UP
•  1 Fat instance
•  1 Fat application
•  SPOF (single point
of failure)
•  Hard to maintain
•  Always has a limit
•  Short term
meaning
SO, HOW TO
SCALE
OUT ?
JUST SOME FACTS
SPLIT PROCESS AND
STORAGE
Storage
• Databases
• Files
• Sessions
• Events
• …
Code
• Can be replicated
• Stateless
• Process
Picking one instance or another doesn’t matter
STATELESSNESS IS THE KEY
CONSIDER MORE
THINGS AS DATA
•  User account
•  Users data
•  Files
•  Sessions
•  Events
CHOOSE
DATASTORE
WISELY
YOU CAN SHOULD USE MANY DATASTORES
DATASTORE CHOICES
ARE DRIVEN BY USAGE
Make
decisions
based on
needs
Do I need
atomicity of
requests ?
Do I need
concurrent
access ?
Do I mostly
read or
write ?
Do I need
relational ?
Do I need
big storage
capacity ?
Do I need
high
availability ?
•  Not a big volume
•  DB have to manage
data TTL
•  Data model : K/V
•  Multiple writes at the
same time
•  High availability
I need to store sessions
QUICK EXAMPLE
•  Not a big volume
It’s OK, PG can handle
small quantity of data
•  DB have to manage
data TTL
No, I have to do it
manually
•  Data model : K/V
No, PG is relational
(mainly)
•  Multiple writes at the
same time
No, PG is Atomic
•  High availability
PG is awesome ;-) Use
of PG bouncer or
similar allow good
clustering
I need to store sessions
QUICK EXAMPLE
•  Not a big volume
It’s OK, redis can
handle small quantity
of data
•  DB have to manage
data TTL
Yes Redis can do it
•  Data model : K/V Yes
•  Multiple writes at the
same time
No, redis is pseudo
Atomic (master/slave)
•  High availability
Redis is great, but
cauterization is rude…
I need to store sessions
QUICK EXAMPLE
•  Not a big volume
It’s OK, redis can
handle small quantity
of data
•  DB have to manage
data TTL
Yes redis can do it
•  Data model : K/V Yes
•  Multiple writes at the
same time
OK, this is possible
with memcached
protocol
•  High availability
Clustering is built in, no
downtime J
I need to store sessions
QUICK EXAMPLE
USE ONLINE
DATABASE / BE
READY TO TEST
IN JUST A FEW
MINUTES
NO NEED TO TRASH YOUR COMPUTER
DON’T BE THAT GUY
DO NOT USE A
TECHNOLOGY BECAUSE
YOU <3 IT OR BECAUSE
IT’S HYPE : USE IT
BECAUSE IT FITS YOUR
NEEDS
BALANCE YOUR LEARNING CURVE WITH
THE TIME SAVED
DO NOT CREATE MONSTERS
COMMON MISTAKES
DO NOT USE
MEMORY AS
DATABASE
LIKE : SHARED / GLOBAL VARIABLE,
CACHE “IN THE CODE”, INTENSIVE
SESSION USAGE…
DO NOT USE A VARIABLE
FOR MORE THAN ONE
REQUEST
2 + 2 = 4
FOR SAME INPUT, SAME OUTPUT
And data will be lost
CODE WILL FAIL
DO NOT USE FILE
SYSTEM AS DATASTORE
File system are POSIX compliant
•  POSIX is ACID
•  POSIX is powerful but is bottleneck
•  File System is nightmare of ops
•  File System is create coupling (host provider/OS/language)
•  Free SPOF multi tenant File System is a unicorn
STORE IN DATABASE, OR DATASTORE LIKE S3 (AWS)
DEDICATED TO FILE MANAGEMENT
CAREFUL USE OF
DARK MAGIC
SPLIT THE CODE :
MODULES
•  Smallest code
base
•  Deploy as
service for
each other
•  Focus on best
technology for
a problem
USE EVENT BROKER TO
MODULARIZE YOUR APP
•  AMQP
•  Celery
•  0MQ
•  Redis
•  JMS
•  Some case : hadoop, akka…
•  …
CRON is not an event queue
MAKE HARD
COMPUTATION ASYNC
ALWAYS USE A
REVERSE PROXY
Y U NOT USE ONE ?
USE PROCESS
DEPLOYMENT
KEEP CALM UNDER
FIRE
TRACK BUG & GET
METRICS
Quentin ADAM
Twitter : @waxzce
THX FOR LISTENING
& QUESTIONS TIME
clever
c l o u d

More Related Content

Viewers also liked

Clever Cloud PITCH on DWS
Clever Cloud PITCH on DWSClever Cloud PITCH on DWS
Clever Cloud PITCH on DWSQuentin Adam
 
Pitch advice for SWNA 2013
Pitch advice for SWNA  2013Pitch advice for SWNA  2013
Pitch advice for SWNA 2013Quentin Adam
 
Pitch advices - medialab session nantes 2013
Pitch advices - medialab session nantes 2013Pitch advices - medialab session nantes 2013
Pitch advices - medialab session nantes 2013Quentin Adam
 
Puppet Camp NYC 2014: Build a Modern Infrastructure in 45 min!
Puppet Camp NYC 2014: Build a Modern Infrastructure in 45 min!Puppet Camp NYC 2014: Build a Modern Infrastructure in 45 min!
Puppet Camp NYC 2014: Build a Modern Infrastructure in 45 min!Puppet
 
SharePoint Branding - 3 Most Common Mistakes
SharePoint Branding - 3 Most Common MistakesSharePoint Branding - 3 Most Common Mistakes
SharePoint Branding - 3 Most Common MistakesNicolePullin
 
Understand Immutable infrastructure - at Build Stuff Kiev 2016
Understand Immutable infrastructure  - at Build Stuff Kiev 2016Understand Immutable infrastructure  - at Build Stuff Kiev 2016
Understand Immutable infrastructure - at Build Stuff Kiev 2016Quentin Adam
 
Why do you need Clever Cloud ?
Why do you need Clever Cloud ?Why do you need Clever Cloud ?
Why do you need Clever Cloud ?Quentin Adam
 
Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...
Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...
Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...Na'Tosha Bard
 
Personal Branding Using Social Media
Personal Branding Using Social MediaPersonal Branding Using Social Media
Personal Branding Using Social MediaBrian Hollowaty
 
Rural branding
Rural brandingRural branding
Rural brandingSunil
 
Personal branding - do it yourself
Personal branding - do it yourselfPersonal branding - do it yourself
Personal branding - do it yourselfShivam Dhawan
 
Definition of Business Infrastructure
Definition of Business InfrastructureDefinition of Business Infrastructure
Definition of Business InfrastructureEquilibria, Inc.
 
What is Clever Cloud? [French version]
What is Clever Cloud? [French version]What is Clever Cloud? [French version]
What is Clever Cloud? [French version]Quentin Adam
 

Viewers also liked (14)

Clever Cloud PITCH on DWS
Clever Cloud PITCH on DWSClever Cloud PITCH on DWS
Clever Cloud PITCH on DWS
 
Pitch advice for SWNA 2013
Pitch advice for SWNA  2013Pitch advice for SWNA  2013
Pitch advice for SWNA 2013
 
Eurocloud
EurocloudEurocloud
Eurocloud
 
Pitch advices - medialab session nantes 2013
Pitch advices - medialab session nantes 2013Pitch advices - medialab session nantes 2013
Pitch advices - medialab session nantes 2013
 
Puppet Camp NYC 2014: Build a Modern Infrastructure in 45 min!
Puppet Camp NYC 2014: Build a Modern Infrastructure in 45 min!Puppet Camp NYC 2014: Build a Modern Infrastructure in 45 min!
Puppet Camp NYC 2014: Build a Modern Infrastructure in 45 min!
 
SharePoint Branding - 3 Most Common Mistakes
SharePoint Branding - 3 Most Common MistakesSharePoint Branding - 3 Most Common Mistakes
SharePoint Branding - 3 Most Common Mistakes
 
Understand Immutable infrastructure - at Build Stuff Kiev 2016
Understand Immutable infrastructure  - at Build Stuff Kiev 2016Understand Immutable infrastructure  - at Build Stuff Kiev 2016
Understand Immutable infrastructure - at Build Stuff Kiev 2016
 
Why do you need Clever Cloud ?
Why do you need Clever Cloud ?Why do you need Clever Cloud ?
Why do you need Clever Cloud ?
 
Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...
Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...
Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...
 
Personal Branding Using Social Media
Personal Branding Using Social MediaPersonal Branding Using Social Media
Personal Branding Using Social Media
 
Rural branding
Rural brandingRural branding
Rural branding
 
Personal branding - do it yourself
Personal branding - do it yourselfPersonal branding - do it yourself
Personal branding - do it yourself
 
Definition of Business Infrastructure
Definition of Business InfrastructureDefinition of Business Infrastructure
Definition of Business Infrastructure
 
What is Clever Cloud? [French version]
What is Clever Cloud? [French version]What is Clever Cloud? [French version]
What is Clever Cloud? [French version]
 

Similar to Dotscale2013 : How to scale ?

How to scale your app and win the cloud challenge
How to scale your app and win the cloud challenge How to scale your app and win the cloud challenge
How to scale your app and win the cloud challenge Quentin Adam
 
How to scale your applications ? - #bzhcamp
How to scale your applications ? - #bzhcampHow to scale your applications ? - #bzhcamp
How to scale your applications ? - #bzhcampQuentin Adam
 
Some advice from the guy who handle your applications uptime - scalaIO 2013
Some advice from the guy who handle your applications uptime - scalaIO 2013Some advice from the guy who handle your applications uptime - scalaIO 2013
Some advice from the guy who handle your applications uptime - scalaIO 2013Quentin Adam
 
Roman Rehak: 24/7 Database Administration + Database Mail Unleashed
Roman Rehak: 24/7 Database Administration + Database Mail UnleashedRoman Rehak: 24/7 Database Administration + Database Mail Unleashed
Roman Rehak: 24/7 Database Administration + Database Mail UnleashedMSDEVMTL
 
Workers and Event processors that Scale
Workers and Event processors that ScaleWorkers and Event processors that Scale
Workers and Event processors that Scalejasonfill
 
Scaling SQL Write-Master Database Clusters With Redis Labs: Erik Brandsberg
Scaling SQL Write-Master Database Clusters With Redis Labs: Erik BrandsbergScaling SQL Write-Master Database Clusters With Redis Labs: Erik Brandsberg
Scaling SQL Write-Master Database Clusters With Redis Labs: Erik BrandsbergRedis Labs
 
SQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should KnowSQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should KnowDean Richards
 
Intro to event sourcing and CQRS
Intro to event sourcing and CQRS Intro to event sourcing and CQRS
Intro to event sourcing and CQRS Savvas Kleanthous
 
From delivering plugins to delivering "as a Service" - Atlassian connect 2017
From delivering plugins to delivering "as a Service" - Atlassian connect 2017From delivering plugins to delivering "as a Service" - Atlassian connect 2017
From delivering plugins to delivering "as a Service" - Atlassian connect 2017Quentin Adam
 
You don't want to do it like that
You don't want to do it like thatYou don't want to do it like that
You don't want to do it like thatSharon James
 
Agile Data: Building Hadoop Analytics Applications
Agile Data: Building Hadoop Analytics ApplicationsAgile Data: Building Hadoop Analytics Applications
Agile Data: Building Hadoop Analytics ApplicationsDataWorks Summit
 
Data modeling trends for analytics
Data modeling trends for analyticsData modeling trends for analytics
Data modeling trends for analyticsIke Ellis
 
Immutability: from code to infrastructure, the way of scalability - snowcamp ...
Immutability: from code to infrastructure, the way of scalability - snowcamp ...Immutability: from code to infrastructure, the way of scalability - snowcamp ...
Immutability: from code to infrastructure, the way of scalability - snowcamp ...Quentin Adam
 
DataIntensiveComputing.pdf
DataIntensiveComputing.pdfDataIntensiveComputing.pdf
DataIntensiveComputing.pdfBrahmam8
 
High Performance Drupal
High Performance DrupalHigh Performance Drupal
High Performance DrupalChapter Three
 
Industrial Data Science
Industrial Data ScienceIndustrial Data Science
Industrial Data ScienceNiko Vuokko
 
Agile Data Science: Building Hadoop Analytics Applications
Agile Data Science: Building Hadoop Analytics ApplicationsAgile Data Science: Building Hadoop Analytics Applications
Agile Data Science: Building Hadoop Analytics ApplicationsRussell Jurney
 
SQL Server High Availability and DR - Too Many Choices!
SQL Server High Availability and DR - Too Many Choices!SQL Server High Availability and DR - Too Many Choices!
SQL Server High Availability and DR - Too Many Choices!Mike Walsh
 

Similar to Dotscale2013 : How to scale ? (20)

How to scale your app and win the cloud challenge
How to scale your app and win the cloud challenge How to scale your app and win the cloud challenge
How to scale your app and win the cloud challenge
 
How to scale your applications ? - #bzhcamp
How to scale your applications ? - #bzhcampHow to scale your applications ? - #bzhcamp
How to scale your applications ? - #bzhcamp
 
Some advice from the guy who handle your applications uptime - scalaIO 2013
Some advice from the guy who handle your applications uptime - scalaIO 2013Some advice from the guy who handle your applications uptime - scalaIO 2013
Some advice from the guy who handle your applications uptime - scalaIO 2013
 
Roman Rehak: 24/7 Database Administration + Database Mail Unleashed
Roman Rehak: 24/7 Database Administration + Database Mail UnleashedRoman Rehak: 24/7 Database Administration + Database Mail Unleashed
Roman Rehak: 24/7 Database Administration + Database Mail Unleashed
 
Workers and Event processors that Scale
Workers and Event processors that ScaleWorkers and Event processors that Scale
Workers and Event processors that Scale
 
Scaling SQL Write-Master Database Clusters With Redis Labs: Erik Brandsberg
Scaling SQL Write-Master Database Clusters With Redis Labs: Erik BrandsbergScaling SQL Write-Master Database Clusters With Redis Labs: Erik Brandsberg
Scaling SQL Write-Master Database Clusters With Redis Labs: Erik Brandsberg
 
SQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should KnowSQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should Know
 
Intro to event sourcing and CQRS
Intro to event sourcing and CQRS Intro to event sourcing and CQRS
Intro to event sourcing and CQRS
 
From delivering plugins to delivering "as a Service" - Atlassian connect 2017
From delivering plugins to delivering "as a Service" - Atlassian connect 2017From delivering plugins to delivering "as a Service" - Atlassian connect 2017
From delivering plugins to delivering "as a Service" - Atlassian connect 2017
 
You don't want to do it like that
You don't want to do it like thatYou don't want to do it like that
You don't want to do it like that
 
Agile Data: Building Hadoop Analytics Applications
Agile Data: Building Hadoop Analytics ApplicationsAgile Data: Building Hadoop Analytics Applications
Agile Data: Building Hadoop Analytics Applications
 
MapReduce succinctly
MapReduce succinctlyMapReduce succinctly
MapReduce succinctly
 
Data modeling trends for analytics
Data modeling trends for analyticsData modeling trends for analytics
Data modeling trends for analytics
 
Immutability: from code to infrastructure, the way of scalability - snowcamp ...
Immutability: from code to infrastructure, the way of scalability - snowcamp ...Immutability: from code to infrastructure, the way of scalability - snowcamp ...
Immutability: from code to infrastructure, the way of scalability - snowcamp ...
 
DataIntensiveComputing.pdf
DataIntensiveComputing.pdfDataIntensiveComputing.pdf
DataIntensiveComputing.pdf
 
High Performance Drupal
High Performance DrupalHigh Performance Drupal
High Performance Drupal
 
Industrial Data Science
Industrial Data ScienceIndustrial Data Science
Industrial Data Science
 
Agile Data Science: Building Hadoop Analytics Applications
Agile Data Science: Building Hadoop Analytics ApplicationsAgile Data Science: Building Hadoop Analytics Applications
Agile Data Science: Building Hadoop Analytics Applications
 
Meetup 25/04/19: Big Data
Meetup 25/04/19: Big Data Meetup 25/04/19: Big Data
Meetup 25/04/19: Big Data
 
SQL Server High Availability and DR - Too Many Choices!
SQL Server High Availability and DR - Too Many Choices!SQL Server High Availability and DR - Too Many Choices!
SQL Server High Availability and DR - Too Many Choices!
 

More from Quentin Adam

Biscuit, the cryptotoken you can share safely with your ap is
Biscuit, the cryptotoken you can share safely with your ap isBiscuit, the cryptotoken you can share safely with your ap is
Biscuit, the cryptotoken you can share safely with your ap isQuentin Adam
 
Keynot Cloud Expo Intel
Keynot Cloud Expo IntelKeynot Cloud Expo Intel
Keynot Cloud Expo IntelQuentin Adam
 
Pulsar 101 at devoxx
Pulsar 101 at devoxxPulsar 101 at devoxx
Pulsar 101 at devoxxQuentin Adam
 
Traversing hyper driven developpement to do great technical choices and make ...
Traversing hyper driven developpement to do great technical choices and make ...Traversing hyper driven developpement to do great technical choices and make ...
Traversing hyper driven developpement to do great technical choices and make ...Quentin Adam
 
How to make people work together? - ending keynote - devfest du bout du monde...
How to make people work together? - ending keynote - devfest du bout du monde...How to make people work together? - ending keynote - devfest du bout du monde...
How to make people work together? - ending keynote - devfest du bout du monde...Quentin Adam
 
Remove centralization on Authorization - API Days Paris 2018 (announcement fo...
Remove centralization on Authorization - API Days Paris 2018 (announcement fo...Remove centralization on Authorization - API Days Paris 2018 (announcement fo...
Remove centralization on Authorization - API Days Paris 2018 (announcement fo...Quentin Adam
 
PostgreSQL is the new NoSQL - at Devoxx 2018
PostgreSQL is the new NoSQL  - at Devoxx 2018PostgreSQL is the new NoSQL  - at Devoxx 2018
PostgreSQL is the new NoSQL - at Devoxx 2018Quentin Adam
 
Hype driven architecture - keynote at devfest Toulouse 2018
Hype driven architecture - keynote at devfest Toulouse 2018Hype driven architecture - keynote at devfest Toulouse 2018
Hype driven architecture - keynote at devfest Toulouse 2018Quentin Adam
 
Real world code, why are you so ashamed? - RivieraDev 2018
Real world code, why are you so ashamed? - RivieraDev 2018Real world code, why are you so ashamed? - RivieraDev 2018
Real world code, why are you so ashamed? - RivieraDev 2018Quentin Adam
 
Monitorer l'inconnu, 1000 * 100 series par jour - talk avec @clementd à #devo...
Monitorer l'inconnu, 1000 * 100 series par jour - talk avec @clementd à #devo...Monitorer l'inconnu, 1000 * 100 series par jour - talk avec @clementd à #devo...
Monitorer l'inconnu, 1000 * 100 series par jour - talk avec @clementd à #devo...Quentin Adam
 
Comment les contrôleurs de gestion ont fuck up mon IT - Lean Kanban France 2017
Comment les contrôleurs de gestion ont fuck up mon IT - Lean Kanban France 2017Comment les contrôleurs de gestion ont fuck up mon IT - Lean Kanban France 2017
Comment les contrôleurs de gestion ont fuck up mon IT - Lean Kanban France 2017Quentin Adam
 
Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017
Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017
Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017Quentin Adam
 
Problems you’ll face in the Microservices World: Configuration, Authenticatio...
Problems you’ll face in the Microservices World: Configuration, Authenticatio...Problems you’ll face in the Microservices World: Configuration, Authenticatio...
Problems you’ll face in the Microservices World: Configuration, Authenticatio...Quentin Adam
 
MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017
MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017
MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017Quentin Adam
 
Build a reverse proxy for modern immutable infrastructure - Sozu - Devops D D...
Build a reverse proxy for modern immutable infrastructure - Sozu - Devops D D...Build a reverse proxy for modern immutable infrastructure - Sozu - Devops D D...
Build a reverse proxy for modern immutable infrastructure - Sozu - Devops D D...Quentin Adam
 
What is Clever Cloud?
What is Clever Cloud?What is Clever Cloud?
What is Clever Cloud?Quentin Adam
 
Why all my software projects are late?
Why all my software projects are late?Why all my software projects are late?
Why all my software projects are late?Quentin Adam
 
Understand immutable infrastructure, what? Why? How? - Meta-Meetup DEVOPS NIGHT
Understand immutable infrastructure, what? Why? How? - Meta-Meetup DEVOPS NIGHT Understand immutable infrastructure, what? Why? How? - Meta-Meetup DEVOPS NIGHT
Understand immutable infrastructure, what? Why? How? - Meta-Meetup DEVOPS NIGHT Quentin Adam
 
What is systemd? Why use it? how does it work? - breizhcamp
What is systemd? Why use it? how does it work? - breizhcampWhat is systemd? Why use it? how does it work? - breizhcamp
What is systemd? Why use it? how does it work? - breizhcampQuentin Adam
 
Happy dev ... & ops
Happy dev ... & opsHappy dev ... & ops
Happy dev ... & opsQuentin Adam
 

More from Quentin Adam (20)

Biscuit, the cryptotoken you can share safely with your ap is
Biscuit, the cryptotoken you can share safely with your ap isBiscuit, the cryptotoken you can share safely with your ap is
Biscuit, the cryptotoken you can share safely with your ap is
 
Keynot Cloud Expo Intel
Keynot Cloud Expo IntelKeynot Cloud Expo Intel
Keynot Cloud Expo Intel
 
Pulsar 101 at devoxx
Pulsar 101 at devoxxPulsar 101 at devoxx
Pulsar 101 at devoxx
 
Traversing hyper driven developpement to do great technical choices and make ...
Traversing hyper driven developpement to do great technical choices and make ...Traversing hyper driven developpement to do great technical choices and make ...
Traversing hyper driven developpement to do great technical choices and make ...
 
How to make people work together? - ending keynote - devfest du bout du monde...
How to make people work together? - ending keynote - devfest du bout du monde...How to make people work together? - ending keynote - devfest du bout du monde...
How to make people work together? - ending keynote - devfest du bout du monde...
 
Remove centralization on Authorization - API Days Paris 2018 (announcement fo...
Remove centralization on Authorization - API Days Paris 2018 (announcement fo...Remove centralization on Authorization - API Days Paris 2018 (announcement fo...
Remove centralization on Authorization - API Days Paris 2018 (announcement fo...
 
PostgreSQL is the new NoSQL - at Devoxx 2018
PostgreSQL is the new NoSQL  - at Devoxx 2018PostgreSQL is the new NoSQL  - at Devoxx 2018
PostgreSQL is the new NoSQL - at Devoxx 2018
 
Hype driven architecture - keynote at devfest Toulouse 2018
Hype driven architecture - keynote at devfest Toulouse 2018Hype driven architecture - keynote at devfest Toulouse 2018
Hype driven architecture - keynote at devfest Toulouse 2018
 
Real world code, why are you so ashamed? - RivieraDev 2018
Real world code, why are you so ashamed? - RivieraDev 2018Real world code, why are you so ashamed? - RivieraDev 2018
Real world code, why are you so ashamed? - RivieraDev 2018
 
Monitorer l'inconnu, 1000 * 100 series par jour - talk avec @clementd à #devo...
Monitorer l'inconnu, 1000 * 100 series par jour - talk avec @clementd à #devo...Monitorer l'inconnu, 1000 * 100 series par jour - talk avec @clementd à #devo...
Monitorer l'inconnu, 1000 * 100 series par jour - talk avec @clementd à #devo...
 
Comment les contrôleurs de gestion ont fuck up mon IT - Lean Kanban France 2017
Comment les contrôleurs de gestion ont fuck up mon IT - Lean Kanban France 2017Comment les contrôleurs de gestion ont fuck up mon IT - Lean Kanban France 2017
Comment les contrôleurs de gestion ont fuck up mon IT - Lean Kanban France 2017
 
Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017
Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017
Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017
 
Problems you’ll face in the Microservices World: Configuration, Authenticatio...
Problems you’ll face in the Microservices World: Configuration, Authenticatio...Problems you’ll face in the Microservices World: Configuration, Authenticatio...
Problems you’ll face in the Microservices World: Configuration, Authenticatio...
 
MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017
MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017
MONITORING THE UNKNOWN, 1000*100 SERIES A DAY - DEVOXX MOROCCO 2017
 
Build a reverse proxy for modern immutable infrastructure - Sozu - Devops D D...
Build a reverse proxy for modern immutable infrastructure - Sozu - Devops D D...Build a reverse proxy for modern immutable infrastructure - Sozu - Devops D D...
Build a reverse proxy for modern immutable infrastructure - Sozu - Devops D D...
 
What is Clever Cloud?
What is Clever Cloud?What is Clever Cloud?
What is Clever Cloud?
 
Why all my software projects are late?
Why all my software projects are late?Why all my software projects are late?
Why all my software projects are late?
 
Understand immutable infrastructure, what? Why? How? - Meta-Meetup DEVOPS NIGHT
Understand immutable infrastructure, what? Why? How? - Meta-Meetup DEVOPS NIGHT Understand immutable infrastructure, what? Why? How? - Meta-Meetup DEVOPS NIGHT
Understand immutable infrastructure, what? Why? How? - Meta-Meetup DEVOPS NIGHT
 
What is systemd? Why use it? how does it work? - breizhcamp
What is systemd? Why use it? how does it work? - breizhcampWhat is systemd? Why use it? how does it work? - breizhcamp
What is systemd? Why use it? how does it work? - breizhcamp
 
Happy dev ... & ops
Happy dev ... & opsHappy dev ... & ops
Happy dev ... & ops
 

Recently uploaded

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Recently uploaded (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Dotscale2013 : How to scale ?

  • 1. SCALING, WHAT YOU NEED TO KNOW QUENTIN ADAM @WAXZCE CLEVER CLOUD CEO 2013
  • 3. GROWING AND GROWING UNTIL YOU EXPLODE OR BECOME WEIRD
  • 4. OR SPLIT THE WORK AND MAKE YOUR SOFTWARE WORK AS A TEAM
  • 5. Build an army of fat app YOU CAN DO BOTH
  • 6. SO WE NEED TO BE ABLE TO DISPATCH THE WORK SCALE OUT •  Many workers doing the same thing •  No SPOF •  Growing is more easy •  Introduce best practice SCALE UP •  1 Fat instance •  1 Fat application •  SPOF (single point of failure) •  Hard to maintain •  Always has a limit •  Short term meaning
  • 7. SO, HOW TO SCALE OUT ? JUST SOME FACTS
  • 9. Picking one instance or another doesn’t matter STATELESSNESS IS THE KEY
  • 10. CONSIDER MORE THINGS AS DATA •  User account •  Users data •  Files •  Sessions •  Events
  • 12. DATASTORE CHOICES ARE DRIVEN BY USAGE Make decisions based on needs Do I need atomicity of requests ? Do I need concurrent access ? Do I mostly read or write ? Do I need relational ? Do I need big storage capacity ? Do I need high availability ?
  • 13. •  Not a big volume •  DB have to manage data TTL •  Data model : K/V •  Multiple writes at the same time •  High availability I need to store sessions QUICK EXAMPLE
  • 14. •  Not a big volume It’s OK, PG can handle small quantity of data •  DB have to manage data TTL No, I have to do it manually •  Data model : K/V No, PG is relational (mainly) •  Multiple writes at the same time No, PG is Atomic •  High availability PG is awesome ;-) Use of PG bouncer or similar allow good clustering I need to store sessions QUICK EXAMPLE
  • 15. •  Not a big volume It’s OK, redis can handle small quantity of data •  DB have to manage data TTL Yes Redis can do it •  Data model : K/V Yes •  Multiple writes at the same time No, redis is pseudo Atomic (master/slave) •  High availability Redis is great, but cauterization is rude… I need to store sessions QUICK EXAMPLE
  • 16. •  Not a big volume It’s OK, redis can handle small quantity of data •  DB have to manage data TTL Yes redis can do it •  Data model : K/V Yes •  Multiple writes at the same time OK, this is possible with memcached protocol •  High availability Clustering is built in, no downtime J I need to store sessions QUICK EXAMPLE
  • 17. USE ONLINE DATABASE / BE READY TO TEST IN JUST A FEW MINUTES NO NEED TO TRASH YOUR COMPUTER
  • 19. DO NOT USE A TECHNOLOGY BECAUSE YOU <3 IT OR BECAUSE IT’S HYPE : USE IT BECAUSE IT FITS YOUR NEEDS BALANCE YOUR LEARNING CURVE WITH THE TIME SAVED
  • 20. DO NOT CREATE MONSTERS
  • 22. DO NOT USE MEMORY AS DATABASE LIKE : SHARED / GLOBAL VARIABLE, CACHE “IN THE CODE”, INTENSIVE SESSION USAGE…
  • 23.
  • 24. DO NOT USE A VARIABLE FOR MORE THAN ONE REQUEST
  • 25. 2 + 2 = 4 FOR SAME INPUT, SAME OUTPUT
  • 26. And data will be lost CODE WILL FAIL
  • 27. DO NOT USE FILE SYSTEM AS DATASTORE File system are POSIX compliant •  POSIX is ACID •  POSIX is powerful but is bottleneck •  File System is nightmare of ops •  File System is create coupling (host provider/OS/language) •  Free SPOF multi tenant File System is a unicorn STORE IN DATABASE, OR DATASTORE LIKE S3 (AWS) DEDICATED TO FILE MANAGEMENT
  • 29. SPLIT THE CODE : MODULES •  Smallest code base •  Deploy as service for each other •  Focus on best technology for a problem
  • 30. USE EVENT BROKER TO MODULARIZE YOUR APP •  AMQP •  Celery •  0MQ •  Redis •  JMS •  Some case : hadoop, akka… •  … CRON is not an event queue
  • 32. ALWAYS USE A REVERSE PROXY Y U NOT USE ONE ?
  • 35. TRACK BUG & GET METRICS
  • 36. Quentin ADAM Twitter : @waxzce THX FOR LISTENING & QUESTIONS TIME clever c l o u d