SlideShare uma empresa Scribd logo
1 de 92
Building a Resilient Cloud
Infrastructure. From Scratch.




         by Jeremy Jarvis
           Co-founder
“The Brightbox story.”
Overview




@jeremyjarvis
Overview

• Preface: Who, what etc.




 @jeremyjarvis
Overview

• Preface: Who, what etc.
• Chapter 1: Feeling the pain




 @jeremyjarvis
Overview

• Preface: Who, what etc.
• Chapter 1: Feeling the pain
• Chapter 2: Realising an opportunity




 @jeremyjarvis
Overview

•   Preface: Who, what etc.
•   Chapter 1: Feeling the pain
•   Chapter 2: Realising an opportunity
•   Chapter 3: Design phase




    @jeremyjarvis
Overview

•   Preface: Who, what etc.
•   Chapter 1: Feeling the pain
•   Chapter 2: Realising an opportunity
•   Chapter 3: Design phase
•   Chapter 4: Let’s build this thing!




    @jeremyjarvis
Overview

•   Preface: Who, what etc.
•   Chapter 1: Feeling the pain
•   Chapter 2: Realising an opportunity
•   Chapter 3: Design phase
•   Chapter 4: Let’s build this thing!
•   Chapter 5: It’s alive!




    @jeremyjarvis
Overview

•   Preface: Who, what etc.
•   Chapter 1: Feeling the pain
•   Chapter 2: Realising an opportunity
•   Chapter 3: Design phase
•   Chapter 4: Let’s build this thing!
•   Chapter 5: It’s alive!
•   Epilogue: Some conclusions/lessons




    @jeremyjarvis
Preface.




@jeremyjarvis
Preface.

• Agile cloud infrastructure service




 @jeremyjarvis
Preface.

• Agile cloud infrastructure service
• “Multi-zone” (datacentre) architecture




 @jeremyjarvis
Preface.

• Agile cloud infrastructure service
• “Multi-zone” (datacentre) architecture
• UK-based (HQ in Leeds, DCs in Manchester)




 @jeremyjarvis
Preface.

•   Agile cloud infrastructure service
•   “Multi-zone” (datacentre) architecture
•   UK-based (HQ in Leeds, DCs in Manchester)
•   Small team (still only 10 in total)




    @jeremyjarvis
Preface.

•   Agile cloud infrastructure service
•   “Multi-zone” (datacentre) architecture
•   UK-based (HQ in Leeds, DCs in Manchester)
•   Small team (still only 10 in total)
•   Distributed team (Mainly around Leeds)




    @jeremyjarvis
Preface.

•   Agile cloud infrastructure service
•   “Multi-zone” (datacentre) architecture
•   UK-based (HQ in Leeds, DCs in Manchester)
•   Small team (still only 10 in total)
•   Distributed team (Mainly around Leeds)
•   Developer/DevOps focused (it’s who we are)




    @jeremyjarvis
Preface.

•   Agile cloud infrastructure service
•   “Multi-zone” (datacentre) architecture
•   UK-based (HQ in Leeds, DCs in Manchester)
•   Small team (still only 10 in total)
•   Distributed team (Mainly around Leeds)
•   Developer/DevOps focused (it’s who we are)
•   Profitable (for 4 yrs, built from revenue)




    @jeremyjarvis
Chapter 1: Feeling the Pain




@jeremyjarvis
Chapter 1: Feeling the Pain




@jeremyjarvis
Chapter 1: Feeling the Pain

• Launched Ruby-specific hosting service (Sep 2007)




 @jeremyjarvis
Chapter 1: Feeling the Pain

• Launched Ruby-specific hosting service (Sep 2007)
• Acquisition interest (no thanks!)




 @jeremyjarvis
Chapter 1: Feeling the Pain

• Launched Ruby-specific hosting service (Sep 2007)
• Acquisition interest (no thanks!)
• Built a good reputation, hosted apps for some large
  customers




 @jeremyjarvis
Chapter 1: Feeling the Pain

• Launched Ruby-specific hosting service (Sep 2007)
• Acquisition interest (no thanks!)
• Built a good reputation, hosted apps for some large
  customers
• Systems stable, but became unwieldy and hard for us
  to manage + we wanted to expand offering




 @jeremyjarvis
Chapter 1: Feeling the Pain

• Launched Ruby-specific hosting service (Sep 2007)
• Acquisition interest (no thanks!)
• Built a good reputation, hosted apps for some large
  customers
• Systems stable, but became unwieldy and hard for us
  to manage + we wanted to expand offering
• Began looking at existing options, nothing fitted our
  needs (e.g Eucalyptus)




 @jeremyjarvis
Chapter 1: Feeling the Pain

• Launched Ruby-specific hosting service (Sep 2007)
• Acquisition interest (no thanks!)
• Built a good reputation, hosted apps for some large
  customers
• Systems stable, but became unwieldy and hard for us
  to manage + we wanted to expand offering
• Began looking at existing options, nothing fitted our
  needs (e.g Eucalyptus)
• Decided to build our own “cloud” (Brightbox NG)


 @jeremyjarvis
Chapter 2: Realising an opportunity




@jeremyjarvis
Chapter 2: Realising an opportunity




@jeremyjarvis
Chapter 2: Realising an opportunity

• Limited options in EU/UK




 @jeremyjarvis
Chapter 2: Realising an opportunity

• Limited options in EU/UK
• If we’re building this for ourselves why not sell it?




 @jeremyjarvis
Chapter 2: Realising an opportunity

• Limited options in EU/UK
• If we’re building this for ourselves why not sell it?
• Generated lots of internal debate




 @jeremyjarvis
Chapter 2: Realising an opportunity

•   Limited options in EU/UK
•   If we’re building this for ourselves why not sell it?
•   Generated lots of internal debate
•   Lack of flexibility with PaaS services




    @jeremyjarvis
Chapter 2: Realising an opportunity

•   Limited options in EU/UK
•   If we’re building this for ourselves why not sell it?
•   Generated lots of internal debate
•   Lack of flexibility with PaaS services
•   We’re good at this stuff + we have awesome team




    @jeremyjarvis
