SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
Релиз-­‐менеджмент	
  в	
  Badoo
деплой	
  на	
  1000	
  серверов	
  за	
  3	
  минуты


             Юрий	
  Насретдинов
                        	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
           twiBer.com/YNasretdinov
Релиз-­‐менеджмент	
  в	
  Badoo
•   О	
  компании
•   Процесс	
  разработки	
  
•   Новый	
  деплой:	
  «шоты»	
  и	
  «билды»
•   Обновление	
  кода	
  на	
  1000	
  серверов
•   Распространенные	
  ошибки
•   150	
  млн	
  пользователей
•   PHP-­‐FPM:	
  30+	
  тыс	
  запросов	
  в	
  сек
•   160	
  тыс	
  регистраций	
  в	
  день
•   3	
  млн	
  фото	
  /	
  видео	
  в	
  день
•   48	
  языков	
  интерфейса
Процесс	
  разработки
•   JIRA:	
  feature	
  =>	
  ticket	
  (PROJ-­‐123)
•   git:	
  rcket	
  =>	
  branch	
  (PROJ-­‐123_Descr)
•   shot:	
  branch	
  =>	
  mini-­‐staging
•   build:	
  set	
  of	
  branches	
  =>	
  staging
•   staging	
  =>	
  producron
Mini-­‐staging:	
  «шоты»
•   Staging	
  из	
  текущей	
  ветки
•   Обновление	
  статуса	
  в	
  JIRA
•   Быстрое	
  создание
•   Перевод	
  на	
  4-­‐5	
  языков
•   Локальное	
  зеркало	
  git
Staging	
  /	
  Producron:	
  «билды»
•   git	
  merge	
  из	
  всех	
  готовых	
  фич
•   Один	
  билд	
  —	
  несколько	
  кластеров
•   Один	
  кластер	
  —	
  один	
  билд
•   250	
  Мб	
  переведенных	
  шаблонов
•   Билд	
  уехал	
  —	
  статус	
  в	
  JIRA	
  обновился
«Билды»	
  и	
  кластеры
                                    www




                                    scripts
build1



                                    bda


build2
                                    bma
Понятие	
  «лупов»
"In Unix-like operating systems, a loop device, vnd (vnode disk), or lofi
(loopback file interface) is a pseudo-device that makes a file accessible
as a block device." — Wikipedia




                    losetup                           mount


     release126                       /dev/loop1                       /var/www
       512 Мб
Подготовка	
  «лупа»                20 сек.




          cp                 pigz


 empty           release78          release78.gz
512 Мб            512 Мб               100 Мб
Через	
  океан                    5 сек.




78           —   77          =   diff

release78        release77       diff-78-77
 512 Мб           512 Мб          100 Кб




                 scp
                 100 Кб
Обновление	
  кода                 1 мин.




               uftp               libpssh

release78.gz          release78             /var/www
   100 Мб              512 Мб
Обработка	
  ошибок
 Установка	
  новой	
  версии	
  «лупа»

gzip -d loop.gz
losetup /dev/loop1 loop
mount /dev/loop1 /var/www
Обработка	
  ошибок
•   Архив	
  может	
  быть	
  «битый»
•   Нужно	
  найти	
  свободные	
  устройства
•   Замена	
  кода	
  должна	
  быть	
  атомарной
•   Если	
  самое	
  «старое»	
  устройство	
  
    занято	
  —	
  убить	
  соответствующие	
  
    процессы
Summary
•   150	
  млн	
  пользователей
•   Рабочий	
  процесс	
  на	
  git	
  +	
  JIRA
•   Мини-­‐стейджинг	
  —	
  «шоты»
•   Релиз	
  на	
  1	
  000	
  серверов	
  за	
  3	
  минуты
•   UFTP,	
  libpssh,	
  pigz	
  и	
  5к	
  строк	
  на	
  PHP
Спасибо	
  за	
  внимание
   Юрий	
  Насретдинов
           Badoo
 nasretdinov@gmail.com
twiBer.com/YNasretdinov

Más contenido relacionado

Destacado

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 

Destacado (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

Badoo deployment in 3 minutes

  • 1. Релиз-­‐менеджмент  в  Badoo деплой  на  1000  серверов  за  3  минуты Юрий  Насретдинов                           twiBer.com/YNasretdinov
  • 2. Релиз-­‐менеджмент  в  Badoo • О  компании • Процесс  разработки   • Новый  деплой:  «шоты»  и  «билды» • Обновление  кода  на  1000  серверов • Распространенные  ошибки
  • 3. 150  млн  пользователей • PHP-­‐FPM:  30+  тыс  запросов  в  сек • 160  тыс  регистраций  в  день • 3  млн  фото  /  видео  в  день • 48  языков  интерфейса
  • 4. Процесс  разработки • JIRA:  feature  =>  ticket  (PROJ-­‐123) • git:  rcket  =>  branch  (PROJ-­‐123_Descr) • shot:  branch  =>  mini-­‐staging • build:  set  of  branches  =>  staging • staging  =>  producron
  • 5. Mini-­‐staging:  «шоты» • Staging  из  текущей  ветки • Обновление  статуса  в  JIRA • Быстрое  создание • Перевод  на  4-­‐5  языков • Локальное  зеркало  git
  • 6. Staging  /  Producron:  «билды» • git  merge  из  всех  готовых  фич • Один  билд  —  несколько  кластеров • Один  кластер  —  один  билд • 250  Мб  переведенных  шаблонов • Билд  уехал  —  статус  в  JIRA  обновился
  • 7. «Билды»  и  кластеры www scripts build1 bda build2 bma
  • 8. Понятие  «лупов» "In Unix-like operating systems, a loop device, vnd (vnode disk), or lofi (loopback file interface) is a pseudo-device that makes a file accessible as a block device." — Wikipedia losetup mount release126 /dev/loop1 /var/www 512 Мб
  • 9. Подготовка  «лупа» 20 сек. cp pigz empty release78 release78.gz 512 Мб 512 Мб 100 Мб
  • 10. Через  океан 5 сек. 78 — 77 = diff release78 release77 diff-78-77 512 Мб 512 Мб 100 Кб scp 100 Кб
  • 11. Обновление  кода 1 мин. uftp libpssh release78.gz release78 /var/www 100 Мб 512 Мб
  • 12. Обработка  ошибок Установка  новой  версии  «лупа» gzip -d loop.gz losetup /dev/loop1 loop mount /dev/loop1 /var/www
  • 13. Обработка  ошибок • Архив  может  быть  «битый» • Нужно  найти  свободные  устройства • Замена  кода  должна  быть  атомарной • Если  самое  «старое»  устройство   занято  —  убить  соответствующие   процессы
  • 14. Summary • 150  млн  пользователей • Рабочий  процесс  на  git  +  JIRA • Мини-­‐стейджинг  —  «шоты» • Релиз  на  1  000  серверов  за  3  минуты • UFTP,  libpssh,  pigz  и  5к  строк  на  PHP
  • 15. Спасибо  за  внимание Юрий  Насретдинов Badoo nasretdinov@gmail.com twiBer.com/YNasretdinov