SlideShare a Scribd company logo
Scaling to Millions
Ray Ramjiawan
Software Engineer
February 2017
Ray Ramjiawan
2
ray@do.co
@rayram23
About DigitalOcean
The cloud for developers
DigitalOcean is an IaaS company that
delivers the fastest and easiest way
for developers and businesses to
deploy and scale their applications in
the cloud.
We’re are building for the needs of
the developer because we believe
that they are the future.
2011
founded in New York City
285+
employees
750K+
registered customers
30M+
Droplets (cloud servers)
launched to date
$123M+
funding raised
2nd
largest and fastest
growing cloud provider
according to Netcraft
Our Investors
Company Facts
3
Our Mission
4
Simplify infrastructure and
create an experience that
developers love.
5
6
Where do we start?
8
9
Single Server Architecture
Application Server
SQL DB
User Content
Cache
Where do we run our application?
13
14
15
16
17
Full Cache
Public Release
Random Cat
of the Day
Full Disk
Today
Recommended
Cats
18
Resize
● 64GB RAM
● 640GB SSD
● Droplet Unchanged
High Memory
● 224 GB RAM
● 500GB SSD
● Brand New Instance
19
Application Deployment
20
26
27
● Add to a running droplet
● Live resizable
● Built in Alerting
● Preconfigured up to 16TB
Block storage
28
Demo Time
30
Application Server
High Memory /
Cache
Block Storage
32
Service Discovery
33
Droplet Tagging
34
Load Balancers
35
Application Server
High Memory /
Cache
Block Storage
37
38
39
40
41
Droplet Creation
Resizing
Monitoring and Agent
Floating IPs
Snapshots and Backups
High Memory
Tagging
Load Balancer
42
Pro Tips
43
Graphs > Logs
44
45
Don’t Scale
(too soon)
46
Trace Everything
5s
48

More Related Content

What's hot

Enhancing web applications with cloud intelligence
Enhancing web applications with cloud intelligenceEnhancing web applications with cloud intelligence
Enhancing web applications with cloud intelligence
Michel HUBERT
 
Hybrid integration and the power of Azure services (Jon Fancey at CONNECT17)
Hybrid integration and the power of Azure services (Jon Fancey at CONNECT17)Hybrid integration and the power of Azure services (Jon Fancey at CONNECT17)
Hybrid integration and the power of Azure services (Jon Fancey at CONNECT17)
Codit
 
Working With Containers In The Enterprise
Working With Containers In The EnterpriseWorking With Containers In The Enterprise
Working With Containers In The Enterprise
OpsRamp
 
OWF13 - October 3 - Raphael Ferreira
OWF13 - October 3 - Raphael FerreiraOWF13 - October 3 - Raphael Ferreira
OWF13 - October 3 - Raphael Ferreira
Paris Open Source Summit
 
Why Docker, Why Now?
Why Docker, Why Now?Why Docker, Why Now?
Why Docker, Why Now?
Bret Fisher
 
MongoDB World 2016: Lunch & Learn: Google Cloud for the Enterprise
MongoDB World 2016: Lunch & Learn: Google Cloud for the EnterpriseMongoDB World 2016: Lunch & Learn: Google Cloud for the Enterprise
MongoDB World 2016: Lunch & Learn: Google Cloud for the Enterprise
MongoDB
 
ironSource Atom BigData New-York
ironSource Atom BigData New-YorkironSource Atom BigData New-York
ironSource Atom BigData New-York
Shimon Tolts
 
ironSource Atom BigData Berlin
ironSource Atom BigData BerlinironSource Atom BigData Berlin
ironSource Atom BigData Berlin
Shimon Tolts
 
Pivoting to Cloud: How an MSP Brokers Cloud Services
Pivoting to Cloud: How an MSP Brokers Cloud Services Pivoting to Cloud: How an MSP Brokers Cloud Services
Pivoting to Cloud: How an MSP Brokers Cloud Services
RightScale
 
Discover how the cloud will empower every organization on the planet to achie...
Discover how the cloud will empower every organization on the planet to achie...Discover how the cloud will empower every organization on the planet to achie...
Discover how the cloud will empower every organization on the planet to achie...
Codit
 
