The scaling story of Postman

Shamasis Bhattacharya
Shamasis BhattacharyaVice President of Engineering at Postman
managing scale with lean team leveraging
the power of docker and aws
About Postman
3+ million users
1.5+ million mau
30+ member team
Our Stack
27+ micro services
10+ mill peak req/hr
140+ gb in/day
sailsjs on nodejs
docker
managed by aws
feb 2017
the story of making
small big decisions
postman started 2014 ⇢ small team ⇢ frugal operations
early goal was to ship and validate and
spend less time on operations
we were already raking up 500k+ downloads of our
chrome app by listening to users and iterating
the sync service
enabling api collaboration ⇢ SailsJS
at that time, this was the best framework to
choose to go to market fastest
we used whatever minimum the framework
needed to get started: one server, mysql and
redis
we were trying to validate that collaborative api
development was a solution the world needs
time to choose
1.5+ mil users ⇢ steady service adoption (growing mau)
we knew we needed to make devops easier if we
can get any actual development done at all
walk the tightrope of solving short term problems
while following the long term vision
this meant, larger server, load balancer, constant
mysql and redis performance tweaking
on came tedious (and manual) deployment, traffic
spikes, hung processes for no apparent reason
beanstalk + docker
solved all pressing problems ⇢ abstraction to be flexible
choosing docker (even though we did not need it right away)
allowed us to build the things that we expected we might need
to (without actually building them at that time)
we needed to auto scale during load and at that time,
we felt aws could give us that quickly
application deployment, infrastructure creation, auto
scaling and auto healing all in one package
rds + elasticcache
no more resizing disks ⇢ no more tuning configurations
reliable and automated backups (and restore),
encryption of data communication and storage
and hassle free replication
there could be a million points why rds might appear
“limiting”, but we adopted our product development
mantra into devops as well and…
near zero downtime
hot reboot ⇢ live deployments ⇢ live rollback ⇢ alarms + auto healing
no need to reboot entire server,
just the docker image
build and deploy applications as a secondary
image and then swap
we were prototyping faster
than ever
fridays were back
developer prepares code and environment, then
ci tests code using centrally inherited image
ci tested image is orchestrated into production services by
beanstalk
POSTMAN STACK WAS BORN
simple stack works
common code repository structure
code + tests + beanstalk extensions + dockerfile
we inherited from our own docker base image and that
enabled us to control on base stack, easily permeate
stack changes into all micro-services and test using
production base image on CI
goal was to make our first micro-service a fully
portable concept with all info in code repository
we gave ourselves a
48 hour challenge
can you release a new production quality service?
soon we reached 2+ million users and added many more
services including api documentation service and api
monitoring service
nginx and beanstalk extensions on ec2
Docker
NodeJS + pm2
SailsJS + Hooks
orm + socket.io & express
Business Logic
elastic load
balancer
auto scaling group
and other AWS
resources
managed by
Beanstalk
in an onion shell
time to validate
10x traffic ⇢ 5+ live deployments/day ⇢ difficult to debug
centralised and auto-
instrumented logging
cloudwatch & elk with grafana ⇢ SailsJS hooks
easily added to all service via
beanstalk extensions and docker
root image
since we made all services on
SailsJS and as such one hook
works everywhere
auto-instrumented
monitoring
cloudwatch ⇢ beanstalk enhanced health checks ⇢
beanstalk extensions for custom metrics
with beanstalk extensions, one can customise just about
anything and we auto added all our alarms, instance CPU,
memory, disk and event-loop monitoring in no time
grafana did all the reporting for us
dogfooding
Use newman (Postman CLI) for API
testing on CI platforms
Use own monitoring service to
perform complex api health checks
Use own API documentation service
to collaborate micro-service development
up next
centralised service discovery ⇢ decentralised message bus
⇢ aws inspector + aws waf + aws shield
in short
Solve short-term problems while accounting for
long-term applications
Use containerisation or some other way to find a
common entry point and standardisation of all your
services
Don’t spend time solving for operational issues
that you might never face
@shamasis
getpostman.com
1 of 20

