SlideShare una empresa de Scribd logo
1 de 12
Moving Viadeo to AWS
Julien Simon, Chief Technology Officer
jsimon@viadeoteam.com
@julsimon
25
China
9
France
Russia
 JV 50/50 with local partner,
 1m members
 Position in high quality professional
profiles
French-speaking countries
in Africa
 Ideally positioned organically with strong
momentum
 #1 with 3m members
France
 Founded in 2005
 Market leader, with 9m
members
 Very strong ties with local
recruiters
 Strong corporate offering,
with 21% of top 1,000
companies recruiting on
Viadeo
 Acquired in 2008
 #1 with 25m members
 Trusted source of professional data in
China
 Bringing trust into the professional world
 Strong local management team
China
3
Africa
Viadeo
Viadeo in 2015 ?
Our current platform
• Infrastructure : 250 Linux servers hosted in San Francisco, CA
• Backends : MySQL, ElasticSearch, Hbase, Spark, Hadoop
• Service-oriented platform : « Kasper », Java
– CQRS : Command-Query Responsibility Segregation
– ES : Event Sourcing
– DDD : Domain Driven Design
• Web application : « Limbo », Node.js
• Mobile applications : iOS and Android
AWS @ Viadeo : the story so far
• 2011 : file storage (S3)
• 2012 : Viadeo office flooded! Internal servers destroyed
 All services rebuilt in AWS in 48h (VPC, EC2)
• 2013 : data processing (Hadoop, EMR)
• 2014 : more data !
– New analytics infrastructure :
Snowplow  S3  Redshift
(≈ 20 million events / day for starters)
– Content personalization : EMR, Spark
AWS @ Viadeo : the story so far
• Infrastructure live in 3 regions (us-east-1, us-west-2, eu-west-1)
• 4 VPC
• ≈ 100 EC2 instances (half production, half development)
• ≈ 15 TB in S3
• 2 Redshift clusters (5 instances each)
• AWS services currently in production at Viadeo :
– Core infra : VPC, Route 53, IAM, S3, CloudFront,
– Instances : Elastic Load Balancing, Elastic Beanstalk,
CloudFormation, EC2
– Data storage & processing : RDS, EMR, Redshift
Enter physical infrastructure challenges…
• Improving our agility
– How can we deploy infrastructure as often as we deploy code (i.e. every day)?
– How can we experiment quickly and at (almost) zero cost?
• Optimizing our spend
– How can we avoid CAPEX peaks caused by hardware refresh?
– How do we best adapt spend to traffic and business conditions?
• Implementing a stronger Disaster Recovery plan
– …without building a 2nd DC which we don’t need anyway
• Scaling storage & CPU for data processing
– Do we really need big servers, lots of rack space and lots of power?
– How do we efficiently handle unpredictable workloads?
Why we decided to move everything to AWS
• We want to focus on our real job : building a great service
– No more issues with hardware vendors, no more licensing hell. Ever!
– Experimenting, (re)deploying & scaling are just a few clicks away
– Great ecosystem of SaaS partners running in AWS
• We’ve been using it for a while now and it just works
– AWS CloudFormation is infrastructure as code
– « Time to server » is in minutes, not days
• We’re ready and eager for it : Agile and DevOps are strong Viadeo values
• We want to measure ROI and optimize cost
Our AWS manifesto
• Key objectives : automation, scalability, safety
• Continuous integration & delivery on all layers
(infrastructure, instances, applications)
• Infrastructure : deep integration with AWS services for maximum leverage
• Applications : use our current stack for now, unless the benefit/cost ratio of
adopting an equivalent AWS service is too good to pass (Redshift)
• Move everything, but no big bang : the move will be gradual
 plan & build with parallel run in mind (DC + AWS)