Search for All with Elastic Workplace Search
Search for All with Elastic Workplace Search Search for All with Elastic Workplace Search
Search for All with Elastic Workplace Search
Elasticsearch
 
DevOps Tooling & Policy as a Way for Government Modernization | AWS Public Se...
DevOps Tooling & Policy as a Way for Government Modernization | AWS Public Se...DevOps Tooling & Policy as a Way for Government Modernization | AWS Public Se...
DevOps Tooling & Policy as a Way for Government Modernization | AWS Public Se...
Amazon Web Services
 
Cloud Native Demystified: Build Once, Run Anywhere!
Cloud Native Demystified: Build Once, Run Anywhere!Cloud Native Demystified: Build Once, Run Anywhere!
Cloud Native Demystified: Build Once, Run Anywhere!
Codit
 
Cloud Con 2015 - Integration & Web APIs
Cloud Con 2015 - Integration & Web APIsCloud Con 2015 - Integration & Web APIs
Cloud Con 2015 - Integration & Web APIs
SnapLogic
 
[Webinar] When It Comes To Cloud, Great Power Brings Great Responsibility
[Webinar] When It Comes To Cloud, Great Power Brings Great Responsibility[Webinar] When It Comes To Cloud, Great Power Brings Great Responsibility
[Webinar] When It Comes To Cloud, Great Power Brings Great Responsibility
OpsRamp
 
Application Evolution Strategy
Application Evolution StrategyApplication Evolution Strategy
Application Evolution Strategy
Eran Stiller
 
Cloud computing
Cloud computingCloud computing
Cloud computing
Thor Tolo
 
AWS re:Invent 2016: Introduction to AWS IoT in the Cloud (IOT204)
AWS re:Invent 2016: Introduction to AWS IoT in the Cloud (IOT204)AWS re:Invent 2016: Introduction to AWS IoT in the Cloud (IOT204)
AWS re:Invent 2016: Introduction to AWS IoT in the Cloud (IOT204)
Amazon Web Services
 
Analytics in the Cloud: Getting The Most Out Of Analytics Deployments
Analytics in the Cloud: Getting The Most Out Of Analytics DeploymentsAnalytics in the Cloud: Getting The Most Out Of Analytics Deployments
Analytics in the Cloud: Getting The Most Out Of Analytics Deployments
VMware Tanzu
 
Search for All with Elastic Workplace Search
Search for All with Elastic Workplace SearchSearch for All with Elastic Workplace Search
Search for All with Elastic Workplace Search
Elasticsearch
 

What's hot (20)

Enhancing web applications with cloud intelligence
Enhancing web applications with cloud intelligenceEnhancing web applications with cloud intelligence
Enhancing web applications with cloud intelligence
 
Hybrid integration and the power of Azure services (Jon Fancey at CONNECT17)
Hybrid integration and the power of Azure services (Jon Fancey at CONNECT17)Hybrid integration and the power of Azure services (Jon Fancey at CONNECT17)
Hybrid integration and the power of Azure services (Jon Fancey at CONNECT17)
 
Working With Containers In The Enterprise
Working With Containers In The EnterpriseWorking With Containers In The Enterprise
Working With Containers In The Enterprise
 
OWF13 - October 3 - Raphael Ferreira
OWF13 - October 3 - Raphael FerreiraOWF13 - October 3 - Raphael Ferreira
OWF13 - October 3 - Raphael Ferreira
 
Why Docker, Why Now?
Why Docker, Why Now?Why Docker, Why Now?
Why Docker, Why Now?
 
MongoDB World 2016: Lunch & Learn: Google Cloud for the Enterprise
MongoDB World 2016: Lunch & Learn: Google Cloud for the EnterpriseMongoDB World 2016: Lunch & Learn: Google Cloud for the Enterprise
MongoDB World 2016: Lunch & Learn: Google Cloud for the Enterprise
 
ironSource Atom BigData New-York
ironSource Atom BigData New-YorkironSource Atom BigData New-York
ironSource Atom BigData New-York
 