Recommended

Build and deployment with Jenkins and Code Deploy on AWS by
Build and deployment with Jenkins and Code Deploy on AWSBuild and deployment with Jenkins and Code Deploy on AWS
Build and deployment with Jenkins and Code Deploy on AWSmitesh_sharma
2.6K views14 slides
Integrate AWS CodeDeploy With Git And Deploy A Revision by
Integrate AWS CodeDeploy With Git And Deploy A RevisionIntegrate AWS CodeDeploy With Git And Deploy A Revision
Integrate AWS CodeDeploy With Git And Deploy A Revisiondevopsjourney
1.2K views26 slides
Automating Software Deployments with AWS CodeDeploy by Matthew Trescot, Manag... by
Automating Software Deployments with AWS CodeDeploy by Matthew Trescot, Manag...Automating Software Deployments with AWS CodeDeploy by Matthew Trescot, Manag...
Automating Software Deployments with AWS CodeDeploy by Matthew Trescot, Manag...Amazon Web Services
860 views32 slides
Pipelining DevOps with Jenkins and AWS by
Pipelining DevOps with Jenkins and AWSPipelining DevOps with Jenkins and AWS
Pipelining DevOps with Jenkins and AWSJimmy Ray
3.5K views42 slides
AWS OpsWorks for Chef Automate by
AWS OpsWorks for Chef AutomateAWS OpsWorks for Chef Automate
AWS OpsWorks for Chef AutomateAmazon Web Services
1.7K views31 slides
Localize content Devops by
Localize content DevopsLocalize content Devops
Localize content Devopsmitesh_sharma
1.1K views26 slides

More Related Content

What's hot

T3 - Deploy, manage, and scale your apps by
T3 - Deploy, manage, and scale your appsT3 - Deploy, manage, and scale your apps
T3 - Deploy, manage, and scale your appsAmazon Web Services
3.7K views65 slides
AWS Code Services by
AWS Code ServicesAWS Code Services
AWS Code ServicesAmazon Web Services
4.2K views68 slides
Code Deploy by
Code Deploy Code Deploy
Code Deploy HajOnSoft
415 views5 slides
DevOps in Amazon.com by
DevOps in Amazon.com DevOps in Amazon.com
DevOps in Amazon.com Amazon Web Services
1.4K views29 slides
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019 by
04_Azure Kubernetes Service: Basic Practices for Developers_GAB201904_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019Kumton Suttiraksiri
698 views23 slides
DevOps, Microservices and Serverless Architecture by
DevOps, Microservices and Serverless ArchitectureDevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless ArchitectureMikhail Prudnikov
721 views41 slides

What's hot(20)

Code Deploy by HajOnSoft
Code Deploy Code Deploy
Code Deploy
HajOnSoft415 views
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019 by Kumton Suttiraksiri
04_Azure Kubernetes Service: Basic Practices for Developers_GAB201904_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
DevOps, Microservices and Serverless Architecture by Mikhail Prudnikov
DevOps, Microservices and Serverless ArchitectureDevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless Architecture
Mikhail Prudnikov721 views
如何無痛上雲端? 以Elastic Beanstalk Java Container為例 by Yuen-Kuei Hsueh
如何無痛上雲端? 以Elastic Beanstalk Java Container為例如何無痛上雲端? 以Elastic Beanstalk Java Container為例
如何無痛上雲端? 以Elastic Beanstalk Java Container為例
Yuen-Kuei Hsueh3.3K views
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour... by Amazon Web Services
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
Amazon Web Services4.3K views
What's new in containers by Microsoft
What's new in containersWhat's new in containers
What's new in containers
Microsoft75 views
AWS July Webinar Series: Introducing AWS OpsWorks for Windows Server by Amazon Web Services
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
Amazon Web Services5.8K views
Customer Sharing: iCook - Continuous Deployment with AWS by Amazon Web Services
Customer Sharing: iCook - Continuous Deployment with AWSCustomer Sharing: iCook - Continuous Deployment with AWS
Customer Sharing: iCook - Continuous Deployment with AWS
Amazon Web Services1.6K views
Building a Python Serverless Applications with AWS Chalice - AWS Online Tech... by Amazon Web Services
 Building a Python Serverless Applications with AWS Chalice - AWS Online Tech... Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...
Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...
Amazon Web Services2.3K views
AWS Community Day - Andrew May - Running Containers in AWS by AWS Chicago
AWS Community Day - Andrew May - Running Containers in AWS  AWS Community Day - Andrew May - Running Containers in AWS
AWS Community Day - Andrew May - Running Containers in AWS
AWS Chicago103 views

