SlideShare a Scribd company logo
1 of 26
Download to read offline
ALGOLIA’S FURY ROAD TO A WORLDWIDE API
Build Unique Search Experiences
Julien Lemoine
Co-founder & CTO
julien@algolia.com
@jlemoine_algo
APIDays - Dec 2015
@algolia
A hosted search API
that focuses on Developer and User Experiences
@algolia
Replies in milliseconds
A hosted search API
@algolia
From anywhere
A hosted search API
Replies in milliseconds
@algolia
With intuitive relevance
A hosted search API
From anywhereReplies in milliseconds
@algolia
Algolia Today
@algolia
Algolia Today
1200+customers in 100+ countries
@algolia
Algolia Today
1200+customers in 100+ countries
30B+ Write operationsper month
8B+ User-generated queriesper month
@algolia
Algolia Today
14regions 30data centers
1200+customers in 100+ countries
30B+ Write operationsper month
8B+ User-generated queriesper month
@algolia
.1 March 2013
High Availability was designed…
but not implemented
A single machine in 2 different locations:
Canada/East and Europe/West
Focus on performance, searching over indexing
First customer in prod
RAM: 32GB
Proc: 4 cores, 3.4-3.8 GHz
SSD: 2x 120 GB Raid-0
(Intel 320)
.2 June 2013
Implementation of high availability in our architecture
3 machines with a consensus on write… but in the same data center
API clients handled automatic retries in case of error
APPID-1.algolia.io, APPID-2.algolia.io, APPID-3.algolia.io
RAM: 64GB
Proc: 6 cores, 3.2-3.8 GHz
SSD: 2x 300 GB Raid-0
(Intel 320)
.3 August 2013
Official launch of the service
Two locations: Europe/West and Canada/East
Same provider but different network
equipment and power units (cheap multi-AZ)
10 API clients, developed manually
(https keep alive, using TLS correctly, retry strategy…)
RAM: 128GB
Proc: 8 cores, 3.1-3.8 GHz
SSD: 2x 300 GB Raid-0
(Intel S3500)
.4 January 2014
Deployment is a big risk for high availability
Agile development, 6000+ unit tests, 200+ non regression tests…
But no instant rollback! Result: 8 minutes of indexing downtime ☂
From then on - start with test clusters
- instant rollback
.5 July 2014
First deployment on two
data centers
Biggest customer so far !
In Europe, 2 different data centers
at 100Km distance
(already better than AZ of cloud offers)
RAM: 128GB
Proc: 6 cores, 3.5-3.9 GHz
SSD: 2x 400 GB Raid-0
(Intel S3700)
.6 October 2014
Automation via Chef
Significant increase in managed machines
Shell Scripts -> Chef
Automation is great but s**t happens…
A typo in a cookbook nearly broke our prod!
From then on: 2 versions of the cookbooks
deployed to different servers of the same cluster
.7 February 2015
Launch of our synchronized worldwide infrastructure
8 new regions!
Low latency everywhere with automatic replication
12regions
@algolia
Distributed Search Network - Worldwide Synchronization
@algolia
Distributed Search Network - Worldwide Synchronization
.8 March 2015
Better high availability per region
Spread our US clusters across two
completely different providers
• 2 different data centers in close
locations (24 miles, 1ms latency)
• 3 different machines
• 2 completely different autonomous
systems
.9 May 2015
Introducing several DNS
providers
Retry strategy in API clients, again!
1. APPID-dsn.algolia.net
2. Retry randomly,
APPID-1.algolianet.com
APPID-2.algolianet.com
APPID-3.algolianet.com
.10 July 2015
Three completely independent
providers per cluster
With 2 providers we could still
loose indexing
Clusters spanning multiple data
centers, autonomous systems and
upstream providers.
@algolia
Design early
Do not over engineer
Focus on execution
Building an HA architecture takes time
@algolia
THANK YOU!
QUESTIONS?
julien@algolia.com
Full version on Medium http://bit.ly/algoliafuryroad

More Related Content

What's hot