ironSource Atom BigData Berlin
ironSource Atom BigData BerlinironSource Atom BigData Berlin
ironSource Atom BigData Berlin
 
Pivoting to Cloud: How an MSP Brokers Cloud Services
Pivoting to Cloud: How an MSP Brokers Cloud Services Pivoting to Cloud: How an MSP Brokers Cloud Services
Pivoting to Cloud: How an MSP Brokers Cloud Services
 
Discover how the cloud will empower every organization on the planet to achie...
Discover how the cloud will empower every organization on the planet to achie...Discover how the cloud will empower every organization on the planet to achie...
Discover how the cloud will empower every organization on the planet to achie...
 
Search for All with Elastic Workplace Search
Search for All with Elastic Workplace Search Search for All with Elastic Workplace Search
Search for All with Elastic Workplace Search
 
DevOps Tooling & Policy as a Way for Government Modernization | AWS Public Se...
DevOps Tooling & Policy as a Way for Government Modernization | AWS Public Se...DevOps Tooling & Policy as a Way for Government Modernization | AWS Public Se...
DevOps Tooling & Policy as a Way for Government Modernization | AWS Public Se...
 
Cloud Native Demystified: Build Once, Run Anywhere!
Cloud Native Demystified: Build Once, Run Anywhere!Cloud Native Demystified: Build Once, Run Anywhere!
Cloud Native Demystified: Build Once, Run Anywhere!
 
Cloud Con 2015 - Integration & Web APIs
Cloud Con 2015 - Integration & Web APIsCloud Con 2015 - Integration & Web APIs
Cloud Con 2015 - Integration & Web APIs
 
[Webinar] When It Comes To Cloud, Great Power Brings Great Responsibility
[Webinar] When It Comes To Cloud, Great Power Brings Great Responsibility[Webinar] When It Comes To Cloud, Great Power Brings Great Responsibility
[Webinar] When It Comes To Cloud, Great Power Brings Great Responsibility
 
Application Evolution Strategy
Application Evolution StrategyApplication Evolution Strategy
Application Evolution Strategy
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
AWS re:Invent 2016: Introduction to AWS IoT in the Cloud (IOT204)
AWS re:Invent 2016: Introduction to AWS IoT in the Cloud (IOT204)AWS re:Invent 2016: Introduction to AWS IoT in the Cloud (IOT204)
AWS re:Invent 2016: Introduction to AWS IoT in the Cloud (IOT204)
 
Analytics in the Cloud: Getting The Most Out Of Analytics Deployments
Analytics in the Cloud: Getting The Most Out Of Analytics DeploymentsAnalytics in the Cloud: Getting The Most Out Of Analytics Deployments
Analytics in the Cloud: Getting The Most Out Of Analytics Deployments
 
Search for All with Elastic Workplace Search
Search for All with Elastic Workplace SearchSearch for All with Elastic Workplace Search
Search for All with Elastic Workplace Search
 

Similar to Hatch the build blocks; scaling to millions v.1

Level up your SQL and Azure, by using Rubrik
Level up your SQL and Azure, by using RubrikLevel up your SQL and Azure, by using Rubrik
Level up your SQL and Azure, by using Rubrik
Jaap Brasser
 
Maximum Overdrive: How Cloud-Born Data Changes the Game
Maximum Overdrive: How Cloud-Born Data Changes the GameMaximum Overdrive: How Cloud-Born Data Changes the Game
Maximum Overdrive: How Cloud-Born Data Changes the Game
Inside Analysis
 
Global Manufacturer Finds Its’ Sweet Spot For Network Monitoring With Exoprise
Global Manufacturer Finds Its’ Sweet Spot For Network Monitoring With ExopriseGlobal Manufacturer Finds Its’ Sweet Spot For Network Monitoring With Exoprise
Global Manufacturer Finds Its’ Sweet Spot For Network Monitoring With Exoprise
SidharthKumar13
 
Bahrain ch9 introduction to docker 5th birthday
Bahrain ch9 introduction to docker 5th birthday Bahrain ch9 introduction to docker 5th birthday
Bahrain ch9 introduction to docker 5th birthday
Walid Shaari
 