Chapter 2: Realising an opportunity

•   Limited options in EU/UK
•   If we’re building this for ourselves why not sell it?
•   Generated lots of internal debate
•   Lack of flexibility with PaaS services
•   We’re good at this stuff + we have awesome team
•   Decided to shift development focus




    @jeremyjarvis
Chapter 3: Design phase




@jeremyjarvis
Chapter 3: Design phase




@jeremyjarvis
Chapter 3: Design phase

• Requirements:




 @jeremyjarvis
Chapter 3: Design phase

• Requirements:
  – Geographic redundancy (separate datacentres)




 @jeremyjarvis
Chapter 3: Design phase

• Requirements:
  – Geographic redundancy (separate datacentres)
  – Resilient network (multiple connections)




 @jeremyjarvis
Chapter 3: Design phase

• Requirements:
  – Geographic redundancy (separate datacentres)
  – Resilient network (multiple connections)
  – Agile network layer (Load Balancing, Cloud IP, Firewall)




 @jeremyjarvis
Chapter 3: Design phase

• Requirements:
  – Geographic redundancy (separate datacentres)
  – Resilient network (multiple connections)
  – Agile network layer (Load Balancing, Cloud IP, Firewall)
  – Distributed (no SPOF)




 @jeremyjarvis
Chapter 3: Design phase

• Requirements:
  – Geographic redundancy (separate datacentres)
  – Resilient network (multiple connections)
  – Agile network layer (Load Balancing, Cloud IP, Firewall)
  – Distributed (no SPOF)
  – Modular (easy to grow, JIT)




 @jeremyjarvis
Chapter 3: Design phase

• Requirements:
  – Geographic redundancy (separate datacentres)
  – Resilient network (multiple connections)
  – Agile network layer (Load Balancing, Cloud IP, Firewall)
  – Distributed (no SPOF)
  – Modular (easy to grow, JIT)
  – Future-proof (IPv6)




 @jeremyjarvis
Chapter 3: Design phase

• Requirements:
  – Geographic redundancy (separate datacentres)
  – Resilient network (multiple connections)
  – Agile network layer (Load Balancing, Cloud IP, Firewall)
  – Distributed (no SPOF)
  – Modular (easy to grow, JIT)
  – Future-proof (IPv6)
  – Programmable (API, CLI)




 @jeremyjarvis
Chapter 3: Design phase

• Requirements:
  – Geographic redundancy (separate datacentres)
  – Resilient network (multiple connections)
  – Agile network layer (Load Balancing, Cloud IP, Firewall)
  – Distributed (no SPOF)
  – Modular (easy to grow, JIT)
  – Future-proof (IPv6)
  – Programmable (API, CLI)
  – Open (easy to get stuff in and out)




 @jeremyjarvis
Chapter 3: Design phase




@jeremyjarvis
Chapter 3: Design phase

• Process:




 @jeremyjarvis
Chapter 3: Design phase

• Process:
– Consulted, at first. Network infrastructure gurus.




 @jeremyjarvis
Chapter 3: Design phase

• Process:
– Consulted, at first. Network infrastructure gurus.
– We’re on our own!




 @jeremyjarvis
Chapter 3: Design phase

• Process:
– Consulted, at first. Network infrastructure gurus.
– We’re on our own!
– Hands-on, R&D style, lots of testing, experimentation, iteration




 @jeremyjarvis
Chapter 3: Design phase

• Process:
– Consulted, at first. Network infrastructure gurus.
– We’re on our own!
– Hands-on, R&D style, lots of testing, experimentation, iteration
– Investigated competition (what’s good/bad)




 @jeremyjarvis
Chapter 3: Design phase

• Process:
– Consulted, at first. Network infrastructure gurus.
– We’re on our own!
– Hands-on, R&D style, lots of testing, experimentation, iteration
– Investigated competition (what’s good/bad)
– Access to plenty of kit -set up mini-clouds to hack




 @jeremyjarvis
Chapter 3: Design phase

• Process:
– Consulted, at first. Network infrastructure gurus.
– We’re on our own!
– Hands-on, R&D style, lots of testing, experimentation, iteration
– Investigated competition (what’s good/bad)
– Access to plenty of kit -set up mini-clouds to hack
– John and Neil worked very closely on architecture (daily calls)




 @jeremyjarvis
Chapter 3: Design phase

• Process:
– Consulted, at first. Network infrastructure gurus.
– We’re on our own!
– Hands-on, R&D style, lots of testing, experimentation, iteration
– Investigated competition (what’s good/bad)
– Access to plenty of kit -set up mini-clouds to hack
– John and Neil worked very closely on architecture (daily calls)
– Don’t reinvent the wheel (Rubyists!)




 @jeremyjarvis
Chapter 3: Design phase




@jeremyjarvis
Chapter 3: Design phase

• Elements:




 @jeremyjarvis
Chapter 3: Design phase

• Elements:
– Network architecture (proof-of-concept)




 @jeremyjarvis
Chapter 3: Design phase

• Elements:
– Network architecture (proof-of-concept)
– Application/software architecture (evolving, iterative)




 @jeremyjarvis
Chapter 3: Design phase

• Elements:
– Network architecture (proof-of-concept)
– Application/software architecture (evolving, iterative)
– Hardware selection:




 @jeremyjarvis
Chapter 3: Design phase

• Elements:
– Network architecture (proof-of-concept)
– Application/software architecture (evolving, iterative)
– Hardware selection:
  • Border routers (Cisco)




 @jeremyjarvis
Chapter 3: Design phase

• Elements:
– Network architecture (proof-of-concept)
– Application/software architecture (evolving, iterative)
– Hardware selection:
  • Border routers (Cisco)
  • Switches (Cisco +)




 @jeremyjarvis
Chapter 3: Design phase

• Elements:
– Network architecture (proof-of-concept)
– Application/software architecture (evolving, iterative)
– Hardware selection:
  • Border routers (Cisco)
  • Switches (Cisco +)
  • Host servers (Dell)




 @jeremyjarvis
Chapter 3: Design phase