Building Event Streaming Applications with Pac-Man (Ricardo Ferreira, Conflue...
Building Event Streaming Applications with Pac-Man (Ricardo Ferreira, Conflue...Building Event Streaming Applications with Pac-Man (Ricardo Ferreira, Conflue...
Building Event Streaming Applications with Pac-Man (Ricardo Ferreira, Conflue...HostedbyConfluent
 
Infrastructure as code (iac) - Terraform for AWS
Infrastructure as code (iac) - Terraform for AWSInfrastructure as code (iac) - Terraform for AWS
Infrastructure as code (iac) - Terraform for AWSJohanes Glenn
 
Getting started with Laravel & Elasticsearch
Getting started with Laravel & ElasticsearchGetting started with Laravel & Elasticsearch
Getting started with Laravel & ElasticsearchPeter Steenbergen
 
AWS as a code - using ansible
 AWS as a code - using ansible  AWS as a code - using ansible
AWS as a code - using ansible serkancapkan
 
How we use the play framework
How we use the play frameworkHow we use the play framework
How we use the play frameworkItai Gilo
 
Finding Cars and Hunting Down Logs - ElasticSearch @AutoScout24
Finding Cars and Hunting Down Logs - ElasticSearch @AutoScout24Finding Cars and Hunting Down Logs - ElasticSearch @AutoScout24
Finding Cars and Hunting Down Logs - ElasticSearch @AutoScout24Philipp Garbe
 
Spark UDFs are EviL, Catalyst to the rEsCue!
Spark UDFs are EviL, Catalyst to the rEsCue!Spark UDFs are EviL, Catalyst to the rEsCue!
Spark UDFs are EviL, Catalyst to the rEsCue!Adi Polak
 
Cassandra Summit 2014: Astyanax — To Be or Not To Be
Cassandra Summit 2014: Astyanax — To Be or Not To BeCassandra Summit 2014: Astyanax — To Be or Not To Be
Cassandra Summit 2014: Astyanax — To Be or Not To BeDataStax Academy
 
App Services - Connecting the dots of Web Mobile and Integration_published
App Services - Connecting the dots of Web Mobile and Integration_publishedApp Services - Connecting the dots of Web Mobile and Integration_published
App Services - Connecting the dots of Web Mobile and Integration_publishedWagner Silveira
 
IoT and Serverless - AWS - Serverless Summit - Madhusudan Shekar
IoT and Serverless - AWS - Serverless Summit - Madhusudan ShekarIoT and Serverless - AWS - Serverless Summit - Madhusudan Shekar
IoT and Serverless - AWS - Serverless Summit - Madhusudan ShekarCodeOps Technologies LLP
 
A quick introduction to AWS Lambda
A quick introduction to AWS LambdaA quick introduction to AWS Lambda
A quick introduction to AWS Lambdaogeisser
 
Democratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless SummitDemocratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless SummitCodeOps Technologies LLP
 
LINE NOW Scratch Card - From Nothing to Production in one month
LINE NOW Scratch Card -  From Nothing to Production in one monthLINE NOW Scratch Card -  From Nothing to Production in one month
LINE NOW Scratch Card - From Nothing to Production in one monthLINE Corporation
 
Atlassian Connect – Add Ons For Every Platform - Tanguy Crusson
Atlassian Connect – Add Ons For Every Platform - Tanguy CrussonAtlassian Connect – Add Ons For Every Platform - Tanguy Crusson
Atlassian Connect – Add Ons For Every Platform - Tanguy CrussonAtlassian
 
"Hacking" JIRA and Confluence Cloud Part 1 - Connect Your Apps - Travis Smith
"Hacking" JIRA and Confluence Cloud Part 1 - Connect Your Apps - Travis Smith"Hacking" JIRA and Confluence Cloud Part 1 - Connect Your Apps - Travis Smith
"Hacking" JIRA and Confluence Cloud Part 1 - Connect Your Apps - Travis SmithAtlassian
 
Rounds tips & tricks
Rounds tips & tricksRounds tips & tricks
Rounds tips & tricksAviv Laufer
 

What's hot (20)

Building Event Streaming Applications with Pac-Man (Ricardo Ferreira, Conflue...
Building Event Streaming Applications with Pac-Man (Ricardo Ferreira, Conflue...Building Event Streaming Applications with Pac-Man (Ricardo Ferreira, Conflue...
Building Event Streaming Applications with Pac-Man (Ricardo Ferreira, Conflue...
 
Infrastructure as code (iac) - Terraform for AWS
Infrastructure as code (iac) - Terraform for AWSInfrastructure as code (iac) - Terraform for AWS
Infrastructure as code (iac) - Terraform for AWS
 
Getting started with Laravel & Elasticsearch
Getting started with Laravel & ElasticsearchGetting started with Laravel & Elasticsearch
Getting started with Laravel & Elasticsearch
 
Elk meetup
Elk meetupElk meetup
Elk meetup
 
Tracing Java Applications on Azure
Tracing Java Applications on AzureTracing Java Applications on Azure
Tracing Java Applications on Azure
 
AWS as a code - using ansible
 AWS as a code - using ansible  AWS as a code - using ansible
AWS as a code - using ansible
 
How we use the play framework
How we use the play frameworkHow we use the play framework
How we use the play framework
 
Finding Cars and Hunting Down Logs - ElasticSearch @AutoScout24
Finding Cars and Hunting Down Logs - ElasticSearch @AutoScout24Finding Cars and Hunting Down Logs - ElasticSearch @AutoScout24
Finding Cars and Hunting Down Logs - ElasticSearch @AutoScout24
 
Spark UDFs are EviL, Catalyst to the rEsCue!
Spark UDFs are EviL, Catalyst to the rEsCue!Spark UDFs are EviL, Catalyst to the rEsCue!
Spark UDFs are EviL, Catalyst to the rEsCue!
 
Cassandra Summit 2014: Astyanax — To Be or Not To Be
Cassandra Summit 2014: Astyanax — To Be or Not To BeCassandra Summit 2014: Astyanax — To Be or Not To Be
Cassandra Summit 2014: Astyanax — To Be or Not To Be
 
App Services - Connecting the dots of Web Mobile and Integration_published
App Services - Connecting the dots of Web Mobile and Integration_publishedApp Services - Connecting the dots of Web Mobile and Integration_published
App Services - Connecting the dots of Web Mobile and Integration_published
 
IoT and Serverless - AWS - Serverless Summit - Madhusudan Shekar
IoT and Serverless - AWS - Serverless Summit - Madhusudan ShekarIoT and Serverless - AWS - Serverless Summit - Madhusudan Shekar
IoT and Serverless - AWS - Serverless Summit - Madhusudan Shekar
 
A quick introduction to AWS Lambda
A quick introduction to AWS LambdaA quick introduction to AWS Lambda
A quick introduction to AWS Lambda
 
Democratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless SummitDemocratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless Summit
 
LINE NOW Scratch Card - From Nothing to Production in one month
LINE NOW Scratch Card -  From Nothing to Production in one monthLINE NOW Scratch Card -  From Nothing to Production in one month
LINE NOW Scratch Card - From Nothing to Production in one month
 
Atlassian Connect – Add Ons For Every Platform - Tanguy Crusson
Atlassian Connect – Add Ons For Every Platform - Tanguy CrussonAtlassian Connect – Add Ons For Every Platform - Tanguy Crusson
Atlassian Connect – Add Ons For Every Platform - Tanguy Crusson
 
Pie on AWS
Pie on AWSPie on AWS
Pie on AWS
 
"Hacking" JIRA and Confluence Cloud Part 1 - Connect Your Apps - Travis Smith
"Hacking" JIRA and Confluence Cloud Part 1 - Connect Your Apps - Travis Smith"Hacking" JIRA and Confluence Cloud Part 1 - Connect Your Apps - Travis Smith
"Hacking" JIRA and Confluence Cloud Part 1 - Connect Your Apps - Travis Smith
 
Async streams
Async streamsAsync streams
Async streams
 
Rounds tips & tricks
Rounds tips & tricksRounds tips & tricks
Rounds tips & tricks
 

Viewers also liked

Quels services Azure pour mon application Web ?
Quels services Azure pour mon application Web ?Quels services Azure pour mon application Web ?
Quels services Azure pour mon application Web ?Microsoft
 
5min Lightning talk at Paris.rb
5min Lightning talk at Paris.rb5min Lightning talk at Paris.rb
5min Lightning talk at Paris.rbSylvain Utard
 
Algolia @ProductTank Paris #13 - Dec 2014
Algolia @ProductTank Paris #13 - Dec 2014Algolia @ProductTank Paris #13 - Dec 2014
Algolia @ProductTank Paris #13 - Dec 2014Gaëtan Gachet
 
Supernatural aventuri in lumea intunericului
Supernatural  aventuri in lumea intunericuluiSupernatural  aventuri in lumea intunericului
Supernatural aventuri in lumea intunericuluievelinadenisa
 
La importancia de las redes sociales en el ámbito
La importancia de las redes sociales en el ámbitoLa importancia de las redes sociales en el ámbito
La importancia de las redes sociales en el ámbitoejrodriguez5
 
Visão geral de fórmulas no excel
Visão geral de fórmulas no excelVisão geral de fórmulas no excel
Visão geral de fórmulas no excelManuel Pinto
 
The Power of Nutrition - Investor Guide (2015-16) - Final
The Power of Nutrition - Investor Guide (2015-16) - FinalThe Power of Nutrition - Investor Guide (2015-16) - Final
The Power of Nutrition - Investor Guide (2015-16) - FinalAlethea Dopart
 
Prezentacja andrzej romanowicz wsb-zarządzanie
Prezentacja andrzej romanowicz wsb-zarządzaniePrezentacja andrzej romanowicz wsb-zarządzanie
Prezentacja andrzej romanowicz wsb-zarządzanieAndrzej Romanowicz
 
Architecture of Search Systems and Measuring the Search Effectiveness
Architecture of Search Systems and Measuring the Search EffectivenessArchitecture of Search Systems and Measuring the Search Effectiveness
Architecture of Search Systems and Measuring the Search EffectivenessFindwise
 
Morphological Analysis
Morphological AnalysisMorphological Analysis
Morphological AnalysisInnowiz
 
Architecture of a search engine
Architecture of a search engineArchitecture of a search engine
Architecture of a search engineSylvain Utard
 

Viewers also liked (20)

Quels services Azure pour mon application Web ?
Quels services Azure pour mon application Web ?Quels services Azure pour mon application Web ?
Quels services Azure pour mon application Web ?
 
5min Lightning talk at Paris.rb
5min Lightning talk at Paris.rb5min Lightning talk at Paris.rb
5min Lightning talk at Paris.rb
 
Algolia @ProductTank Paris #13 - Dec 2014
Algolia @ProductTank Paris #13 - Dec 2014Algolia @ProductTank Paris #13 - Dec 2014
Algolia @ProductTank Paris #13 - Dec 2014
 
Sacha Baron Cohen
Sacha Baron CohenSacha Baron Cohen
Sacha Baron Cohen
 
Supernatural aventuri in lumea intunericului
Supernatural  aventuri in lumea intunericuluiSupernatural  aventuri in lumea intunericului
Supernatural aventuri in lumea intunericului
 
Expo computación
Expo computaciónExpo computación
Expo computación
 
La importancia de las redes sociales en el ámbito
La importancia de las redes sociales en el ámbitoLa importancia de las redes sociales en el ámbito
La importancia de las redes sociales en el ámbito
 
Visão geral de fórmulas no excel
Visão geral de fórmulas no excelVisão geral de fórmulas no excel
Visão geral de fórmulas no excel
 
The Power of Nutrition - Investor Guide (2015-16) - Final
The Power of Nutrition - Investor Guide (2015-16) - FinalThe Power of Nutrition - Investor Guide (2015-16) - Final
The Power of Nutrition - Investor Guide (2015-16) - Final
 
fort2
fort2fort2
fort2
 
Expo computación
Expo computaciónExpo computación
Expo computación
 
new resume
new resumenew resume
new resume
 
Expo computación
Expo computaciónExpo computación
Expo computación
 
Expo computación
Expo computaciónExpo computación
Expo computación
 
Prezentacja andrzej romanowicz wsb-zarządzanie
Prezentacja andrzej romanowicz wsb-zarządzaniePrezentacja andrzej romanowicz wsb-zarządzanie
Prezentacja andrzej romanowicz wsb-zarządzanie
 
Tesla Presentation
Tesla PresentationTesla Presentation
Tesla Presentation
 
Ramesh_MS Dynamics AX
Ramesh_MS Dynamics AXRamesh_MS Dynamics AX
Ramesh_MS Dynamics AX
 
Architecture of Search Systems and Measuring the Search Effectiveness
Architecture of Search Systems and Measuring the Search EffectivenessArchitecture of Search Systems and Measuring the Search Effectiveness
Architecture of Search Systems and Measuring the Search Effectiveness
 
Morphological Analysis
Morphological AnalysisMorphological Analysis
Morphological Analysis
 
Architecture of a search engine
Architecture of a search engineArchitecture of a search engine
Architecture of a search engine
 

Similar to Fury road to a worldwide API - API Days - December 2015

Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platformdhruv_chaudhari
 
Google Cloud Next '22 Recap: Serverless & Data edition
Google Cloud Next '22 Recap: Serverless & Data editionGoogle Cloud Next '22 Recap: Serverless & Data edition
Google Cloud Next '22 Recap: Serverless & Data editionDaniel Zivkovic
 
CosmosDB Conf - A startup's infrastructure
CosmosDB Conf - A startup's infrastructureCosmosDB Conf - A startup's infrastructure
CosmosDB Conf - A startup's infrastructureDavidOBrien461139
 
Using ClickHouse for Experimentation
Using ClickHouse for ExperimentationUsing ClickHouse for Experimentation
Using ClickHouse for ExperimentationGleb Kanterov
 
Data Culture Series - Keynote - 3rd Dec
Data Culture Series - Keynote - 3rd DecData Culture Series - Keynote - 3rd Dec
Data Culture Series - Keynote - 3rd DecJonathan Woodward
 
Big data oracle_introduccion
Big data oracle_introduccionBig data oracle_introduccion
Big data oracle_introduccionFran Navarro
 
Denver Big Data Analytics Day
Denver Big Data Analytics DayDenver Big Data Analytics Day
Denver Big Data Analytics DayZivaro Inc
 
03-03-2023 - APIForce (1).pdf
03-03-2023 - APIForce (1).pdf03-03-2023 - APIForce (1).pdf
03-03-2023 - APIForce (1).pdfAmir Khan
 
Cerner at SplunkLive! Minneapolis
Cerner at SplunkLive! MinneapolisCerner at SplunkLive! Minneapolis
Cerner at SplunkLive! MinneapolisSplunk
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesChris Schalk
 
Postgres Plus Cloud Database Presentation
Postgres Plus Cloud Database PresentationPostgres Plus Cloud Database Presentation
Postgres Plus Cloud Database PresentationEDB
 
Challenges Encountered by Scaling Up Recommendation Services at Gravity R&D
Challenges Encountered by Scaling Up Recommendation Services at Gravity R&DChallenges Encountered by Scaling Up Recommendation Services at Gravity R&D
Challenges Encountered by Scaling Up Recommendation Services at Gravity R&DDomonkos Tikk
 
Google App Engine for Business 101
Google App Engine for Business 101Google App Engine for Business 101
Google App Engine for Business 101Chris Schalk
 
Google Developers Summit Tokyo - Google Cloud Platform で知る Google クラウドの「Googl...
Google Developers Summit Tokyo - Google Cloud Platform で知る Google クラウドの「Googl...Google Developers Summit Tokyo - Google Cloud Platform で知る Google クラウドの「Googl...
Google Developers Summit Tokyo - Google Cloud Platform で知る Google クラウドの「Googl...Google Cloud Platform - Japan
 
Gregory Touretsky - Intel IT- Open Cloud Journey
Gregory Touretsky - Intel IT- Open Cloud JourneyGregory Touretsky - Intel IT- Open Cloud Journey
Gregory Touretsky - Intel IT- Open Cloud JourneyCloud Native Day Tel Aviv
 
Zenko @Cloud Native Foundation London Meetup March 6th 2018
Zenko @Cloud Native Foundation London Meetup March 6th 2018Zenko @Cloud Native Foundation London Meetup March 6th 2018
Zenko @Cloud Native Foundation London Meetup March 6th 2018Laure Vergeron
 
Cloudweaver commercial keynote
Cloudweaver commercial keynoteCloudweaver commercial keynote
Cloudweaver commercial keynoteLuigi Gregori
 
Intro to Joyent's Manta Object Storage Service
Intro to Joyent's Manta Object Storage ServiceIntro to Joyent's Manta Object Storage Service
Intro to Joyent's Manta Object Storage ServiceRod Boothby
 
Introduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesIntroduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesChris Schalk
 

Similar to Fury road to a worldwide API - API Days - December 2015 (20)

Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platform
 
Google Cloud Next '22 Recap: Serverless & Data edition
Google Cloud Next '22 Recap: Serverless & Data editionGoogle Cloud Next '22 Recap: Serverless & Data edition
Google Cloud Next '22 Recap: Serverless & Data edition
 
CosmosDB Conf - A startup's infrastructure
CosmosDB Conf - A startup's infrastructureCosmosDB Conf - A startup's infrastructure
CosmosDB Conf - A startup's infrastructure
 
Using ClickHouse for Experimentation
Using ClickHouse for ExperimentationUsing ClickHouse for Experimentation
Using ClickHouse for Experimentation
 
Data Culture Series - Keynote - 3rd Dec
Data Culture Series - Keynote - 3rd DecData Culture Series - Keynote - 3rd Dec
Data Culture Series - Keynote - 3rd Dec
 
Big data oracle_introduccion
Big data oracle_introduccionBig data oracle_introduccion
Big data oracle_introduccion
 
Denver Big Data Analytics Day
Denver Big Data Analytics DayDenver Big Data Analytics Day
Denver Big Data Analytics Day
 
03-03-2023 - APIForce (1).pdf
03-03-2023 - APIForce (1).pdf03-03-2023 - APIForce (1).pdf
03-03-2023 - APIForce (1).pdf
 
Cerner at SplunkLive! Minneapolis
Cerner at SplunkLive! MinneapolisCerner at SplunkLive! Minneapolis
Cerner at SplunkLive! Minneapolis
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud Technologies
 
Postgres Plus Cloud Database Presentation
Postgres Plus Cloud Database PresentationPostgres Plus Cloud Database Presentation
Postgres Plus Cloud Database Presentation
 
Geode Meetup Apachecon
Geode Meetup ApacheconGeode Meetup Apachecon
Geode Meetup Apachecon
 
Challenges Encountered by Scaling Up Recommendation Services at Gravity R&D
Challenges Encountered by Scaling Up Recommendation Services at Gravity R&DChallenges Encountered by Scaling Up Recommendation Services at Gravity R&D
Challenges Encountered by Scaling Up Recommendation Services at Gravity R&D
 
Google App Engine for Business 101
Google App Engine for Business 101Google App Engine for Business 101
Google App Engine for Business 101
 
Google Developers Summit Tokyo - Google Cloud Platform で知る Google クラウドの「Googl...
Google Developers Summit Tokyo - Google Cloud Platform で知る Google クラウドの「Googl...Google Developers Summit Tokyo - Google Cloud Platform で知る Google クラウドの「Googl...
Google Developers Summit Tokyo - Google Cloud Platform で知る Google クラウドの「Googl...
 
Gregory Touretsky - Intel IT- Open Cloud Journey
Gregory Touretsky - Intel IT- Open Cloud JourneyGregory Touretsky - Intel IT- Open Cloud Journey
Gregory Touretsky - Intel IT- Open Cloud Journey
 
Zenko @Cloud Native Foundation London Meetup March 6th 2018
Zenko @Cloud Native Foundation London Meetup March 6th 2018Zenko @Cloud Native Foundation London Meetup March 6th 2018
Zenko @Cloud Native Foundation London Meetup March 6th 2018
 
Cloudweaver commercial keynote
Cloudweaver commercial keynoteCloudweaver commercial keynote
Cloudweaver commercial keynote
 
Intro to Joyent's Manta Object Storage Service
Intro to Joyent's Manta Object Storage ServiceIntro to Joyent's Manta Object Storage Service
Intro to Joyent's Manta Object Storage Service
 
Introduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesIntroduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform Technologies
 

Recently uploaded

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Recently uploaded (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

Fury road to a worldwide API - API Days - December 2015

  • 1. ALGOLIA’S FURY ROAD TO A WORLDWIDE API Build Unique Search Experiences Julien Lemoine Co-founder & CTO julien@algolia.com @jlemoine_algo APIDays - Dec 2015
  • 2. @algolia A hosted search API that focuses on Developer and User Experiences
  • 3.
  • 4.
  • 6. @algolia From anywhere A hosted search API Replies in milliseconds
  • 7. @algolia With intuitive relevance A hosted search API From anywhereReplies in milliseconds
  • 10. @algolia Algolia Today 1200+customers in 100+ countries 30B+ Write operationsper month 8B+ User-generated queriesper month
  • 11. @algolia Algolia Today 14regions 30data centers 1200+customers in 100+ countries 30B+ Write operationsper month 8B+ User-generated queriesper month
  • 13. .1 March 2013 High Availability was designed… but not implemented A single machine in 2 different locations: Canada/East and Europe/West Focus on performance, searching over indexing First customer in prod RAM: 32GB Proc: 4 cores, 3.4-3.8 GHz SSD: 2x 120 GB Raid-0 (Intel 320)
  • 14. .2 June 2013 Implementation of high availability in our architecture 3 machines with a consensus on write… but in the same data center API clients handled automatic retries in case of error APPID-1.algolia.io, APPID-2.algolia.io, APPID-3.algolia.io RAM: 64GB Proc: 6 cores, 3.2-3.8 GHz SSD: 2x 300 GB Raid-0 (Intel 320)
  • 15. .3 August 2013 Official launch of the service Two locations: Europe/West and Canada/East Same provider but different network equipment and power units (cheap multi-AZ) 10 API clients, developed manually (https keep alive, using TLS correctly, retry strategy…) RAM: 128GB Proc: 8 cores, 3.1-3.8 GHz SSD: 2x 300 GB Raid-0 (Intel S3500)
  • 16. .4 January 2014 Deployment is a big risk for high availability Agile development, 6000+ unit tests, 200+ non regression tests… But no instant rollback! Result: 8 minutes of indexing downtime ☂ From then on - start with test clusters - instant rollback
  • 17. .5 July 2014 First deployment on two data centers Biggest customer so far ! In Europe, 2 different data centers at 100Km distance (already better than AZ of cloud offers) RAM: 128GB Proc: 6 cores, 3.5-3.9 GHz SSD: 2x 400 GB Raid-0 (Intel S3700)
  • 18. .6 October 2014 Automation via Chef Significant increase in managed machines Shell Scripts -> Chef Automation is great but s**t happens… A typo in a cookbook nearly broke our prod! From then on: 2 versions of the cookbooks deployed to different servers of the same cluster
  • 19. .7 February 2015 Launch of our synchronized worldwide infrastructure 8 new regions! Low latency everywhere with automatic replication 12regions
  • 20. @algolia Distributed Search Network - Worldwide Synchronization
  • 21. @algolia Distributed Search Network - Worldwide Synchronization
  • 22. .8 March 2015 Better high availability per region Spread our US clusters across two completely different providers • 2 different data centers in close locations (24 miles, 1ms latency) • 3 different machines • 2 completely different autonomous systems
  • 23. .9 May 2015 Introducing several DNS providers Retry strategy in API clients, again! 1. APPID-dsn.algolia.net 2. Retry randomly, APPID-1.algolianet.com APPID-2.algolianet.com APPID-3.algolianet.com
  • 24. .10 July 2015 Three completely independent providers per cluster With 2 providers we could still loose indexing Clusters spanning multiple data centers, autonomous systems and upstream providers.
  • 25. @algolia Design early Do not over engineer Focus on execution Building an HA architecture takes time
  • 26. @algolia THANK YOU! QUESTIONS? julien@algolia.com Full version on Medium http://bit.ly/algoliafuryroad