Achieving Target State Architecture in NetApp IT
Achieving Target State Architecture in NetApp ITAchieving Target State Architecture in NetApp IT
Achieving Target State Architecture in NetApp IT
NetApp
 
Achieving a Target State Architecture
Achieving a Target State ArchitectureAchieving a Target State Architecture
Achieving a Target State Architecture
Ruben Klein Haneveld
 
3 Steps to Accelerate to Cloud
3 Steps to Accelerate to Cloud3 Steps to Accelerate to Cloud
3 Steps to Accelerate to Cloud
RightScale
 
Continuuity Presents at Under the Radar 2013
Continuuity Presents at Under the Radar 2013Continuuity Presents at Under the Radar 2013
Continuuity Presents at Under the Radar 2013
Dealmaker Media
 
RightScale Roadtrip Boston: Accelerate to Cloud
RightScale Roadtrip Boston: Accelerate to CloudRightScale Roadtrip Boston: Accelerate to Cloud
RightScale Roadtrip Boston: Accelerate to Cloud
RightScale
 
JASPERSOFT LIVE DEMO - NAM
JASPERSOFT LIVE DEMO - NAMJASPERSOFT LIVE DEMO - NAM
JASPERSOFT LIVE DEMO - NAM
TIBCO Jaspersoft
 
Big Memory Webcast
Big Memory WebcastBig Memory Webcast
Big Memory Webcast
MemVerge
 
Webinar_102317_Heffner.ppt
Webinar_102317_Heffner.pptWebinar_102317_Heffner.ppt
Webinar_102317_Heffner.ppt
ssuserc04f7b
 
