Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Deploying node applications at scale
Search
shikharkapoor
December 01, 2016
Technology
0
35
Deploying node applications at scale
shikharkapoor
December 01, 2016
Tweet
Share
Other Decks in Technology
See All in Technology
Vertex AI を中心に 生成AIのアップデートを共有します
kaz1437
0
280
Google Cloud の AI を支える裏側のインフラを垣間見る!
maroon1st
0
330
私が trocco を推す理由
__allllllllez__
1
190
SPI原点回帰論:事業課題とFour Keysの結節点を見出す実践的ソフトウェアプロセス改善 / DevOpsDays Tokyo 2024
visional_engineering_and_design
4
1.9k
プロトタイピングによる不確実性の低減 / Reducing Uncertainty through Prototyping
ohbarye
5
370
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
27
5.8k
プロデザ! BY リクルート vol.18_リクルートのリサーチ実践組織「リサーチブーストコミュニティ」
recruitengineers
PRO
3
270
ServiceNow Knowledge Learning Rise up
manarobot
0
190
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
220
検証を通して見えてきたTiDBの性能特性
lycorptech_jp
PRO
6
3.7k
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
320
マルチアカウント環境への発見的統制の導入
ch1aki
1
1.3k
Featured
See All Featured
How to name files
jennybc
64
93k
GraphQLとの向き合い方2022年版
quramy
31
12k
StorybookのUI Testing Handbookを読んだ
zakiyama
12
4.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
647
58k
Build The Right Thing And Hit Your Dates
maggiecrowley
23
2k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Rebuilding a faster, lazier Slack
samanthasiow
72
8.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
Unsuck your backbone
ammeep
663
57k
A Tale of Four Properties
chriscoyier
150
22k
RailsConf 2023
tenderlove
2
530
Designing with Data
zakiwarfel
95
4.8k
Transcript
Deploying Node applications at scale Shikhar Kapoor (@kapoorshikhar) UI Engineer
@ Flipkart
A modern front-end engineers job Webpack React Redux Gulp Node
Angular Express GraphQL NPM MongoDB Grunt Jest Mocha
• Branching Strategies • Continuous Integration • Accelerating build times
• Packaging • Deployments • Monitoring • Testing
Branching strategies • Decide upfront and enforce them. • Master
is sacred! • Feature flags are your friends.
Mainline/Master Future Feature1 Feature2 Feature3 Long release cycles
Shorter but fixed release cycles Mainline/Master Release - week 1
Fix Feature Fix Release - week 2 Feature Feature Fix
Short cycles/ Daily deployments Mainline/Master Fix Feature 1 * Fix
Feature1 * Feature 2 * Feature 2 * * Features get pushed to master daily, with feature flags
Continuous Integration • Tools • Automate mundane tasks like linting,
unit test .. • Build on merge • Store artifacts
Pull request Run tests Tests passing? Merge/Rebase Build Fix No
Yes
Accelerate build times • Build once, promote everywhere • BUT
be careful of the gotchas • Freeze dependencies (Yarn, Shrinkwrap) • Offload mundane tasks to orchestrators
Get playbook Get hosts Start Run tasks End A typical
orchestration workflow
Packaging • How do you package and send your code
to the server? • Git clone • Archive and copy • Debian (FPM, Post Install, Versioning, easy reverts)
Deployment • Manage your environments, keep them as similar to
production as possible. • Blue-Green? Rolling? • Keep your deployment scripts close and your rollback scripts closer!
Production Cluster Blue green deployment strategy Stage Cluster Load Balancer
Production Cluster Load Balancer
Rolling deployment strategy Load balancer
Monitoring • What should you monitor? • Trends • Stack
traces/ deep dives • How do you monitor? • OpenTSDB based tools like Grafana for trends • Sentry/ NewRelic for deep dives and stack traces
Image: http://grafana.org
Testing • What to test? • Functional - Automate critical
flows. • Unit tests • Non-functional • Capacity testing and API Fanout • Performance • RUM / Synthetic - SpeedCurve, Dareboost
Key takeaways
Thank you! @kapoorshikhar