
Running in Production Meteor Cloud Is a Full Service Hosting Solution for Meteor Apps
Dec 20, 2021
01:43:06
1 chevron_right 2 chevron_right 3 chevron_right 4 chevron_right 5 chevron_right 6 chevron_right 7 chevron_right 8 chevron_right 9 chevron_right 10 chevron_right 11 chevron_right 12 chevron_right 13 chevron_right 14 chevron_right 15 chevron_right 16 chevron_right 17 chevron_right 18 chevron_right 19 chevron_right 20 chevron_right 21 chevron_right 22 chevron_right 23 chevron_right 24 chevron_right 25 chevron_right 26 chevron_right 27 chevron_right 28 chevron_right 29 chevron_right 30 chevron_right 31 chevron_right 32 chevron_right 33 chevron_right 34 chevron_right 35 chevron_right 36 chevron_right 37 chevron_right 38 chevron_right 39 chevron_right 40 chevron_right 41 chevron_right 42 chevron_right 43 chevron_right 44 chevron_right 45 chevron_right 46 chevron_right
Introduction
00:00 • 2min
Hoasting Platform - Do You Want a High Level Overview?
01:45 • 2min
Developing a Platform to Host Metr Ps
03:41 • 3min
Sassaps
06:18 • 2min
Is Mitra Deploy Ready to Go?
08:08 • 2min
Back Anger
10:03 • 3min
Using a Load Balancer on a Web Server?
13:30 • 2min
Go Proxies - Do You Use a Specific Library?
15:55 • 2min
Is There Any Difference Between Free Plans and Paid Plans?
17:42 • 3min
Is That a Proxy?
20:32 • 2min
How to Block a Request in a Proximity Server
22:51 • 3min
How Many Actual Services Do You Think You Have?
25:28 • 2min
Do You Have a Service Separation?
27:55 • 2min
Do You Have a Mono Ripo?
29:32 • 2min
How to Deploy a Mono Repo of Go Services in Dobes?
31:16 • 2min
The Scheduler Is Like the Magic Behind Your Host
33:15 • 2min
Synchronize All the Time, Right?
35:43 • 2min
How Big Is That Coad?
37:15 • 3min
Using Dynamu the Be?
40:01 • 2min
Dynamo Deb - Is There a Middle Man Service That Intercepts the Data?
41:51 • 3min
Using Dynamod B to Manage the Data?
44:23 • 2min
How to Replace Mong Monga Plug With Reds?
46:26 • 2min
Does Jo Hapans Ever Run Into Any Rate Limiting Issues?
48:04 • 2min
Monitoring Is Really Important for Us Anuse Data Do
49:45 • 2min
Do You Have a Special Team to Monitor Your Servers?
51:51 • 2min
How to Set Up Uncall Rotations?
53:35 • 2min
Do You Have a Custom Cot?
55:07 • 3min
Are You Using Stripe or Brang Tree?
57:42 • 3min
Do You Use Data Dog or Logly?
01:00:15 • 2min
The More the Merrier
01:02:36 • 2min
Do You Have a Monitor?
01:04:08 • 2min
Docker Registry Certificate Error?
01:06:19 • 2min
Why a W S Was a Good Choice?
01:08:06 • 2min
The Benefits of Migrating to ECS
01:09:37 • 4min
Using a Net Gateway on a Cluster?
01:13:50 • 3min
Theha Form Is Not Managed, Is It?
01:16:44 • 2min
Is Terraform a Good Provider for Data Dog?
01:19:09 • 3min
Do You Have a Local Network Connection?
01:21:54 • 2min
How to Deploy a Meteor Cloud Feature Locally?
01:23:40 • 3min
Can You Deploy Anytime of the Day?
01:27:03 • 2min
Is There a Snap Shot Test?
01:29:11 • 2min
Is the Mongdebe Trigger Scaling Down or Scaling Up?
01:30:58 • 2min
Do You Back Up Your Data Base?
01:32:34 • 2min
Is It Worth It?
01:34:39 • 4min
How to Monitor for No Data?
01:38:36 • 3min
How to Create a Nap?
01:41:13 • 2min
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.