• Elements:
– Network architecture (proof-of-concept)
– Application/software architecture (evolving, iterative)
– Hardware selection:
  • Border routers (Cisco)
  • Switches (Cisco +)
  • Host servers (Dell)
  • Standardised rack design (modular)




 @jeremyjarvis
Chapter 3: Design phase

• Elements:
– Network architecture (proof-of-concept)
– Application/software architecture (evolving, iterative)
– Hardware selection:
  • Border routers (Cisco)
  • Switches (Cisco +)
  • Host servers (Dell)
  • Standardised rack design (modular)
– Datacentre selection (Proximity, Independent, Competing)




 @jeremyjarvis
Chapter 4: Let’s build this thing!




@jeremyjarvis
Chapter 4: Let’s build this thing!




@jeremyjarvis
Chapter 4: Let’s build this thing!

• Network provisioning (Transit, Metro links, RIPE
  membership)




 @jeremyjarvis
Chapter 4: Let’s build this thing!

• Network provisioning (Transit, Metro links, RIPE
  membership)
• Buying (negotiating)




 @jeremyjarvis
Chapter 4: Let’s build this thing!

• Network provisioning (Transit, Metro links, RIPE
  membership)
• Buying (negotiating)
• Installing kit (Routers, Switches, Servers)




 @jeremyjarvis
Chapter 4: Let’s build this thing!

• Network provisioning (Transit, Metro links, RIPE
  membership)
• Buying (negotiating)
• Installing kit (Routers, Switches, Servers)
• Use datacentre staff where possible (racking/stacking)




 @jeremyjarvis
Chapter 4: Let’s build this thing!

• Network provisioning (Transit, Metro links, RIPE
  membership)
• Buying (negotiating)
• Installing kit (Routers, Switches, Servers)
• Use datacentre staff where possible (racking/stacking)
• Software development (several applications, iterative)




 @jeremyjarvis
Chapter 4: Let’s build this thing!

• Network provisioning (Transit, Metro links, RIPE
  membership)
• Buying (negotiating)
• Installing kit (Routers, Switches, Servers)
• Use datacentre staff where possible (racking/stacking)
• Software development (several applications, iterative)
• Writing configs (again, iterative - infra as code)




 @jeremyjarvis
Chapter 4: Let’s build this thing!

• Network provisioning (Transit, Metro links, RIPE
  membership)
• Buying (negotiating)
• Installing kit (Routers, Switches, Servers)
• Use datacentre staff where possible (racking/stacking)
• Software development (several applications, iterative)
• Writing configs (again, iterative - infra as code)
• Documentation (wiki, changelogs, code comments)



 @jeremyjarvis
Chapter 5: It’s alive!




 @jeremyjarvis
Chapter 5: It’s alive!




 @jeremyjarvis
Chapter 5: It’s alive!

• Nov 2010 - Launched private beta (700 users)




 @jeremyjarvis
Chapter 5: It’s alive!

• Nov 2010 - Launched private beta (700 users)
• Iteration (fix bottlenecks, improve resilience)




 @jeremyjarvis
Chapter 5: It’s alive!

• Nov 2010 - Launched private beta (700 users)
• Iteration (fix bottlenecks, improve resilience)
• New features (Load balancing, Firewall etc)




 @jeremyjarvis
Chapter 5: It’s alive!

•   Nov 2010 - Launched private beta (700 users)
•   Iteration (fix bottlenecks, improve resilience)
•   New features (Load balancing, Firewall etc)
•   Billing data (distributed stats collection)




    @jeremyjarvis
Chapter 5: It’s alive!

•   Nov 2010 - Launched private beta (700 users)
•   Iteration (fix bottlenecks, improve resilience)
•   New features (Load balancing, Firewall etc)
•   Billing data (distributed stats collection)
•   “Enterprise” billing software *sad face*




    @jeremyjarvis
Chapter 5: It’s alive!

•   Nov 2010 - Launched private beta (700 users)
•   Iteration (fix bottlenecks, improve resilience)
•   New features (Load balancing, Firewall etc)
•   Billing data (distributed stats collection)
•   “Enterprise” billing software *sad face*
•   Oct 2011 - General availability (no change really, just £
    £)




    @jeremyjarvis
Chapter 5: It’s alive!

• Nov 2010 - Launched private beta (700 users)
• Iteration (fix bottlenecks, improve resilience)
• New features (Load balancing, Firewall etc)
• Billing data (distributed stats collection)
• “Enterprise” billing software *sad face*
• Oct 2011 - General availability (no change really, just £
  £)
• Product development (more and better features)



    @jeremyjarvis
Chapter 5: It’s alive!

• Nov 2010 - Launched private beta (700 users)
• Iteration (fix bottlenecks, improve resilience)
• New features (Load balancing, Firewall etc)
• Billing data (distributed stats collection)
• “Enterprise” billing software *sad face*
• Oct 2011 - General availability (no change really, just £
  £)
• Product development (more and better features)
• Marketing (getting the word out, communication)


    @jeremyjarvis
Epilogue: What did we learn?




@jeremyjarvis
Epilogue: What did we learn?




@jeremyjarvis
Epilogue: What did we learn?

• Building stuff is hard (but can lead to competitive
  advantage)




 @jeremyjarvis
Epilogue: What did we learn?

• Building stuff is hard (but can lead to competitive
  advantage)
• Be your own customers (understand market, use
  products)




 @jeremyjarvis
Epilogue: What did we learn?

• Building stuff is hard (but can lead to competitive
  advantage)
• Be your own customers (understand market, use
  products)
• Don’t *over*estimate competition (look behind the
  mask)




 @jeremyjarvis
Epilogue: What did we learn?

• Building stuff is hard (but can lead to competitive
  advantage)
• Be your own customers (understand market, use
  products)
• Don’t *over*estimate competition (look behind the
  mask)
• Learn good negotiation (clue: it’s not a battle)




 @jeremyjarvis
Epilogue: What did we learn?

• Building stuff is hard (but can lead to competitive
  advantage)
• Be your own customers (understand market, use
  products)
• Don’t *over*estimate competition (look behind the
  mask)