Viewers also liked

How Postman adopted Docker by
How Postman adopted DockerHow Postman adopted Docker
How Postman adopted DockerShamasis Bhattacharya
759 views17 slides
40+ tips to use Postman more efficiently by
40+ tips to use Postman more efficiently40+ tips to use Postman more efficiently
40+ tips to use Postman more efficientlypostmanclient
111.7K views47 slides
Postman Collection Format v2.0 (pre-draft) by
Postman Collection Format v2.0 (pre-draft)Postman Collection Format v2.0 (pre-draft)
Postman Collection Format v2.0 (pre-draft)Postman
208.4K views44 slides
Postman tests in jenkins by
Postman tests in jenkinsPostman tests in jenkins
Postman tests in jenkinsAlex Galkin
4.5K views29 slides
Belajar Postman test runner by
Belajar Postman test runnerBelajar Postman test runner
Belajar Postman test runnerFachrul Choliluddin
1.3K views18 slides
Postman by
PostmanPostman
Postmanmathieupassenaud
2.2K views17 slides

Viewers also liked(20)

40+ tips to use Postman more efficiently by postmanclient
40+ tips to use Postman more efficiently40+ tips to use Postman more efficiently
40+ tips to use Postman more efficiently
postmanclient111.7K views
Postman Collection Format v2.0 (pre-draft) by Postman
Postman Collection Format v2.0 (pre-draft)Postman Collection Format v2.0 (pre-draft)
Postman Collection Format v2.0 (pre-draft)
Postman208.4K views
Postman tests in jenkins by Alex Galkin
Postman tests in jenkinsPostman tests in jenkins
Postman tests in jenkins
Alex Galkin4.5K views
API Code Generation by Bruno Pedro
API Code GenerationAPI Code Generation
API Code Generation
Bruno Pedro9.3K views
Understanding and testing restful web services by mwinteringham
Understanding and testing restful web servicesUnderstanding and testing restful web services
Understanding and testing restful web services
mwinteringham2.2K views
Leveraging Amzon EC2 Container Services for Container Orchestration by Neeraj Shah
Leveraging Amzon EC2 Container Services for Container OrchestrationLeveraging Amzon EC2 Container Services for Container Orchestration
Leveraging Amzon EC2 Container Services for Container Orchestration
Neeraj Shah733 views
How to Automate API Testing by Bruno Pedro
How to Automate API TestingHow to Automate API Testing
How to Automate API Testing
Bruno Pedro7.9K views
OpenEBS - Containerized Storage for Containers by Umasankar Mukkara
OpenEBS  - Containerized Storage for ContainersOpenEBS  - Containerized Storage for Containers
OpenEBS - Containerized Storage for Containers
Umasankar Mukkara824 views
Presentatie GVNL tijdens Leisure & Sport Totaal, 2009. by Ilse Michiels
Presentatie GVNL tijdens Leisure & Sport Totaal, 2009.Presentatie GVNL tijdens Leisure & Sport Totaal, 2009.
Presentatie GVNL tijdens Leisure & Sport Totaal, 2009.
Ilse Michiels461 views
Authentication in Node.js by Jason Pearson
Authentication in Node.jsAuthentication in Node.js
Authentication in Node.js
Jason Pearson3.6K views
At Begin, URL Handling and REST by Brian Loomis
At Begin, URL Handling and RESTAt Begin, URL Handling and REST
At Begin, URL Handling and REST
Brian Loomis2K views
Sensible API Testing by SmartBear
Sensible API TestingSensible API Testing
Sensible API Testing
SmartBear807 views
Supporting The Open Web - OSCON 2008 by David Recordon
Supporting The Open Web - OSCON 2008Supporting The Open Web - OSCON 2008
Supporting The Open Web - OSCON 2008
David Recordon5.5K views
Super powered API testing by postmanclient
Super powered API testing Super powered API testing
Super powered API testing
postmanclient677 views
Open Source in the Cloud Computing Era by Tim O'Reilly
Open Source in the Cloud Computing EraOpen Source in the Cloud Computing Era
Open Source in the Cloud Computing Era
Tim O'Reilly66.3K views