Infrastructure as code : done!
Github
CircleCI
Jenkins
AWS S3
AWS AMIs
packer.io
cloudformation
Puppet codebase, CloudFormation templates
New challenges ;)
• Some performance & cost trade-off in the short term
• Technical debt (aka « guess what’s under the rug? »)
– Layer 7 load balancing rules (*evil*), legacy filers, etc.
– Servers running really old versions of whatever: keep or reinstall?
– Any cruft ignored over the years. Time to clean up!
• Parallel run requires good connectivity AWS DirectConnect
• CloudFront performance not great across regions  need a 2nd CDN
• Negotiating early termination of the legacy hosting contract !
Conclusion
• 5 years ago : «Cloud computing? Why?»
• Now : «NO cloud computing? Why?»
• Some good reasons, but mostly really bad
ones
• Cloud computing a fashion? I don’t think so.
• Cloud = infrastructure in digital form
(like photos, music, movies, money, etc.)
• Using AWS helps Viadeo change every day,
by speeding up innovation and delivery
• See you there!

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Using Amazon CloudWatch Events, AWS Lambda and Spark Streaming to Process EC...
 Using Amazon CloudWatch Events, AWS Lambda and Spark Streaming to Process EC... Using Amazon CloudWatch Events, AWS Lambda and Spark Streaming to Process EC...
Using Amazon CloudWatch Events, AWS Lambda and Spark Streaming to Process EC...
 
Serverless architecture with AWS Lambda (June 2016)
Serverless architecture with AWS Lambda (June 2016)Serverless architecture with AWS Lambda (June 2016)
Serverless architecture with AWS Lambda (June 2016)
 
Building a Serverless Pipeline
Building a Serverless PipelineBuilding a Serverless Pipeline
Building a Serverless Pipeline
 
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
 
Amazon ECS (March 2016)
Amazon ECS (March 2016)Amazon ECS (March 2016)
Amazon ECS (March 2016)
 
Hands-on with AWS IoT
Hands-on with AWS IoTHands-on with AWS IoT
Hands-on with AWS IoT
 
Customer Sharing: Trend Micro - Analytic Engine - A common Big Data computati...
Customer Sharing: Trend Micro - Analytic Engine - A common Big Data computati...Customer Sharing: Trend Micro - Analytic Engine - A common Big Data computati...
Customer Sharing: Trend Micro - Analytic Engine - A common Big Data computati...
 
AWS July Webinar Series: Introducing AWS OpsWorks for Windows Server
AWS July Webinar Series: Introducing AWS OpsWorks for Windows ServerAWS July Webinar Series: Introducing AWS OpsWorks for Windows Server
AWS July Webinar Series: Introducing AWS OpsWorks for Windows Server
 
Building serverless apps with Node.js
Building serverless apps with Node.jsBuilding serverless apps with Node.js
Building serverless apps with Node.js
 
AWS Big Data combo
AWS Big Data comboAWS Big Data combo
AWS Big Data combo
 
AWS Webcast - AWS OpsWorks Continuous Integration Demo
AWS Webcast - AWS OpsWorks Continuous Integration Demo  AWS Webcast - AWS OpsWorks Continuous Integration Demo
AWS Webcast - AWS OpsWorks Continuous Integration Demo
 
An introduction to serverless architectures (February 2017)
An introduction to serverless architectures (February 2017)An introduction to serverless architectures (February 2017)
An introduction to serverless architectures (February 2017)
 
使用 AWS 無伺服器運算服務打造您的第一個語音助理
使用 AWS 無伺服器運算服務打造您的第一個語音助理使用 AWS 無伺服器運算服務打造您的第一個語音助理
使用 AWS 無伺服器運算服務打造您的第一個語音助理
 
DevOps with Amazon Web Services (November 2016)
DevOps with Amazon Web Services (November 2016)DevOps with Amazon Web Services (November 2016)
DevOps with Amazon Web Services (November 2016)
 
Deploying a simple Rails application with AWS Elastic Beanstalk
Deploying a simple Rails application with AWS Elastic BeanstalkDeploying a simple Rails application with AWS Elastic Beanstalk
Deploying a simple Rails application with AWS Elastic Beanstalk
 