• Learn good negotiation (clue: it’s not a battle)
• All about the launch (could have timed/co-ordinated
  things better for more “oomph”)



 @jeremyjarvis
Epilogue: What did we learn?

• Building stuff is hard (but can lead to competitive
  advantage)
• Be your own customers (understand market, use
  products)
• Don’t *over*estimate competition (look behind the
  mask)
• Learn good negotiation (clue: it’s not a battle)
• All about the launch (could have timed/co-ordinated
  things better for more “oomph”)
• Momentum is important (PR, morale)

 @jeremyjarvis
Thanks.
Any questions?

Mais conteúdo relacionado

Destaque

Informatica l
Informatica lInformatica l
Informatica llaurab_01
 
Aproximación de Binomial a Normal (Bi~no) en intervalos
Aproximación de Binomial a Normal (Bi~no) en intervalosAproximación de Binomial a Normal (Bi~no) en intervalos
Aproximación de Binomial a Normal (Bi~no) en intervalosMaruSach
 
Jr Borchert R.1 100505
Jr Borchert R.1 100505Jr Borchert R.1 100505
Jr Borchert R.1 100505jrborchert
 
Quack Chat | Partitioning - Black Magic or Silver Bullet
Quack Chat | Partitioning - Black Magic or Silver BulletQuack Chat | Partitioning - Black Magic or Silver Bullet
Quack Chat | Partitioning - Black Magic or Silver BulletIDERA Software
 
Svyato ridnoji movy
Svyato ridnoji movySvyato ridnoji movy
Svyato ridnoji movyMlyudochka
 
Da Owada
Da OwadaDa Owada
Da Owadamedism
 
Hablan los jefes
Hablan los jefesHablan los jefes
Hablan los jefesJorgeZero
 
Kővágószőlős Község Önkormányzata Képviselő-testületének 4/2014. (VI. 17.) Ö...
Kővágószőlős Község Önkormányzata Képviselő-testületének  4/2014. (VI. 17.) Ö...Kővágószőlős Község Önkormányzata Képviselő-testületének  4/2014. (VI. 17.) Ö...
Kővágószőlős Község Önkormányzata Képviselő-testületének 4/2014. (VI. 17.) Ö...Önkormányzat Kővágószőlős
 
Function point analysis introduction
Function point analysis introductionFunction point analysis introduction
Function point analysis introductionTechcanvass
 
Geek Sync I What is the SSIS Catalog? And Why do I care?
Geek Sync I What is the SSIS Catalog? And Why do I care?Geek Sync I What is the SSIS Catalog? And Why do I care?
Geek Sync I What is the SSIS Catalog? And Why do I care?IDERA Software
 
Фізичні та хімічні властивості ненасичених вуглеводнів. Добування
Фізичні та хімічні властивості ненасичених вуглеводнів. ДобуванняФізичні та хімічні властивості ненасичених вуглеводнів. Добування
Фізичні та хімічні властивості ненасичених вуглеводнів. ДобуванняЕлена Мешкова
 

Destaque (19)

atayde9876543210
atayde9876543210atayde9876543210
atayde9876543210
 
Informatica l
Informatica lInformatica l
Informatica l
 
Aproximación de Binomial a Normal (Bi~no) en intervalos
Aproximación de Binomial a Normal (Bi~no) en intervalosAproximación de Binomial a Normal (Bi~no) en intervalos
Aproximación de Binomial a Normal (Bi~no) en intervalos
 
CMTA Case Study
CMTA Case StudyCMTA Case Study
CMTA Case Study
 
Jr Borchert R.1 100505
Jr Borchert R.1 100505Jr Borchert R.1 100505
Jr Borchert R.1 100505
 
Quack Chat | Partitioning - Black Magic or Silver Bullet
Quack Chat | Partitioning - Black Magic or Silver BulletQuack Chat | Partitioning - Black Magic or Silver Bullet
Quack Chat | Partitioning - Black Magic or Silver Bullet
 
Acqua_Viva_Function_Menu_2005[1]
Acqua_Viva_Function_Menu_2005[1]Acqua_Viva_Function_Menu_2005[1]
Acqua_Viva_Function_Menu_2005[1]
 
Trabajo de formación humana; la biblia.
Trabajo de formación humana; la biblia.Trabajo de formación humana; la biblia.
Trabajo de formación humana; la biblia.
 
Svyato ridnoji movy
Svyato ridnoji movySvyato ridnoji movy
Svyato ridnoji movy
 
Da Owada
Da OwadaDa Owada
Da Owada
 
Hablan los jefes
Hablan los jefesHablan los jefes
Hablan los jefes
 
Teoria de la probabilidad
Teoria de la probabilidadTeoria de la probabilidad
Teoria de la probabilidad
 
Kővágószőlős Község Önkormányzata Képviselő-testületének 4/2014. (VI. 17.) Ö...
Kővágószőlős Község Önkormányzata Képviselő-testületének  4/2014. (VI. 17.) Ö...Kővágószőlős Község Önkormányzata Képviselő-testületének  4/2014. (VI. 17.) Ö...
Kővágószőlős Község Önkormányzata Képviselő-testületének 4/2014. (VI. 17.) Ö...
 
Function point analysis introduction
Function point analysis introductionFunction point analysis introduction
Function point analysis introduction
 
El valor de la amistad. ♥♥♥
El valor de la amistad. ♥♥♥El valor de la amistad. ♥♥♥
El valor de la amistad. ♥♥♥
 
Síndrome Prader-Willi
Síndrome Prader-WilliSíndrome Prader-Willi
Síndrome Prader-Willi
 
Geek Sync I What is the SSIS Catalog? And Why do I care?
Geek Sync I What is the SSIS Catalog? And Why do I care?Geek Sync I What is the SSIS Catalog? And Why do I care?
Geek Sync I What is the SSIS Catalog? And Why do I care?
 
Ley 101 de la Policia Boliviana
Ley 101 de la Policia BolivianaLey 101 de la Policia Boliviana
Ley 101 de la Policia Boliviana
 