Similar to The scaling story of Postman

All you need to know about yelowsofts new version update by
All you need to know about yelowsofts new version updateAll you need to know about yelowsofts new version update
All you need to know about yelowsofts new version updateYelowsoft
7 views13 slides
Container on azure by
Container on azureContainer on azure
Container on azureVishwas N
93 views57 slides
Docker Training - June 2015 by
Docker Training - June 2015Docker Training - June 2015
Docker Training - June 2015{code}
424 views32 slides
Azure Modern Cloud App Development Approaches 2017 by
Azure Modern Cloud App Development Approaches 2017Azure Modern Cloud App Development Approaches 2017
Azure Modern Cloud App Development Approaches 2017Vadim Zendejas
154 views43 slides
Docker and Containers overview - Docker Workshop by
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopJonas Rosland
2K views31 slides
DevOps at Amazon: A Look at Our Tools and Processes by
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesAmazon Web Services
1.2K views45 slides

Similar to The scaling story of Postman(20)

All you need to know about yelowsofts new version update by Yelowsoft
All you need to know about yelowsofts new version updateAll you need to know about yelowsofts new version update
All you need to know about yelowsofts new version update
Yelowsoft 7 views
Container on azure by Vishwas N
Container on azureContainer on azure
Container on azure
Vishwas N93 views
Docker Training - June 2015 by {code}
Docker Training - June 2015Docker Training - June 2015
Docker Training - June 2015
{code} 424 views
Azure Modern Cloud App Development Approaches 2017 by Vadim Zendejas
Azure Modern Cloud App Development Approaches 2017Azure Modern Cloud App Development Approaches 2017
Azure Modern Cloud App Development Approaches 2017
Vadim Zendejas154 views
Docker and Containers overview - Docker Workshop by Jonas Rosland
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
Jonas Rosland2K views
DevOps at Amazon: A Look at Our Tools and Processes by Amazon Web Services
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and Processes
Amazon Web Services1.2K views
Docker and containers - For Boston Docker Meetup Workshop in March 2015 by Jonas Rosland
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Jonas Rosland1.6K views
Deploying DC/OS on Premises with Juju by Tom Barber
Deploying DC/OS on Premises with JujuDeploying DC/OS on Premises with Juju
Deploying DC/OS on Premises with Juju
Tom Barber591 views
AWS Webcast - Build Agile Applications in AWS Cloud for Government by Amazon Web Services
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
Amazon Web Services1.4K views
Nagios Conference 2012 - Todd Groten - Monitoring Call of Duty: Elite by Nagios
Nagios Conference 2012 - Todd Groten - Monitoring Call of Duty: EliteNagios Conference 2012 - Todd Groten - Monitoring Call of Duty: Elite
Nagios Conference 2012 - Todd Groten - Monitoring Call of Duty: Elite
Nagios1.5K views
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into... by Amazon Web Services
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
'DOCKER' & CLOUD: ENABLERS For DEVOPS by ACA IT-Solutions
'DOCKER' & CLOUD:  ENABLERS For DEVOPS'DOCKER' & CLOUD:  ENABLERS For DEVOPS
'DOCKER' & CLOUD: ENABLERS For DEVOPS
ACA IT-Solutions708 views
Docker and Cloud - Enables for DevOps - by ACA-IT by Stijn Wijndaele
Docker and Cloud - Enables for DevOps - by ACA-ITDocker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-IT
Stijn Wijndaele574 views
Docker Roadshow 2016 by Docker, Inc.
Docker Roadshow 2016Docker Roadshow 2016
Docker Roadshow 2016
Docker, Inc.2.2K views
AWS Webcast - Build Agile Applications in AWS Cloud for Government by Amazon Web Services
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
Amazon Web Services2.6K views
Was liberty profile and docker by sflynn073
Was liberty profile and dockerWas liberty profile and docker
Was liberty profile and docker
sflynn073776 views
ContainerDayVietnam2016: Dockerize a small business by Docker-Hanoi
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
Docker-Hanoi498 views

