SlideShare a Scribd company logo
1 of 43
Download to read offline
Grammarly 

engineering
Who am I?
Aleksey Yashchenko
Software Engineer at Grammarly
@tuxslayer
The Company
Ukrainian startup
60 engineers
Offices in Kyiv and San-Francisco
The Product
Grammar
Spell
Style
Plagiarism

… checker
4.5M weekly active users on Chrome and growing
100k words/sec
400 instances on AWS
10M+ WebSocket connections/day
The Product
Dozens of services in 

Java, Lisp, Scala and Python
6 UI applications in 

JS, TypeScript and F#
The Product
Our Apps
Funnels on www.grammarly.com
Browser Plugins: Chrome, Safari, FF
Web App
M$ Office Add-in
Desktop Editor
Extension =>
Построение продукта и организации в Grammarly: no-QA & Continuous Delivery
<= Synonym cards
Mistake cards =>
Low development pace
Buggy releases =>
regular outages =>
high downtime
The Problem
…but why?
Horizontal and service teams
&
Too much manual work
The Problem
The Problem
Backend
QAFrontEnd
Ops
silos, tasks ping-pong, no DRIs
Horizontal
teams
The Problem
Buggy releases,
regular outages, 

high downtime
Slow
development
Manual work
Our Solution
Organization Technical
Our Solution
Engineers at
Cross-functional Teams
Fully own services and releases, while
Tools solve all the hassle
Cross-func Teams
QA => SE in Test
QA Engineers => 

Feature Teams
Solution /1
Continuos Delivery
Monitoring
ORG: crossfit TECH: CI
Solution /1
Feature Cross-functional Teams
no-QA: From QA to SET
Catch bugs
Build for quality
Write code
… well… catch bugs
CI/CD is easy…
Feature branches
CI Server (TeamCity)
Unit / Integration / Load / … tests
Continuous Deployment
CI/CD is easy…
Feature branches
CI Server (TeamCity)
Unit / Integration / Load …tests
Continuous Deployment
Doesn’t work
Monitor all the things!
Monitor all the things!
Make it an engineering practice
Measure everything, choose what to
monitor then
Validate monitoring data!
Monitor all the things!
Logs (servers, FE, access logs) =>
Kafka (queuing) =>
Logstash (processing) =>
ElasticSearch (storage/querying) =>
Kibana (UI)
Monitor all the things!
Metrics (timers, counters, gauges ) =>
StatsD (aggregation) =>
Graphite (storage, querying) =>
Graphana (UI)
Monitor all the things!
Logs & Metrics (storage) =>
Sensu Client (monitoring, alerting) =>
OpsGeniue (night calls)
More: www.slideshare.net/tuxSlayer/frontend-monitoring-grammarly
Results /1
Zero ping-pong time between teams
Developers can release “at will”
QA-people are involved from day 1
Everybody writes tests
Everybody* can fix a bug
* almost
Results /1
Time to release from 1-2h to 1-10 min
Rollback instead of fixing => 

Short outages
Whole team does not get distracted by
accidents
Release Calendar
Questions /1
?
Platform Team
Embedded Ops
in Teams
Solution /2
docker
rocker
rocker-compose
ORG: no-Ops TECH: containers
Platform Team
Not a “service” team
PaaS
Strategic rather than tactical
Software Engineers + DevOps
Embedded Ops for Feature Teams
Solution /2
The Funnel
Huge project
Multiple releases per day
Static site generator
1k lines of nginx configs
Static content
Nginx configs
Nginx
+
+
The Funnel
Static content
Nginx configs
Nginx
+
Dev Team Ops Kitchen
blah-blah
Chef
Container Platform
The Funnel
Static content
Nginx configs
Nginx
Responsible Dev Team Happy Ops Kitchen
ship it!
Container
Container
Container
…
Docker Rocks… almost
Custom tools:
rocker (building)
rocker-compose (deployment)
More: https://goo.gl/wXUbHa
Results /2
Wait no more for DevOps tasks
Reproducible environments
Safe deployments
Configuration as a code (versioning, automation,
templating etc)
Multi-service deployments (e.g. DB+Redis+App+Nginx)
… and…
A Victory
Engineers at
Cross-functional Teams
Fully own services and releases, while
Tools solve all the hassle
Take aways
Tech should support org
Org should enforce [hi-]tech
Responsibility matters
Automate everything
Questions?
More Info
Rocker: Breaking the limits of Dockerfile
How We Deploy Containers at Grammarly
Frontend Monitoring at Grammarly
Thank you!
Aleksey Yashchenko
Software Engineer at Grammarly
@tuxslayer

More Related Content

More from HOWWEDOIT

Построение ROPO отчетов. Или как оценить вклад он-лайн рекламы в офф-лайн про...
Построение ROPO отчетов. Или как оценить вклад он-лайн рекламы в офф-лайн про...Построение ROPO отчетов. Или как оценить вклад он-лайн рекламы в офф-лайн про...
Построение ROPO отчетов. Или как оценить вклад он-лайн рекламы в офф-лайн про...HOWWEDOIT
 
