
Meteor Cloud Is a Full Service Hosting Solution for Meteor Apps
Running in Production
How to Block a Request in a Proximity Server
Hosting platform allows users to block and unblock requests. They can also customize how many requests you ant to receive from the same p so have a few rules in the professional plane that you can customize as you wish. It's really helpful, because before you had that, we had some absolute problems with a deos attack. Before they need to open a ticket, they need to wait for us to analyze the request. You can also prevent easily.
In this episode of Running in Production, Filipe NĆ©vola goes over building a hosting platform for Meteor apps. Itās hosted on AWS with ECS and has been running in production since 2015.
Filipe talks about building critical services with Go, using Meteor to build front-end web dashboards, the importance of monitoring, using Recurly for subscription payments, multi-region AWS hosting and overall providing a highly available platform for thousands of clients.
Topics Include
- 1:45 ā High level overview of the hosting platform
- 7:01 ā Splitting up compute resources for enterprise clients
- 8:44 ā Motivation for choosing Go for a few of the back-end services
- 11:24 ā Feeding data to the web dashboard with MongoDB, ECS, a load balancer and Go
- 15:53 ā The Go proxy service was built using the standard library (no 3rd party libraries)
- 17:46 ā Differences between the free and paid plans
- 22:49 ā Displaying a custom page if your Meteor app happens to be down
- 26:28 ā Going over a few services, starting with the Docker image builder
- 31:18 ā The Go services are in a mono repo but they can be individually deployed
- 33:36 ā The next service is the scheduler which is custom built
- 41:49 ā How the web dashboard gets updated from events on the back-end
- 47:08 ā The last service weāll cover is for registering SSL certificates with Letās Encrypt
- 50:21 ā Monitoring is very important and theyāre using Datadog, plus being on-call
- 54:26 ā Postmark and SendGrid are both used to send emails
- 56:23 ā Payments are handled through Recurly
- 1:00:28 ā Loggly is used for logging and a bit of analytics
- 1:04:08 ā Handling a lot of incoming notifications and making sense out of alerts
- 1:08:05 ā Choosing AWS for hosting everything and using ECS over EKS
- 1:11:20 ā Itās hosted across multiple AWS regions (Virginia, Ireland and Sydney)
- 1:15:55 ā The open source side of Meteor is very very important
- 1:17:49 ā How Terraform is being used to manage their infrastructure
- 1:20:31 ā ScaleGrid is used to host their MongoDB instances
- 1:22:29 ā How clients store their secrets
- 1:24:15 ā How deployments are handled from development to production
- 1:32:34 ā All data is backed up on a regular basis with lots of redundancy
- 1:36:01 ā Handling big traffic spikes with little warning
- 1:38:38 ā Best tips? Monitor everything and avoid premature optimization
- 1:41:43 ā Check out Filipe on Twitter, his coding education platform and YouTube channel
Links
š References
- https://www.meteor.com/
- https://www.tinycapital.com/ (They acquired Meteor)
āļø Tech Stack
- meteor ā
- node ā
- golang ā
- react ā
- aws ā
- datadog ā
- docker ā
- dynamodb ā
- ecs ā
- elasticache ā
- graphql ā
- lets-encrypt ā
- loggly ā
- memcached ā
- mongodb ā
- pagerduty ā
- postmark ā
- recurly ā
- scalegrid ā
- sendgrid ā
- statuscake ā
- terraform ā
- websockets ā
Support the Show
This episode does not have a sponsor and this podcast is a labor of love. If you want to support the show, the best way to do it is to purchase one of my courses or suggest one to a friend.
- Dive into Docker is a video course that takes you from not knowing what Docker is to being able to confidently use Docker and Docker Compose for your own apps. Long gone are the days of "but it works on my machine!". A bunch of follow along labs are included.
- Build a SAAS App with Flask is a video course where we build a real world SAAS app that accepts payments, has a custom admin, includes high test coverage and goes over how to implement and apply 50+ common web app features. There's over 20+ hours of video.