Фізичні та хімічні властивості ненасичених вуглеводнів. Добування
Фізичні та хімічні властивості ненасичених вуглеводнів. ДобуванняФізичні та хімічні властивості ненасичених вуглеводнів. Добування
Фізичні та хімічні властивості ненасичених вуглеводнів. Добування
 

Semelhante a "Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 July 2012

Social dev camp_2011
Social dev camp_2011Social dev camp_2011
Social dev camp_2011Craig Ulliott
 
How do we drive tech changes
How do we drive tech changesHow do we drive tech changes
How do we drive tech changesJaewoo Ahn
 
How Build Infrastructure Powers the Node.js Foundation
How Build Infrastructure Powers the Node.js FoundationHow Build Infrastructure Powers the Node.js Foundation
How Build Infrastructure Powers the Node.js FoundationGibson Fahnestock
 
Operations for databases – The DevOps journey
Operations for databases – The DevOps journey Operations for databases – The DevOps journey
Operations for databases – The DevOps journey Eduardo Piairo
 
Austin NoSQL 2011-07-06
Austin NoSQL 2011-07-06Austin NoSQL 2011-07-06
Austin NoSQL 2011-07-06jimbojsb
 
StackEngine Demo - Docker Austin
StackEngine Demo - Docker AustinStackEngine Demo - Docker Austin
StackEngine Demo - Docker AustinBoyd Hemphill
 
Cloud east shutl_talk
Cloud east shutl_talkCloud east shutl_talk
Cloud east shutl_talkVolker Pacher
 
Inside Wordnik's Architecture
Inside Wordnik's ArchitectureInside Wordnik's Architecture
Inside Wordnik's ArchitectureTony Tam
 
Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedAlexander Makarov
 
Stash – Taking Expedia to New Heights - David Williams and Christopher Pepe
Stash – Taking Expedia to New Heights - David Williams and Christopher PepeStash – Taking Expedia to New Heights - David Williams and Christopher Pepe
Stash – Taking Expedia to New Heights - David Williams and Christopher PepeAtlassian
 
Storage Systems For Scalable systems
Storage Systems For Scalable systemsStorage Systems For Scalable systems
Storage Systems For Scalable systemselliando dias
 
Surviving in a microservices environment
Surviving in a microservices environmentSurviving in a microservices environment
Surviving in a microservices environmentSteve Pember
 
Cloud Truths - Hull Digital - 19 July 2012
Cloud Truths - Hull Digital - 19 July 2012Cloud Truths - Hull Digital - 19 July 2012
Cloud Truths - Hull Digital - 19 July 2012Jeremy Jarvis
 
Application Deployment at UC Riverside
Application Deployment at UC RiversideApplication Deployment at UC Riverside
Application Deployment at UC RiversideMichael Kennedy
 
Scaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHPScaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHP120bi
 
Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsAchievers Tech
 
Scala in the Wild
Scala in the WildScala in the Wild
Scala in the WildTomer Gabel
 
SACon 2019 - Surviving in a Microservices Environment
SACon 2019 - Surviving in a Microservices EnvironmentSACon 2019 - Surviving in a Microservices Environment
SACon 2019 - Surviving in a Microservices EnvironmentSteve Pember
 
Surviving in a Microservices environment -abridged
Surviving in a Microservices environment -abridgedSurviving in a Microservices environment -abridged
Surviving in a Microservices environment -abridgedSteve Pember
 
StackEngine Demo - Boston
StackEngine Demo - BostonStackEngine Demo - Boston
StackEngine Demo - BostonBoyd Hemphill
 

Semelhante a "Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 July 2012 (20)

Social dev camp_2011
Social dev camp_2011Social dev camp_2011
Social dev camp_2011
 
How do we drive tech changes
How do we drive tech changesHow do we drive tech changes
How do we drive tech changes
 
How Build Infrastructure Powers the Node.js Foundation
How Build Infrastructure Powers the Node.js FoundationHow Build Infrastructure Powers the Node.js Foundation
How Build Infrastructure Powers the Node.js Foundation
 
Operations for databases – The DevOps journey
Operations for databases – The DevOps journey Operations for databases – The DevOps journey
Operations for databases – The DevOps journey
 
Austin NoSQL 2011-07-06
Austin NoSQL 2011-07-06Austin NoSQL 2011-07-06
Austin NoSQL 2011-07-06
 
StackEngine Demo - Docker Austin
StackEngine Demo - Docker AustinStackEngine Demo - Docker Austin
StackEngine Demo - Docker Austin
 
Cloud east shutl_talk
Cloud east shutl_talkCloud east shutl_talk
Cloud east shutl_talk
 
Inside Wordnik's Architecture
Inside Wordnik's ArchitectureInside Wordnik's Architecture
Inside Wordnik's Architecture
 
Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developed
 
Stash – Taking Expedia to New Heights - David Williams and Christopher Pepe
Stash – Taking Expedia to New Heights - David Williams and Christopher PepeStash – Taking Expedia to New Heights - David Williams and Christopher Pepe
Stash – Taking Expedia to New Heights - David Williams and Christopher Pepe
 
Storage Systems For Scalable systems
Storage Systems For Scalable systemsStorage Systems For Scalable systems
Storage Systems For Scalable systems
 
Surviving in a microservices environment
Surviving in a microservices environmentSurviving in a microservices environment
Surviving in a microservices environment
 
Cloud Truths - Hull Digital - 19 July 2012
Cloud Truths - Hull Digital - 19 July 2012Cloud Truths - Hull Digital - 19 July 2012
Cloud Truths - Hull Digital - 19 July 2012
 
Application Deployment at UC Riverside
Application Deployment at UC RiversideApplication Deployment at UC Riverside
Application Deployment at UC Riverside
 
Scaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHPScaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHP
 
Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web Applications
 
Scala in the Wild
Scala in the WildScala in the Wild
Scala in the Wild
 
SACon 2019 - Surviving in a Microservices Environment
SACon 2019 - Surviving in a Microservices EnvironmentSACon 2019 - Surviving in a Microservices Environment
SACon 2019 - Surviving in a Microservices Environment
 
Surviving in a Microservices environment -abridged
Surviving in a Microservices environment -abridgedSurviving in a Microservices environment -abridged
Surviving in a Microservices environment -abridged
 