[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석
[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석
[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석
Amazon Web Services Korea
 
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
marksimpsongw
 
SQL Server 2014 New Features
SQL Server 2014 New FeaturesSQL Server 2014 New Features
SQL Server 2014 New Features
Onomi
 
First Tech: From bricks and mortar to cloud first api driven banking
First Tech: From bricks and mortar to cloud first api driven bankingFirst Tech: From bricks and mortar to cloud first api driven banking
First Tech: From bricks and mortar to cloud first api driven banking
Dynatrace
 
Innovate Faster with Salesforce Heroku and AWS - CMP303 - re:Invent 2017
Innovate Faster with Salesforce Heroku and AWS - CMP303 - re:Invent 2017Innovate Faster with Salesforce Heroku and AWS - CMP303 - re:Invent 2017
Innovate Faster with Salesforce Heroku and AWS - CMP303 - re:Invent 2017
Amazon Web Services
 
Achieve True Hybrid Cloud with Azure - Built for Scale, Security and Interope...
Achieve True Hybrid Cloud with Azure - Built for Scale, Security and Interope...Achieve True Hybrid Cloud with Azure - Built for Scale, Security and Interope...
Achieve True Hybrid Cloud with Azure - Built for Scale, Security and Interope...
Cloudify Community
 
An Introduction to Talend Integration Cloud
An Introduction to Talend Integration CloudAn Introduction to Talend Integration Cloud
An Introduction to Talend Integration Cloud
Talend
 
Big Data Companies and Apache Software
Big Data Companies and Apache SoftwareBig Data Companies and Apache Software
Big Data Companies and Apache Software
Bob Marcus
 

Similar to Hatch the build blocks; scaling to millions v.1 (20)

Level up your SQL and Azure, by using Rubrik
Level up your SQL and Azure, by using RubrikLevel up your SQL and Azure, by using Rubrik
Level up your SQL and Azure, by using Rubrik
 
Maximum Overdrive: How Cloud-Born Data Changes the Game
Maximum Overdrive: How Cloud-Born Data Changes the GameMaximum Overdrive: How Cloud-Born Data Changes the Game
Maximum Overdrive: How Cloud-Born Data Changes the Game
 
Global Manufacturer Finds Its’ Sweet Spot For Network Monitoring With Exoprise
Global Manufacturer Finds Its’ Sweet Spot For Network Monitoring With ExopriseGlobal Manufacturer Finds Its’ Sweet Spot For Network Monitoring With Exoprise
Global Manufacturer Finds Its’ Sweet Spot For Network Monitoring With Exoprise
 
Bahrain ch9 introduction to docker 5th birthday
Bahrain ch9 introduction to docker 5th birthday Bahrain ch9 introduction to docker 5th birthday
Bahrain ch9 introduction to docker 5th birthday
 
Achieving Target State Architecture in NetApp IT
Achieving Target State Architecture in NetApp ITAchieving Target State Architecture in NetApp IT
Achieving Target State Architecture in NetApp IT
 
Achieving a Target State Architecture
Achieving a Target State ArchitectureAchieving a Target State Architecture
Achieving a Target State Architecture
 
3 Steps to Accelerate to Cloud
3 Steps to Accelerate to Cloud3 Steps to Accelerate to Cloud
3 Steps to Accelerate to Cloud
 
Continuuity Presents at Under the Radar 2013
Continuuity Presents at Under the Radar 2013Continuuity Presents at Under the Radar 2013
Continuuity Presents at Under the Radar 2013
 
RightScale Roadtrip Boston: Accelerate to Cloud
RightScale Roadtrip Boston: Accelerate to CloudRightScale Roadtrip Boston: Accelerate to Cloud
RightScale Roadtrip Boston: Accelerate to Cloud
 
JASPERSOFT LIVE DEMO - NAM
JASPERSOFT LIVE DEMO - NAMJASPERSOFT LIVE DEMO - NAM
JASPERSOFT LIVE DEMO - NAM
 
Big Memory Webcast
Big Memory WebcastBig Memory Webcast
Big Memory Webcast
 
Webinar_102317_Heffner.ppt
Webinar_102317_Heffner.pptWebinar_102317_Heffner.ppt
Webinar_102317_Heffner.ppt
 
[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석
[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석
[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석
 
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
 
SQL Server 2014 New Features
SQL Server 2014 New FeaturesSQL Server 2014 New Features
SQL Server 2014 New Features
 
First Tech: From bricks and mortar to cloud first api driven banking
First Tech: From bricks and mortar to cloud first api driven bankingFirst Tech: From bricks and mortar to cloud first api driven banking
First Tech: From bricks and mortar to cloud first api driven banking
 
Innovate Faster with Salesforce Heroku and AWS - CMP303 - re:Invent 2017
Innovate Faster with Salesforce Heroku and AWS - CMP303 - re:Invent 2017Innovate Faster with Salesforce Heroku and AWS - CMP303 - re:Invent 2017
Innovate Faster with Salesforce Heroku and AWS - CMP303 - re:Invent 2017
 
Achieve True Hybrid Cloud with Azure - Built for Scale, Security and Interope...
Achieve True Hybrid Cloud with Azure - Built for Scale, Security and Interope...Achieve True Hybrid Cloud with Azure - Built for Scale, Security and Interope...
Achieve True Hybrid Cloud with Azure - Built for Scale, Security and Interope...
 
An Introduction to Talend Integration Cloud
An Introduction to Talend Integration CloudAn Introduction to Talend Integration Cloud
An Introduction to Talend Integration Cloud
 
Big Data Companies and Apache Software
Big Data Companies and Apache SoftwareBig Data Companies and Apache Software
Big Data Companies and Apache Software
 

Recently uploaded

Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Envertis Software Solutions
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Mobile app Development Services | Drona Infotech
Mobile app Development Services  | Drona InfotechMobile app Development Services  | Drona Infotech
Mobile app Development Services | Drona Infotech
Drona Infotech
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
ssuserad3af4
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 

Recently uploaded (20)

Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Mobile app Development Services | Drona Infotech
Mobile app Development Services  | Drona InfotechMobile app Development Services  | Drona Infotech
Mobile app Development Services | Drona Infotech
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 

Hatch the build blocks; scaling to millions v.1

Editor's Notes

  1. The compute team is responsible for placing the droplet Configuring it with the right amount of memory, cpu, and hdd Connecting it with networking
  2. DigitalOcean is a IaaS provider What does that mean That means when you need hardware to run your applications there is no need to manage that on your own Never need to place an order for more memory or a bigger HD, etc DO runs software on a fleet of thousands of hypervisors that can provide the hardware that you need with flexibility
  3. DigitalOcean focuses on simplicity. Our goal is to offer the primitives and building blocks that will help you build the most successful product
  4. DigitalOcean has some great products We won’t be able to get to all of them today so feel free so shoot me an email or grab me after the talk to ask any questions you may have. In my opinion just telling you about the products won’t really tell you about their best uses Instead we will walk through a new product we are building and introduce scenarios where using digital ocean as your infrastructure provider proves to be most beneficial So lets start a company, we hit some bumps in the road, put out some fires and grow our company to a global scale that can will support millions of users Following this ill leave some time at the end for lessons learned during my time at DO and working with large scale distributed systems in general And some time for questions at the end So where do we start?
  5. We get started like any other company does. With a great idea! You get this amazing idea. You do some research and realize no one else is doing this. You vet your idea to some close friends So what do you do? How do you get started? Well If you’re anything like me….
  6. We get started like any other company does. With a great idea! You get this amazing idea. You do some research and realize no one else is doing this. You vet your idea to some close friends So what do you do? How do you get started? Well If youre anything like me….
  7. You run to your computer and quickly slap something together to see what can get done and possibly garner some interest for prospective investors This leads me into a bit of who this talk is for today If you are an engineer this talk is for you. If you are not an engineer dont feel intimidated. This talk will stay at a high level and at the end we have time to answer any questions. So you spend some hours coding.. You write some unit tests (hopefully) and even some integration tests.. And you wind up with something that looks like this...
  8. After hours and possibly days of coding your architecture looks something like this. An application server that customers can connect to. And a Database that can store all of your data. Your application server has many purposes. It stores and retrieves data from your database. It does some business logic. Hosts you static content like images. CSS, and java script files. And it Works. Most importantly this setup works. And lets say theortically this supports 200 concurrent users.
  9. We get started like any other company does. With a great idea! You get this amazing idea. You do some research and realize no one else is doing this. You vet your idea to some close friends So what do you do? How do you get started? Well If youre anything like me….
  10. After hours and possibly days of coding your architecture looks something like this. An application server that customers can connect to. And a Database that can store all of your data. Your application server has many purposes. It stores and retrieves data from your database. It does some business logic. Hosts you static content like images. CSS, and java script files. And it Works. Most importantly this setup works. And lets say theortically this supports 200 concurrent users.
  11. After hours and possibly days of coding your architecture looks something like this. An application server that customers can connect to. And a Database that can store all of your data. Your application server has many purposes. It stores and retrieves data from your database. It does some business logic. Hosts you static content like images. CSS, and java script files. And it Works. Most importantly this setup works. And lets say theortically this supports 200 concurrent users.
  12. The first product i would like to introduce today is graphs Graphs can provide deep insights into your running droplet, provides cpu, disk i/o, memory utilization, and bandwidth utilization. With more to come. Allows real time alerting via slack and email Using graphs we were able to verify that we can support 200 concurrent users. That seems like a good place to start for our product.
  13. The first product i would like to introduce today is graphs Graphs can provide deep insights into your running droplet, provides cpu, disk i/o, memory utilization, and bandwidth utilization. With more to come. Allows real time alerting via slack and email Using graphs we were able to verify that we can support 200 concurrent users. That seems like a good place to start for our product.
  14. The first product i would like to introduce today is graphs Graphs can provide deep insights into your running droplet, provides cpu, disk i/o, memory utilization, and bandwidth utilization. With more to come. Allows real time alerting via slack and email Using graphs we were able to verify that we can support 200 concurrent users. That seems like a good place to start for our product.
  15. The first product i would like to introduce today is graphs Graphs can provide deep insights into your running droplet, provides cpu, disk i/o, memory utilization, and bandwidth utilization. With more to come. Allows real time alerting via slack and email Using graphs we were able to verify that we can support 200 concurrent users. That seems like a good place to start for our product.
  16. As a visual aid, here is a graph of your daily active users with projections you have done Some killer features you have added consistently bring on more users so we can project out You are even in talks with some other start ups and small companies to offer your product to them But wait… We know we can only support 200 concurrent users.. What do we do when we go above that number. No way we can afford to lose the customers we just added At this point our system going down is just not allowed
  17. Well lets just make our droplet larger. We have two options. The first is a simple resize You can resize your droplets memory and CPU all the way up to 64GB and 20 CPUs Droplet is unchanged. Networking stays the same, file system untouched. Our Second option Is a move to one of our high memory plans Up to 224 GB of memory and 32 Cores Since we are going with a new instance by using high memory plans, let’s take this opportunity to address some pain points with our current setup Every Time we deploy our code we have to stop our application. Deploy the new code.
  18. Well lets just make our droplet larger. We have two options. The first is a simple resize You can resize your droplets memory and CPU all the way up to 64GB and 20 CPUs Droplet is unchanged. Networking stays the same, file system untouched. Our Second option Is a move to one of our high memory plans Up to 224 GB of memory and 32 Cores Since we are going with a new instance by using high memory plans, let’s take this opportunity to address some pain points with our current setup Every Time we deploy our code we have to stop our application. Deploy the new code.
  19. Well lets just make our droplet larger. We have two options. The first is a simple resize You can resize your droplets memory and CPU all the way up to 64GB and 20 CPUs Droplet is unchanged. Networking stays the same, file system untouched. Our Second option Is a move to one of our high memory plans Up to 224 GB of memory and 32 Cores Since we are going with a new instance by using high memory plans, let’s take this opportunity to address some pain points with our current setup Every Time we deploy our code we have to stop our application. Deploy the new code.
  20. Floating IPs Floating IPs allow you to point traffic to a another droplet without having to update DNS. Clients never know anything has changed Now we can stand up a new instance of our application. Run some integration tests, and when we we believe everything is ok, move all traffic over to our newly deployed code.
  21. Floating IPs Floating IPs allow you to point traffic to a another droplet without having to update DNS. Clients never know anything has changed Now we can stand up a new instance of our application. Run some integration tests, and when we we believe everything is ok, move all traffic over to our newly deployed code.
  22. Floating IPs Floating IPs allow you to point traffic to a another droplet without having to update DNS. Clients never know anything has changed Now we can stand up a new instance of our application. Run some integration tests, and when we we believe everything is ok, move all traffic over to our newly deployed code.
  23. Floating IPs Floating IPs allow you to point traffic to a another droplet without having to update DNS. Clients never know anything has changed Now we can stand up a new instance of our application. Run some integration tests, and when we we believe everything is ok, move all traffic over to our newly deployed code.
  24. Floating IPs Floating IPs allow you to point traffic to a another droplet without having to update DNS. Clients never know anything has changed Now we can stand up a new instance of our application. Run some integration tests, and when we we believe everything is ok, move all traffic over to our newly deployed code.
  25. Received an alert that your disk is full After some investigation you realize it is because of user uploaded assets Even causing your application server to crash! No time to fix this as the meeting is starting soon and your prod instance is also there for your demo How do you quickly add more disk space to your droplet?
  26. Use Block storage We can quickly add a new volume to our running droplet Update configuration to point to newly mounted volume Start to take a hard look at our system A single instance going down because of disk space is simply not allowed.
  27. Up until now we have been able to increase the size of our single machine to account for new users. This is called vertical scaling or scaling up. The problem with this approach is that we will ultimately hit some limitation. That limitation is ultimately imposed by having everything running on a single machine. Machines can physically only have so much RAM and CPU. They can only support so many Network cards that give you more bandwidth.
  28. Use Block storage We can quickly add a new volume to our running droplet Update configuration to point to newly mounted volume Start to take a hard look at our system A single instance going down because of disk space is simply not allowed.
  29. Up until now we have been able to increase the size of our single machine to account for new users. This is called vertical scaling or scaling up. The problem with this approach is that we will ultimately hit some limitation. That limitation is ultimately imposed by having everything running on a single machine. Machines can physically only have so much RAM and CPU. They can only support so many Network cards that give you more bandwidth.
  30. With tagging, whenever a droplet is created we can tag it as our db replica or an instance of our application server. This makes it easy when our application server needs a connection to a db replica. Just query the tags api for droplets that have the tag they need. We can automatically update the load balancer when it was created using tags! This allows our clients to always be routed to available application servers
  31. With tagging, whenever a droplet is created we can tag it as our db replica or an instance of our application server. This makes it easy when our application server needs a connection to a db replica. Just query the tags api for droplets that have the tag they need. We can automatically update the load balancer when it was created using tags! This allows our clients to always be routed to available application servers
  32. DO Load Balancer Can configure it to be TCP, HTTP, HTTPS Uses Health Checks
  33. DO Load Balancer Can configure it to be TCP, HTTP, HTTPS Uses Health Checks
  34. Up until now we have been able to increase the size of our single machine to account for new users. This is called vertical scaling or scaling up. The problem with this approach is that we will ultimately hit some limitation. That limitation is ultimately imposed by having everything running on a single machine. Machines can physically only have so much RAM and CPU. They can only support so many Network cards that give you more bandwidth.
  35. With tagging, whenever a droplet is created we can tag it as our db replica or an instance of our application server. This makes it easy when our application server needs a connection to a db replica. Just query the tags api for droplets that have the tag they need. We can automatically update the load balancer when it was created using tags! This allows our clients to always be routed to available application servers
  36. With tagging, whenever a droplet is created we can tag it as our db replica or an instance of our application server. This makes it easy when our application server needs a connection to a db replica. Just query the tags api for droplets that have the tag they need. We can automatically update the load balancer when it was created using tags! This allows our clients to always be routed to available application servers
  37. DigitalOcean has some great products We won’t be able to get to all of them today so feel free so shoot me an email or grab me after the talk to ask any questions you may have. In my opinion just telling you about the products won’t really tell you about their best uses Instead we will walk through a new product we are building and introduce scenarios where using digital ocean as your infrastructure provider proves to be most beneficial So lets start a company, we hit some bumps in the road, put out some fires and grow our company to a global scale that can will support millions of users Following this ill leave some time at the end for lessons learned during my time at DO and working with large scale distributed systems in general And some time for questions at the end So where do we start?
  38. With tagging, whenever a droplet is created we can tag it as our db replica or an instance of our application server. This makes it easy when our application server needs a connection to a db replica. Just query the tags api for droplets that have the tag they need. We can automatically update the load balancer when it was created using tags! This allows our clients to always be routed to available application servers
  39. With tagging, whenever a droplet is created we can tag it as our db replica or an instance of our application server. This makes it easy when our application server needs a connection to a db replica. Just query the tags api for droplets that have the tag they need. We can automatically update the load balancer when it was created using tags! This allows our clients to always be routed to available application servers
  40. With tagging, whenever a droplet is created we can tag it as our db replica or an instance of our application server. This makes it easy when our application server needs a connection to a db replica. Just query the tags api for droplets that have the tag they need. We can automatically update the load balancer when it was created using tags! This allows our clients to always be routed to available application servers
  41. With tagging, whenever a droplet is created we can tag it as our db replica or an instance of our application server. This makes it easy when our application server needs a connection to a db replica. Just query the tags api for droplets that have the tag they need. We can automatically update the load balancer when it was created using tags! This allows our clients to always be routed to available application servers
  42. With tagging, whenever a droplet is created we can tag it as our db replica or an instance of our application server. This makes it easy when our application server needs a connection to a db replica. Just query the tags api for droplets that have the tag they need. We can automatically update the load balancer when it was created using tags! This allows our clients to always be routed to available application servers
  43. Up until now we have been able to increase the size of our single machine to account for new users. This is called vertical scaling or scaling up. The problem with this approach is that we will ultimately hit some limitation. That limitation is ultimately imposed by having everything running on a single machine. Machines can physically only have so much RAM and CPU. They can only support so many Network cards that give you more bandwidth.
  44. With tagging, whenever a droplet is created we can tag it as our db replica or an instance of our application server. This makes it easy when our application server needs a connection to a db replica. Just query the tags api for droplets that have the tag they need. We can automatically update the load balancer when it was created using tags! This allows our clients to always be routed to available application servers