Recently uploaded

Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...ShapeBlue
88 views20 slides
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlueShapeBlue
50 views23 slides
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsShapeBlue
111 views13 slides
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...ShapeBlue
54 views15 slides
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...ShapeBlue
65 views28 slides
Ransomware is Knocking your Door_Final.pdf by
Ransomware is Knocking your Door_Final.pdfRansomware is Knocking your Door_Final.pdf
Ransomware is Knocking your Door_Final.pdfSecurity Bootcamp
76 views46 slides

Recently uploaded(20)

Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue88 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue50 views
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue111 views
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue54 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue65 views
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... by ShapeBlue
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
ShapeBlue48 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue46 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue46 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue102 views
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue85 views
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue56 views
State of the Union - Rohit Yadav - Apache CloudStack by ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue145 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue82 views
Business Analyst Series 2023 - Week 4 Session 7 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray1080 views
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De... by Moses Kemibaro
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...
Moses Kemibaro29 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue46 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker50 views
NTGapps NTG LowCode Platform by Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu141 views

The scaling story of Postman

  • 1. managing scale with lean team leveraging the power of docker and aws
  • 2. About Postman 3+ million users 1.5+ million mau 30+ member team
  • 3. Our Stack 27+ micro services 10+ mill peak req/hr 140+ gb in/day sailsjs on nodejs docker managed by aws feb 2017
  • 4. the story of making small big decisions postman started 2014 ⇢ small team ⇢ frugal operations early goal was to ship and validate and spend less time on operations we were already raking up 500k+ downloads of our chrome app by listening to users and iterating
  • 5. the sync service enabling api collaboration ⇢ SailsJS at that time, this was the best framework to choose to go to market fastest we used whatever minimum the framework needed to get started: one server, mysql and redis we were trying to validate that collaborative api development was a solution the world needs
  • 6. time to choose 1.5+ mil users ⇢ steady service adoption (growing mau) we knew we needed to make devops easier if we can get any actual development done at all walk the tightrope of solving short term problems while following the long term vision this meant, larger server, load balancer, constant mysql and redis performance tweaking on came tedious (and manual) deployment, traffic spikes, hung processes for no apparent reason
  • 7. beanstalk + docker solved all pressing problems ⇢ abstraction to be flexible choosing docker (even though we did not need it right away) allowed us to build the things that we expected we might need to (without actually building them at that time) we needed to auto scale during load and at that time, we felt aws could give us that quickly application deployment, infrastructure creation, auto scaling and auto healing all in one package
  • 8. rds + elasticcache no more resizing disks ⇢ no more tuning configurations reliable and automated backups (and restore), encryption of data communication and storage and hassle free replication there could be a million points why rds might appear “limiting”, but we adopted our product development mantra into devops as well and…
  • 9. near zero downtime hot reboot ⇢ live deployments ⇢ live rollback ⇢ alarms + auto healing no need to reboot entire server, just the docker image build and deploy applications as a secondary image and then swap we were prototyping faster than ever fridays were back
  • 10. developer prepares code and environment, then ci tests code using centrally inherited image ci tested image is orchestrated into production services by beanstalk POSTMAN STACK WAS BORN
  • 11. simple stack works common code repository structure code + tests + beanstalk extensions + dockerfile we inherited from our own docker base image and that enabled us to control on base stack, easily permeate stack changes into all micro-services and test using production base image on CI goal was to make our first micro-service a fully portable concept with all info in code repository
  • 12. we gave ourselves a 48 hour challenge can you release a new production quality service? soon we reached 2+ million users and added many more services including api documentation service and api monitoring service
  • 13. nginx and beanstalk extensions on ec2 Docker NodeJS + pm2 SailsJS + Hooks orm + socket.io & express Business Logic elastic load balancer auto scaling group and other AWS resources managed by Beanstalk in an onion shell
  • 14. time to validate 10x traffic ⇢ 5+ live deployments/day ⇢ difficult to debug
  • 15. centralised and auto- instrumented logging cloudwatch & elk with grafana ⇢ SailsJS hooks easily added to all service via beanstalk extensions and docker root image since we made all services on SailsJS and as such one hook works everywhere
  • 16. auto-instrumented monitoring cloudwatch ⇢ beanstalk enhanced health checks ⇢ beanstalk extensions for custom metrics with beanstalk extensions, one can customise just about anything and we auto added all our alarms, instance CPU, memory, disk and event-loop monitoring in no time grafana did all the reporting for us
  • 17. dogfooding Use newman (Postman CLI) for API testing on CI platforms Use own monitoring service to perform complex api health checks Use own API documentation service to collaborate micro-service development
  • 18. up next centralised service discovery ⇢ decentralised message bus ⇢ aws inspector + aws waf + aws shield
  • 19. in short Solve short-term problems while accounting for long-term applications Use containerisation or some other way to find a common entry point and standardisation of all your services Don’t spend time solving for operational issues that you might never face