Docker on AWS
Docker on AWSDocker on AWS
Docker on AWS
 
Agile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic BeanstalkAgile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic Beanstalk
 
Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)
 
Serverless Frameworks on AWS
Serverless Frameworks on AWSServerless Frameworks on AWS
Serverless Frameworks on AWS
 
Building A Dynamic Website - 31st Jan 2015
Building A Dynamic Website - 31st Jan 2015Building A Dynamic Website - 31st Jan 2015
Building A Dynamic Website - 31st Jan 2015
 

Destacado

Destacado (7)

30 billion requests per day with a NoSQL architecture (2013)
30 billion requests per day with a NoSQL architecture (2013)30 billion requests per day with a NoSQL architecture (2013)
30 billion requests per day with a NoSQL architecture (2013)
 
Aws se-aws 경험기
Aws se-aws 경험기Aws se-aws 경험기
Aws se-aws 경험기
 
Life in the tech trenches (2015)
Life in the tech trenches (2015)Life in the tech trenches (2015)
Life in the tech trenches (2015)
 
추천서비스고군분투기 On Aws - 박진우 (레코벨)
추천서비스고군분투기 On Aws - 박진우 (레코벨)추천서비스고군분투기 On Aws - 박진우 (레코벨)
추천서비스고군분투기 On Aws - 박진우 (레코벨)
 
Building Serverless APIs on AWS
Building Serverless APIs on AWSBuilding Serverless APIs on AWS
Building Serverless APIs on AWS
 
Chiffrez vos données avec AWS KMS et avec AWS CloudHSM
Chiffrez vos données avec AWS KMS et avec AWS CloudHSMChiffrez vos données avec AWS KMS et avec AWS CloudHSM
Chiffrez vos données avec AWS KMS et avec AWS CloudHSM
 
Viadeo - Cost Driven Development
Viadeo - Cost Driven DevelopmentViadeo - Cost Driven Development
Viadeo - Cost Driven Development
 

Similar a Moving Viadeo to AWS (2015)

AWS Cloud Kata | Manila - Getting to Scale on AWS
AWS Cloud Kata | Manila - Getting to Scale on AWSAWS Cloud Kata | Manila - Getting to Scale on AWS
AWS Cloud Kata | Manila - Getting to Scale on AWS
Amazon Web Services
 

Similar a Moving Viadeo to AWS (2015) (20)

Moving Viadeo to AWS
Moving Viadeo to AWSMoving Viadeo to AWS
Moving Viadeo to AWS
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
 
Windows and .NET on AWS
Windows and .NET on AWSWindows and .NET on AWS
Windows and .NET on AWS
 
AWS re:Invent 2016: The State of Serverless Computing (SVR311)
AWS re:Invent 2016: The State of Serverless Computing (SVR311)AWS re:Invent 2016: The State of Serverless Computing (SVR311)
AWS re:Invent 2016: The State of Serverless Computing (SVR311)
 
Building scalable OTT workflows on AWS - Serverless Video Workflows
Building scalable OTT workflows on AWS - Serverless Video WorkflowsBuilding scalable OTT workflows on AWS - Serverless Video Workflows
Building scalable OTT workflows on AWS - Serverless Video Workflows
 
estrat AWS Cloud Breakfast
estrat AWS Cloud Breakfastestrat AWS Cloud Breakfast
estrat AWS Cloud Breakfast
 
Cloud First: New Architecture for New Infrastructure
Cloud First: New Architecture for New InfrastructureCloud First: New Architecture for New Infrastructure
Cloud First: New Architecture for New Infrastructure
 
Expanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud InfrastructureExpanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud Infrastructure
 
Expanding your Data Center with Hybrid Cloud Infrastructure
Expanding your Data Center with Hybrid Cloud InfrastructureExpanding your Data Center with Hybrid Cloud Infrastructure
Expanding your Data Center with Hybrid Cloud Infrastructure
 