Лайфхаки построения мощной продуктовой sales-команды. Катерина Мартынова, Pre...
Лайфхаки построения мощной продуктовой sales-команды. Катерина Мартынова, Pre...Лайфхаки построения мощной продуктовой sales-команды. Катерина Мартынова, Pre...
Лайфхаки построения мощной продуктовой sales-команды. Катерина Мартынова, Pre...HOWWEDOIT
 
Кастомные решения, best practices для управления и увеличения продаж. Олег Бе...
Кастомные решения, best practices для управления и увеличения продаж. Олег Бе...Кастомные решения, best practices для управления и увеличения продаж. Олег Бе...
Кастомные решения, best practices для управления и увеличения продаж. Олег Бе...HOWWEDOIT
 
Продвинутые методики продуктовых отделов продаж с практическими примерами. Ан...
Продвинутые методики продуктовых отделов продаж с практическими примерами. Ан...Продвинутые методики продуктовых отделов продаж с практическими примерами. Ан...
Продвинутые методики продуктовых отделов продаж с практическими примерами. Ан...HOWWEDOIT
 
Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....
Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....
Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....HOWWEDOIT
 
ClickHouse как решение для бизнес аналитики. Дмитрий Кузьмин
ClickHouse как решение для бизнес аналитики. Дмитрий КузьминClickHouse как решение для бизнес аналитики. Дмитрий Кузьмин
ClickHouse как решение для бизнес аналитики. Дмитрий КузьминHOWWEDOIT
 
Подход и инструменты измерения эффективности процесса разработки или как держ...
Подход и инструменты измерения эффективности процесса разработки или как держ...Подход и инструменты измерения эффективности процесса разработки или как держ...
Подход и инструменты измерения эффективности процесса разработки или как держ...HOWWEDOIT
 
Что база транзакций может рассказать о здоровье вашего бизнеса. Павел Левчук
Что база транзакций может рассказать о здоровье вашего бизнеса. Павел Левчук Что база транзакций может рассказать о здоровье вашего бизнеса. Павел Левчук
Что база транзакций может рассказать о здоровье вашего бизнеса. Павел Левчук HOWWEDOIT
 

More from HOWWEDOIT (8)

Построение ROPO отчетов. Или как оценить вклад он-лайн рекламы в офф-лайн про...
Построение ROPO отчетов. Или как оценить вклад он-лайн рекламы в офф-лайн про...Построение ROPO отчетов. Или как оценить вклад он-лайн рекламы в офф-лайн про...
Построение ROPO отчетов. Или как оценить вклад он-лайн рекламы в офф-лайн про...
 
Лайфхаки построения мощной продуктовой sales-команды. Катерина Мартынова, Pre...
Лайфхаки построения мощной продуктовой sales-команды. Катерина Мартынова, Pre...Лайфхаки построения мощной продуктовой sales-команды. Катерина Мартынова, Pre...
Лайфхаки построения мощной продуктовой sales-команды. Катерина Мартынова, Pre...
 
Кастомные решения, best practices для управления и увеличения продаж. Олег Бе...
Кастомные решения, best practices для управления и увеличения продаж. Олег Бе...Кастомные решения, best practices для управления и увеличения продаж. Олег Бе...
Кастомные решения, best practices для управления и увеличения продаж. Олег Бе...
 
Продвинутые методики продуктовых отделов продаж с практическими примерами. Ан...
Продвинутые методики продуктовых отделов продаж с практическими примерами. Ан...Продвинутые методики продуктовых отделов продаж с практическими примерами. Ан...
Продвинутые методики продуктовых отделов продаж с практическими примерами. Ан...
 
Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....
Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....
Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....
 
ClickHouse как решение для бизнес аналитики. Дмитрий Кузьмин
ClickHouse как решение для бизнес аналитики. Дмитрий КузьминClickHouse как решение для бизнес аналитики. Дмитрий Кузьмин
ClickHouse как решение для бизнес аналитики. Дмитрий Кузьмин
 
Подход и инструменты измерения эффективности процесса разработки или как держ...
Подход и инструменты измерения эффективности процесса разработки или как держ...Подход и инструменты измерения эффективности процесса разработки или как держ...
Подход и инструменты измерения эффективности процесса разработки или как держ...
 
Что база транзакций может рассказать о здоровье вашего бизнеса. Павел Левчук
Что база транзакций может рассказать о здоровье вашего бизнеса. Павел Левчук Что база транзакций может рассказать о здоровье вашего бизнеса. Павел Левчук
Что база транзакций может рассказать о здоровье вашего бизнеса. Павел Левчук
 

Recently uploaded

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

Построение продукта и организации в Grammarly: no-QA & Continuous Delivery