Editor's Notes

  1. speak slowly dont digress pause before slides watch the time
  2. Postman is an API Development tool helping build apis collaborate on api development continuously test and publish APIs 3+ million users 1.5+ million mau 30+ member team
  3. 27+ micro services 10+ mill peak req/hr 140+ gb in/day sailsjs on nodejs in docker and managed by aws chrome + native apps in major os we will outline the decisions we took to get here from ops perspective
  4. started 2014, 500k+ app installs small team focus and iterate create value + save operational costs
  5. chose the tech we knew best developed ops around only what we needed to go live
  6. we needed to switch cloud provider to speed our dev and improve service quality we could have lost focus and over-engineered
  7. goal was to have a resource formation + … beanstalk + docker one stop solution for problem at hand docker abstracted us enough to reduce risk (if we had to switch again) choosing docker was for the long haul (though it was very early)
  8. rds took care of horizontal and vertical scaling security performance elasticcache
  9. {{go fast}} all goodies with minimal effort
  10. {{go fast}} one service working, we now needed to replicate thus we standardised our stack
  11. common repo structure ensured replicability standard code + tests = less managing/onboarding as team grew
  12. {{go fast}}
  13. at heart: our business logic as MVCS sails js with common hooks + orm + socket.io + express (all from sails) NodeJS and pm2 docker nginx + beanstalk extensions on ec2 autoscaled and load balanced accessing RDS and elastic cache orchestrated by beanstalk
  14. {{go fast}}
  15. beanstalk extensions to install log and metric collection grafana to visualise sails js hooks to auto-implement standard logging for all services
  16. {{go fast}} beanstalk enhanced health beanstalk extensions for custom metrics
  17. {{go fast}} monitoring documentation testing
  18. {{go fast}} centralised service discovery (use something or build one) a decentralised message bus for intra-service transactional comm (already built a decentralised session service ~ sails hooks allowed us to have a part of one service in every other) new aws offerings inspector for pen test while in production use web application firewall aws shield
  19. summary use docker or some other common entry + ops standardisation (avoid complex ops until you need) be practical and not utopian build operations accounting product+people and not only standards+technology solve short-term, account long term