What is Amazon Web Services & How to Start to deploy your apps ?
What is Amazon Web Services & How to Start to deploy your apps ?What is Amazon Web Services & How to Start to deploy your apps ?
What is Amazon Web Services & How to Start to deploy your apps ?
 
Meetup #3: Migrate a fast scale system to AWS
Meetup #3: Migrate a fast scale system to AWSMeetup #3: Migrate a fast scale system to AWS
Meetup #3: Migrate a fast scale system to AWS
 
Building a Global Multi-Tenant Monitoring Platform
Building a Global Multi-Tenant Monitoring PlatformBuilding a Global Multi-Tenant Monitoring Platform
Building a Global Multi-Tenant Monitoring Platform
 
Cloud Architecture: Patterns and Best Practices
Cloud Architecture: Patterns and Best PracticesCloud Architecture: Patterns and Best Practices
Cloud Architecture: Patterns and Best Practices
 
Introduction to AWS
Introduction to AWSIntroduction to AWS
Introduction to AWS
 
Netflix in the Cloud at SV Forum
Netflix in the Cloud at SV ForumNetflix in the Cloud at SV Forum
Netflix in the Cloud at SV Forum
 
Windows on AWS
Windows on AWSWindows on AWS
Windows on AWS
 
SMC301 The State of Serverless Computing
SMC301 The State of Serverless ComputingSMC301 The State of Serverless Computing
SMC301 The State of Serverless Computing
 
AWS Cloud Kata | Manila - Getting to Scale on AWS
AWS Cloud Kata | Manila - Getting to Scale on AWSAWS Cloud Kata | Manila - Getting to Scale on AWS
AWS Cloud Kata | Manila - Getting to Scale on AWS
 
Microservices and serverless for MegaStartups - DLD TLV 2017
Microservices and serverless for MegaStartups - DLD TLV 2017Microservices and serverless for MegaStartups - DLD TLV 2017
Microservices and serverless for MegaStartups - DLD TLV 2017
 
AWS Enterprise Summit Manila Windows .net
AWS Enterprise Summit Manila Windows .netAWS Enterprise Summit Manila Windows .net
AWS Enterprise Summit Manila Windows .net
 

Más de Julien SIMON

Más de Julien SIMON (20)

An introduction to computer vision with Hugging Face
An introduction to computer vision with Hugging FaceAn introduction to computer vision with Hugging Face
An introduction to computer vision with Hugging Face
 
Reinventing Deep Learning
 with Hugging Face Transformers
Reinventing Deep Learning
 with Hugging Face TransformersReinventing Deep Learning
 with Hugging Face Transformers
Reinventing Deep Learning
 with Hugging Face Transformers
 
Building NLP applications with Transformers
Building NLP applications with TransformersBuilding NLP applications with Transformers
Building NLP applications with Transformers
 
Building Machine Learning Models Automatically (June 2020)
Building Machine Learning Models Automatically (June 2020)Building Machine Learning Models Automatically (June 2020)
Building Machine Learning Models Automatically (June 2020)
 
Starting your AI/ML project right (May 2020)
Starting your AI/ML project right (May 2020)Starting your AI/ML project right (May 2020)
Starting your AI/ML project right (May 2020)
 
Scale Machine Learning from zero to millions of users (April 2020)
Scale Machine Learning from zero to millions of users (April 2020)Scale Machine Learning from zero to millions of users (April 2020)
Scale Machine Learning from zero to millions of users (April 2020)
 
An Introduction to Generative Adversarial Networks (April 2020)
An Introduction to Generative Adversarial Networks (April 2020)An Introduction to Generative Adversarial Networks (April 2020)
An Introduction to Generative Adversarial Networks (April 2020)
 