StackEngine Demo - Boston
StackEngine Demo - BostonStackEngine Demo - Boston
StackEngine Demo - Boston
 

Último

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

"Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 July 2012

  • 1. Building a Resilient Cloud Infrastructure. From Scratch. by Jeremy Jarvis Co-founder
  • 4. Overview • Preface: Who, what etc. @jeremyjarvis
  • 5. Overview • Preface: Who, what etc. • Chapter 1: Feeling the pain @jeremyjarvis
  • 6. Overview • Preface: Who, what etc. • Chapter 1: Feeling the pain • Chapter 2: Realising an opportunity @jeremyjarvis
  • 7. Overview • Preface: Who, what etc. • Chapter 1: Feeling the pain • Chapter 2: Realising an opportunity • Chapter 3: Design phase @jeremyjarvis
  • 8. Overview • Preface: Who, what etc. • Chapter 1: Feeling the pain • Chapter 2: Realising an opportunity • Chapter 3: Design phase • Chapter 4: Let’s build this thing! @jeremyjarvis
  • 9. Overview • Preface: Who, what etc. • Chapter 1: Feeling the pain • Chapter 2: Realising an opportunity • Chapter 3: Design phase • Chapter 4: Let’s build this thing! • Chapter 5: It’s alive! @jeremyjarvis
  • 10. Overview • Preface: Who, what etc. • Chapter 1: Feeling the pain • Chapter 2: Realising an opportunity • Chapter 3: Design phase • Chapter 4: Let’s build this thing! • Chapter 5: It’s alive! • Epilogue: Some conclusions/lessons @jeremyjarvis
  • 12. Preface. • Agile cloud infrastructure service @jeremyjarvis
  • 13. Preface. • Agile cloud infrastructure service • “Multi-zone” (datacentre) architecture @jeremyjarvis
  • 14. Preface. • Agile cloud infrastructure service • “Multi-zone” (datacentre) architecture • UK-based (HQ in Leeds, DCs in Manchester) @jeremyjarvis
  • 15. Preface. • Agile cloud infrastructure service • “Multi-zone” (datacentre) architecture • UK-based (HQ in Leeds, DCs in Manchester) • Small team (still only 10 in total) @jeremyjarvis
  • 16. Preface. • Agile cloud infrastructure service • “Multi-zone” (datacentre) architecture • UK-based (HQ in Leeds, DCs in Manchester) • Small team (still only 10 in total) • Distributed team (Mainly around Leeds) @jeremyjarvis
  • 17. Preface. • Agile cloud infrastructure service • “Multi-zone” (datacentre) architecture • UK-based (HQ in Leeds, DCs in Manchester) • Small team (still only 10 in total) • Distributed team (Mainly around Leeds) • Developer/DevOps focused (it’s who we are) @jeremyjarvis
  • 18. Preface. • Agile cloud infrastructure service • “Multi-zone” (datacentre) architecture • UK-based (HQ in Leeds, DCs in Manchester) • Small team (still only 10 in total) • Distributed team (Mainly around Leeds) • Developer/DevOps focused (it’s who we are) • Profitable (for 4 yrs, built from revenue) @jeremyjarvis
  • 19. Chapter 1: Feeling the Pain @jeremyjarvis
  • 20. Chapter 1: Feeling the Pain @jeremyjarvis
  • 21. Chapter 1: Feeling the Pain • Launched Ruby-specific hosting service (Sep 2007) @jeremyjarvis
  • 22. Chapter 1: Feeling the Pain • Launched Ruby-specific hosting service (Sep 2007) • Acquisition interest (no thanks!) @jeremyjarvis
  • 23. Chapter 1: Feeling the Pain • Launched Ruby-specific hosting service (Sep 2007) • Acquisition interest (no thanks!) • Built a good reputation, hosted apps for some large customers @jeremyjarvis
  • 24. Chapter 1: Feeling the Pain • Launched Ruby-specific hosting service (Sep 2007) • Acquisition interest (no thanks!) • Built a good reputation, hosted apps for some large customers • Systems stable, but became unwieldy and hard for us to manage + we wanted to expand offering @jeremyjarvis
  • 25. Chapter 1: Feeling the Pain • Launched Ruby-specific hosting service (Sep 2007) • Acquisition interest (no thanks!) • Built a good reputation, hosted apps for some large customers • Systems stable, but became unwieldy and hard for us to manage + we wanted to expand offering • Began looking at existing options, nothing fitted our needs (e.g Eucalyptus) @jeremyjarvis
  • 26. Chapter 1: Feeling the Pain • Launched Ruby-specific hosting service (Sep 2007) • Acquisition interest (no thanks!) • Built a good reputation, hosted apps for some large customers • Systems stable, but became unwieldy and hard for us to manage + we wanted to expand offering • Began looking at existing options, nothing fitted our needs (e.g Eucalyptus) • Decided to build our own “cloud” (Brightbox NG) @jeremyjarvis
  • 27. Chapter 2: Realising an opportunity @jeremyjarvis
  • 28. Chapter 2: Realising an opportunity @jeremyjarvis
  • 29. Chapter 2: Realising an opportunity • Limited options in EU/UK @jeremyjarvis
  • 30. Chapter 2: Realising an opportunity • Limited options in EU/UK • If we’re building this for ourselves why not sell it? @jeremyjarvis
  • 31. Chapter 2: Realising an opportunity • Limited options in EU/UK • If we’re building this for ourselves why not sell it? • Generated lots of internal debate @jeremyjarvis
  • 32. Chapter 2: Realising an opportunity • Limited options in EU/UK • If we’re building this for ourselves why not sell it? • Generated lots of internal debate • Lack of flexibility with PaaS services @jeremyjarvis
  • 33. Chapter 2: Realising an opportunity • Limited options in EU/UK • If we’re building this for ourselves why not sell it? • Generated lots of internal debate • Lack of flexibility with PaaS services • We’re good at this stuff + we have awesome team @jeremyjarvis
  • 34. Chapter 2: Realising an opportunity • Limited options in EU/UK • If we’re building this for ourselves why not sell it? • Generated lots of internal debate • Lack of flexibility with PaaS services • We’re good at this stuff + we have awesome team • Decided to shift development focus @jeremyjarvis
  • 35. Chapter 3: Design phase @jeremyjarvis
  • 36. Chapter 3: Design phase @jeremyjarvis
  • 37. Chapter 3: Design phase • Requirements: @jeremyjarvis
  • 38. Chapter 3: Design phase • Requirements: – Geographic redundancy (separate datacentres) @jeremyjarvis
  • 39. Chapter 3: Design phase • Requirements: – Geographic redundancy (separate datacentres) – Resilient network (multiple connections) @jeremyjarvis
  • 40. Chapter 3: Design phase • Requirements: – Geographic redundancy (separate datacentres) – Resilient network (multiple connections) – Agile network layer (Load Balancing, Cloud IP, Firewall) @jeremyjarvis
  • 41. Chapter 3: Design phase • Requirements: – Geographic redundancy (separate datacentres) – Resilient network (multiple connections) – Agile network layer (Load Balancing, Cloud IP, Firewall) – Distributed (no SPOF) @jeremyjarvis
  • 42. Chapter 3: Design phase • Requirements: – Geographic redundancy (separate datacentres) – Resilient network (multiple connections) – Agile network layer (Load Balancing, Cloud IP, Firewall) – Distributed (no SPOF) – Modular (easy to grow, JIT) @jeremyjarvis
  • 43. Chapter 3: Design phase • Requirements: – Geographic redundancy (separate datacentres) – Resilient network (multiple connections) – Agile network layer (Load Balancing, Cloud IP, Firewall) – Distributed (no SPOF) – Modular (easy to grow, JIT) – Future-proof (IPv6) @jeremyjarvis
  • 44. Chapter 3: Design phase • Requirements: – Geographic redundancy (separate datacentres) – Resilient network (multiple connections) – Agile network layer (Load Balancing, Cloud IP, Firewall) – Distributed (no SPOF) – Modular (easy to grow, JIT) – Future-proof (IPv6) – Programmable (API, CLI) @jeremyjarvis
  • 45. Chapter 3: Design phase • Requirements: – Geographic redundancy (separate datacentres) – Resilient network (multiple connections) – Agile network layer (Load Balancing, Cloud IP, Firewall) – Distributed (no SPOF) – Modular (easy to grow, JIT) – Future-proof (IPv6) – Programmable (API, CLI) – Open (easy to get stuff in and out) @jeremyjarvis
  • 46. Chapter 3: Design phase @jeremyjarvis
  • 47. Chapter 3: Design phase • Process: @jeremyjarvis
  • 48. Chapter 3: Design phase • Process: – Consulted, at first. Network infrastructure gurus. @jeremyjarvis
  • 49. Chapter 3: Design phase • Process: – Consulted, at first. Network infrastructure gurus. – We’re on our own! @jeremyjarvis
  • 50. Chapter 3: Design phase • Process: – Consulted, at first. Network infrastructure gurus. – We’re on our own! – Hands-on, R&D style, lots of testing, experimentation, iteration @jeremyjarvis
  • 51. Chapter 3: Design phase • Process: – Consulted, at first. Network infrastructure gurus. – We’re on our own! – Hands-on, R&D style, lots of testing, experimentation, iteration – Investigated competition (what’s good/bad) @jeremyjarvis
  • 52. Chapter 3: Design phase • Process: – Consulted, at first. Network infrastructure gurus. – We’re on our own! – Hands-on, R&D style, lots of testing, experimentation, iteration – Investigated competition (what’s good/bad) – Access to plenty of kit -set up mini-clouds to hack @jeremyjarvis
  • 53. Chapter 3: Design phase • Process: – Consulted, at first. Network infrastructure gurus. – We’re on our own! – Hands-on, R&D style, lots of testing, experimentation, iteration – Investigated competition (what’s good/bad) – Access to plenty of kit -set up mini-clouds to hack – John and Neil worked very closely on architecture (daily calls) @jeremyjarvis
  • 54. Chapter 3: Design phase • Process: – Consulted, at first. Network infrastructure gurus. – We’re on our own! – Hands-on, R&D style, lots of testing, experimentation, iteration – Investigated competition (what’s good/bad) – Access to plenty of kit -set up mini-clouds to hack – John and Neil worked very closely on architecture (daily calls) – Don’t reinvent the wheel (Rubyists!) @jeremyjarvis
  • 55. Chapter 3: Design phase @jeremyjarvis
  • 56. Chapter 3: Design phase • Elements: @jeremyjarvis
  • 57. Chapter 3: Design phase • Elements: – Network architecture (proof-of-concept) @jeremyjarvis
  • 58. Chapter 3: Design phase • Elements: – Network architecture (proof-of-concept) – Application/software architecture (evolving, iterative) @jeremyjarvis
  • 59. Chapter 3: Design phase • Elements: – Network architecture (proof-of-concept) – Application/software architecture (evolving, iterative) – Hardware selection: @jeremyjarvis
  • 60. Chapter 3: Design phase • Elements: – Network architecture (proof-of-concept) – Application/software architecture (evolving, iterative) – Hardware selection: • Border routers (Cisco) @jeremyjarvis
  • 61. Chapter 3: Design phase • Elements: – Network architecture (proof-of-concept) – Application/software architecture (evolving, iterative) – Hardware selection: • Border routers (Cisco) • Switches (Cisco +) @jeremyjarvis
  • 62. Chapter 3: Design phase • Elements: – Network architecture (proof-of-concept) – Application/software architecture (evolving, iterative) – Hardware selection: • Border routers (Cisco) • Switches (Cisco +) • Host servers (Dell) @jeremyjarvis
  • 63. Chapter 3: Design phase • Elements: – Network architecture (proof-of-concept) – Application/software architecture (evolving, iterative) – Hardware selection: • Border routers (Cisco) • Switches (Cisco +) • Host servers (Dell) • Standardised rack design (modular) @jeremyjarvis
  • 64. Chapter 3: Design phase • Elements: – Network architecture (proof-of-concept) – Application/software architecture (evolving, iterative) – Hardware selection: • Border routers (Cisco) • Switches (Cisco +) • Host servers (Dell) • Standardised rack design (modular) – Datacentre selection (Proximity, Independent, Competing) @jeremyjarvis
  • 65. Chapter 4: Let’s build this thing! @jeremyjarvis
  • 66. Chapter 4: Let’s build this thing! @jeremyjarvis
  • 67. Chapter 4: Let’s build this thing! • Network provisioning (Transit, Metro links, RIPE membership) @jeremyjarvis
  • 68. Chapter 4: Let’s build this thing! • Network provisioning (Transit, Metro links, RIPE membership) • Buying (negotiating) @jeremyjarvis
  • 69. Chapter 4: Let’s build this thing! • Network provisioning (Transit, Metro links, RIPE membership) • Buying (negotiating) • Installing kit (Routers, Switches, Servers) @jeremyjarvis
  • 70. Chapter 4: Let’s build this thing! • Network provisioning (Transit, Metro links, RIPE membership) • Buying (negotiating) • Installing kit (Routers, Switches, Servers) • Use datacentre staff where possible (racking/stacking) @jeremyjarvis
  • 71. Chapter 4: Let’s build this thing! • Network provisioning (Transit, Metro links, RIPE membership) • Buying (negotiating) • Installing kit (Routers, Switches, Servers) • Use datacentre staff where possible (racking/stacking) • Software development (several applications, iterative) @jeremyjarvis
  • 72. Chapter 4: Let’s build this thing! • Network provisioning (Transit, Metro links, RIPE membership) • Buying (negotiating) • Installing kit (Routers, Switches, Servers) • Use datacentre staff where possible (racking/stacking) • Software development (several applications, iterative) • Writing configs (again, iterative - infra as code) @jeremyjarvis
  • 73. Chapter 4: Let’s build this thing! • Network provisioning (Transit, Metro links, RIPE membership) • Buying (negotiating) • Installing kit (Routers, Switches, Servers) • Use datacentre staff where possible (racking/stacking) • Software development (several applications, iterative) • Writing configs (again, iterative - infra as code) • Documentation (wiki, changelogs, code comments) @jeremyjarvis
  • 74. Chapter 5: It’s alive! @jeremyjarvis
  • 75. Chapter 5: It’s alive! @jeremyjarvis
  • 76. Chapter 5: It’s alive! • Nov 2010 - Launched private beta (700 users) @jeremyjarvis
  • 77. Chapter 5: It’s alive! • Nov 2010 - Launched private beta (700 users) • Iteration (fix bottlenecks, improve resilience) @jeremyjarvis
  • 78. Chapter 5: It’s alive! • Nov 2010 - Launched private beta (700 users) • Iteration (fix bottlenecks, improve resilience) • New features (Load balancing, Firewall etc) @jeremyjarvis
  • 79. Chapter 5: It’s alive! • Nov 2010 - Launched private beta (700 users) • Iteration (fix bottlenecks, improve resilience) • New features (Load balancing, Firewall etc) • Billing data (distributed stats collection) @jeremyjarvis
  • 80. Chapter 5: It’s alive! • Nov 2010 - Launched private beta (700 users) • Iteration (fix bottlenecks, improve resilience) • New features (Load balancing, Firewall etc) • Billing data (distributed stats collection) • “Enterprise” billing software *sad face* @jeremyjarvis
  • 81. Chapter 5: It’s alive! • Nov 2010 - Launched private beta (700 users) • Iteration (fix bottlenecks, improve resilience) • New features (Load balancing, Firewall etc) • Billing data (distributed stats collection) • “Enterprise” billing software *sad face* • Oct 2011 - General availability (no change really, just £ £) @jeremyjarvis
  • 82. Chapter 5: It’s alive! • Nov 2010 - Launched private beta (700 users) • Iteration (fix bottlenecks, improve resilience) • New features (Load balancing, Firewall etc) • Billing data (distributed stats collection) • “Enterprise” billing software *sad face* • Oct 2011 - General availability (no change really, just £ £) • Product development (more and better features) @jeremyjarvis
  • 83. Chapter 5: It’s alive! • Nov 2010 - Launched private beta (700 users) • Iteration (fix bottlenecks, improve resilience) • New features (Load balancing, Firewall etc) • Billing data (distributed stats collection) • “Enterprise” billing software *sad face* • Oct 2011 - General availability (no change really, just £ £) • Product development (more and better features) • Marketing (getting the word out, communication) @jeremyjarvis
  • 84. Epilogue: What did we learn? @jeremyjarvis
  • 85. Epilogue: What did we learn? @jeremyjarvis
  • 86. Epilogue: What did we learn? • Building stuff is hard (but can lead to competitive advantage) @jeremyjarvis
  • 87. Epilogue: What did we learn? • Building stuff is hard (but can lead to competitive advantage) • Be your own customers (understand market, use products) @jeremyjarvis
  • 88. Epilogue: What did we learn? • Building stuff is hard (but can lead to competitive advantage) • Be your own customers (understand market, use products) • Don’t *over*estimate competition (look behind the mask) @jeremyjarvis
  • 89. Epilogue: What did we learn? • Building stuff is hard (but can lead to competitive advantage) • Be your own customers (understand market, use products) • Don’t *over*estimate competition (look behind the mask) • Learn good negotiation (clue: it’s not a battle) @jeremyjarvis
  • 90. Epilogue: What did we learn? • Building stuff is hard (but can lead to competitive advantage) • Be your own customers (understand market, use products) • Don’t *over*estimate competition (look behind the mask) • Learn good negotiation (clue: it’s not a battle) • All about the launch (could have timed/co-ordinated things better for more “oomph”) @jeremyjarvis
  • 91. Epilogue: What did we learn? • Building stuff is hard (but can lead to competitive advantage) • Be your own customers (understand market, use products) • Don’t *over*estimate competition (look behind the mask) • Learn good negotiation (clue: it’s not a battle) • All about the launch (could have timed/co-ordinated things better for more “oomph”) • Momentum is important (PR, morale) @jeremyjarvis