AIM410R1 Deep learning applications with TensorFlow, featuring Fannie Mae (De...
AIM410R1 Deep learning applications with TensorFlow, featuring Fannie Mae (De...AIM410R1 Deep learning applications with TensorFlow, featuring Fannie Mae (De...
AIM410R1 Deep learning applications with TensorFlow, featuring Fannie Mae (De...
 
AIM361 Optimizing machine learning models with Amazon SageMaker (December 2019)
AIM361 Optimizing machine learning models with Amazon SageMaker (December 2019)AIM361 Optimizing machine learning models with Amazon SageMaker (December 2019)
AIM361 Optimizing machine learning models with Amazon SageMaker (December 2019)
 
AIM410R Deep Learning Applications with TensorFlow, featuring Mobileye (Decem...
AIM410R Deep Learning Applications with TensorFlow, featuring Mobileye (Decem...AIM410R Deep Learning Applications with TensorFlow, featuring Mobileye (Decem...
AIM410R Deep Learning Applications with TensorFlow, featuring Mobileye (Decem...
 
A pragmatic introduction to natural language processing models (October 2019)
A pragmatic introduction to natural language processing models (October 2019)A pragmatic introduction to natural language processing models (October 2019)
A pragmatic introduction to natural language processing models (October 2019)
 
Building smart applications with AWS AI services (October 2019)
Building smart applications with AWS AI services (October 2019)Building smart applications with AWS AI services (October 2019)
Building smart applications with AWS AI services (October 2019)
 
Build, train and deploy ML models with SageMaker (October 2019)
Build, train and deploy ML models with SageMaker (October 2019)Build, train and deploy ML models with SageMaker (October 2019)
Build, train and deploy ML models with SageMaker (October 2019)
 
The Future of AI (September 2019)
The Future of AI (September 2019)The Future of AI (September 2019)
The Future of AI (September 2019)
 
Building Machine Learning Inference Pipelines at Scale (July 2019)
Building Machine Learning Inference Pipelines at Scale (July 2019)Building Machine Learning Inference Pipelines at Scale (July 2019)
Building Machine Learning Inference Pipelines at Scale (July 2019)
 
Train and Deploy Machine Learning Workloads with AWS Container Services (July...
Train and Deploy Machine Learning Workloads with AWS Container Services (July...Train and Deploy Machine Learning Workloads with AWS Container Services (July...
Train and Deploy Machine Learning Workloads with AWS Container Services (July...
 
Optimize your Machine Learning Workloads on AWS (July 2019)
Optimize your Machine Learning Workloads on AWS (July 2019)Optimize your Machine Learning Workloads on AWS (July 2019)
Optimize your Machine Learning Workloads on AWS (July 2019)
 
Deep Learning on Amazon Sagemaker (July 2019)
Deep Learning on Amazon Sagemaker (July 2019)Deep Learning on Amazon Sagemaker (July 2019)
Deep Learning on Amazon Sagemaker (July 2019)
 
Automate your Amazon SageMaker Workflows (July 2019)
Automate your Amazon SageMaker Workflows (July 2019)Automate your Amazon SageMaker Workflows (July 2019)
Automate your Amazon SageMaker Workflows (July 2019)
 
Build, train and deploy ML models with Amazon SageMaker (May 2019)
Build, train and deploy ML models with Amazon SageMaker (May 2019)Build, train and deploy ML models with Amazon SageMaker (May 2019)
Build, train and deploy ML models with Amazon SageMaker (May 2019)
 

Último

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
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Ú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
 
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
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 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)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Moving Viadeo to AWS (2015)

  • 1. Moving Viadeo to AWS Julien Simon, Chief Technology Officer jsimon@viadeoteam.com @julsimon
  • 2. 25 China 9 France Russia  JV 50/50 with local partner,  1m members  Position in high quality professional profiles French-speaking countries in Africa  Ideally positioned organically with strong momentum  #1 with 3m members France  Founded in 2005  Market leader, with 9m members  Very strong ties with local recruiters  Strong corporate offering, with 21% of top 1,000 companies recruiting on Viadeo  Acquired in 2008  #1 with 25m members  Trusted source of professional data in China  Bringing trust into the professional world  Strong local management team China 3 Africa Viadeo
  • 4. Our current platform • Infrastructure : 250 Linux servers hosted in San Francisco, CA • Backends : MySQL, ElasticSearch, Hbase, Spark, Hadoop • Service-oriented platform : « Kasper », Java – CQRS : Command-Query Responsibility Segregation – ES : Event Sourcing – DDD : Domain Driven Design • Web application : « Limbo », Node.js • Mobile applications : iOS and Android
  • 5. AWS @ Viadeo : the story so far • 2011 : file storage (S3) • 2012 : Viadeo office flooded! Internal servers destroyed  All services rebuilt in AWS in 48h (VPC, EC2) • 2013 : data processing (Hadoop, EMR) • 2014 : more data ! – New analytics infrastructure : Snowplow  S3  Redshift (≈ 20 million events / day for starters) – Content personalization : EMR, Spark
  • 6. AWS @ Viadeo : the story so far • Infrastructure live in 3 regions (us-east-1, us-west-2, eu-west-1) • 4 VPC • ≈ 100 EC2 instances (half production, half development) • ≈ 15 TB in S3 • 2 Redshift clusters (5 instances each) • AWS services currently in production at Viadeo : – Core infra : VPC, Route 53, IAM, S3, CloudFront, – Instances : Elastic Load Balancing, Elastic Beanstalk, CloudFormation, EC2 – Data storage & processing : RDS, EMR, Redshift
  • 7. Enter physical infrastructure challenges… • Improving our agility – How can we deploy infrastructure as often as we deploy code (i.e. every day)? – How can we experiment quickly and at (almost) zero cost? • Optimizing our spend – How can we avoid CAPEX peaks caused by hardware refresh? – How do we best adapt spend to traffic and business conditions? • Implementing a stronger Disaster Recovery plan – …without building a 2nd DC which we don’t need anyway • Scaling storage & CPU for data processing – Do we really need big servers, lots of rack space and lots of power? – How do we efficiently handle unpredictable workloads?
  • 8. Why we decided to move everything to AWS • We want to focus on our real job : building a great service – No more issues with hardware vendors, no more licensing hell. Ever! – Experimenting, (re)deploying & scaling are just a few clicks away – Great ecosystem of SaaS partners running in AWS • We’ve been using it for a while now and it just works – AWS CloudFormation is infrastructure as code – « Time to server » is in minutes, not days • We’re ready and eager for it : Agile and DevOps are strong Viadeo values • We want to measure ROI and optimize cost
  • 9. Our AWS manifesto • Key objectives : automation, scalability, safety • Continuous integration & delivery on all layers (infrastructure, instances, applications) • Infrastructure : deep integration with AWS services for maximum leverage • Applications : use our current stack for now, unless the benefit/cost ratio of adopting an equivalent AWS service is too good to pass (Redshift) • Move everything, but no big bang : the move will be gradual  plan & build with parallel run in mind (DC + AWS)
  • 10. Infrastructure as code : done! Github CircleCI Jenkins AWS S3 AWS AMIs packer.io cloudformation Puppet codebase, CloudFormation templates
  • 11. New challenges ;) • Some performance & cost trade-off in the short term • Technical debt (aka « guess what’s under the rug? ») – Layer 7 load balancing rules (*evil*), legacy filers, etc. – Servers running really old versions of whatever: keep or reinstall? – Any cruft ignored over the years. Time to clean up! • Parallel run requires good connectivity AWS DirectConnect • CloudFront performance not great across regions  need a 2nd CDN • Negotiating early termination of the legacy hosting contract !
  • 12. Conclusion • 5 years ago : «Cloud computing? Why?» • Now : «NO cloud computing? Why?» • Some good reasons, but mostly really bad ones • Cloud computing a fashion? I don’t think so. • Cloud = infrastructure in digital form (like photos, music, movies, money, etc.) • Using AWS helps Viadeo change every day, by speeding up innovation and delivery • See you there!