Artwork

Nội dung được cung cấp bởi Nick Janetakis and Nick Janetakis - Full stack developer. Tất cả nội dung podcast bao gồm các tập, đồ họa và mô tả podcast đều được Nick Janetakis and Nick Janetakis - Full stack developer hoặc đối tác nền tảng podcast của họ tải lên và cung cấp trực tiếp. Nếu bạn cho rằng ai đó đang sử dụng tác phẩm có bản quyền của bạn mà không có sự cho phép của bạn, bạn có thể làm theo quy trình được nêu ở đây https://vi.player.fm/legal.
Player FM - Ứng dụng Podcast
Chuyển sang chế độ ngoại tuyến với ứng dụng Player FM !

Statuspal Is a Service for Hosted Status Pages and Monitoring

1:03:40
 
Chia sẻ
 

Manage episode 294939754 series 2589818
Nội dung được cung cấp bởi Nick Janetakis and Nick Janetakis - Full stack developer. Tất cả nội dung podcast bao gồm các tập, đồ họa và mô tả podcast đều được Nick Janetakis and Nick Janetakis - Full stack developer hoặc đối tác nền tảng podcast của họ tải lên và cung cấp trực tiếp. Nếu bạn cho rằng ai đó đang sử dụng tác phẩm có bản quyền của bạn mà không có sự cho phép của bạn, bạn có thể làm theo quy trình được nêu ở đây https://vi.player.fm/legal.

In this episode of Running in Production, Eduardo Messuti talks about building a status page and monitoring service with Phoenix and Elixir. It’s hosted on DigitalOcean and Heroku. It’s been up and running since 2017.

Eduardo talks about upgrading their code base to use Phoenix contexts, using Oban, creating a notification abstraction, going all-in with EEx rendered templates and a bit of jQuery, using Docker Compose in production and more.

Topics Include

  • 1:59 – What it was like using Elixir back in 2017
  • 4:52 – Elixir handles 500k requests a day and motivation to use Elixir / Phoenix
  • 8:17 – The process to upgrade the code base to use Phoenix contexts
  • 10:02 – Oban is being used to handle background jobs
  • 14:39 – Sending out notifications and webhooks with custom code
  • 16:39 – Using Mix format as part of a CI pipeline with GitHub Actions
  • 19:00 – Breaking out the mail service into its own service
  • 21:03 – About 28k lines of Elixir and 2k lines of JS
  • 23:48 – Server rendered app with EEx vs going the SPA / API route vs Live View
  • 28:45 – Supplying a status page embed widget for customers and custom domains
  • 33:08 – Using nginx as a reverse proxy, ETS for caching along with Cloudflare
  • 35:03 – Hugo is being used to serve the static marketing site
  • 37:11 – Docker is being used in staging and production
  • 38:17 – The mailer is hosted on Heroku, everything else is on DigitalOcean
  • 39:58 – The hardware specs of the 4-5 DigitalOcean servers and what they do
  • 42:27 – They’re running Ubuntu 20.04 LTS and upgraded the servers on the fly
  • 44:13 – The servers are manually provisioned and run Docker Compose
  • 50:52 – Deploying a feature from development to production
  • 53:37 – User logos get uploaded and saved to disk with a Docker volume
  • 54:52 – Using BackupPC for backing up the database, certificates and file uploads
  • 56:40 – DigitalOcean’s monitoring and Pingdom are being used for various health checks
  • 57:38 – Honeybadger and Papertrail for errors + logging, and the Elixir experience
  • 1:00:38 – Best tips? Pick a technology you’re comfortable with and start building
  • 1:01:31 – What it was like hiring Elixir contract workers
  • 1:02:40 – Check out https://statuspal.io/ with promo code PRODUCTION to save 10%

Links

📄 References
⚙️ Tech Stack
🛠 Libraries Used

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.
  continue reading

108 tập

Artwork
iconChia sẻ
 
Manage episode 294939754 series 2589818
Nội dung được cung cấp bởi Nick Janetakis and Nick Janetakis - Full stack developer. Tất cả nội dung podcast bao gồm các tập, đồ họa và mô tả podcast đều được Nick Janetakis and Nick Janetakis - Full stack developer hoặc đối tác nền tảng podcast của họ tải lên và cung cấp trực tiếp. Nếu bạn cho rằng ai đó đang sử dụng tác phẩm có bản quyền của bạn mà không có sự cho phép của bạn, bạn có thể làm theo quy trình được nêu ở đây https://vi.player.fm/legal.

In this episode of Running in Production, Eduardo Messuti talks about building a status page and monitoring service with Phoenix and Elixir. It’s hosted on DigitalOcean and Heroku. It’s been up and running since 2017.

Eduardo talks about upgrading their code base to use Phoenix contexts, using Oban, creating a notification abstraction, going all-in with EEx rendered templates and a bit of jQuery, using Docker Compose in production and more.

Topics Include

  • 1:59 – What it was like using Elixir back in 2017
  • 4:52 – Elixir handles 500k requests a day and motivation to use Elixir / Phoenix
  • 8:17 – The process to upgrade the code base to use Phoenix contexts
  • 10:02 – Oban is being used to handle background jobs
  • 14:39 – Sending out notifications and webhooks with custom code
  • 16:39 – Using Mix format as part of a CI pipeline with GitHub Actions
  • 19:00 – Breaking out the mail service into its own service
  • 21:03 – About 28k lines of Elixir and 2k lines of JS
  • 23:48 – Server rendered app with EEx vs going the SPA / API route vs Live View
  • 28:45 – Supplying a status page embed widget for customers and custom domains
  • 33:08 – Using nginx as a reverse proxy, ETS for caching along with Cloudflare
  • 35:03 – Hugo is being used to serve the static marketing site
  • 37:11 – Docker is being used in staging and production
  • 38:17 – The mailer is hosted on Heroku, everything else is on DigitalOcean
  • 39:58 – The hardware specs of the 4-5 DigitalOcean servers and what they do
  • 42:27 – They’re running Ubuntu 20.04 LTS and upgraded the servers on the fly
  • 44:13 – The servers are manually provisioned and run Docker Compose
  • 50:52 – Deploying a feature from development to production
  • 53:37 – User logos get uploaded and saved to disk with a Docker volume
  • 54:52 – Using BackupPC for backing up the database, certificates and file uploads
  • 56:40 – DigitalOcean’s monitoring and Pingdom are being used for various health checks
  • 57:38 – Honeybadger and Papertrail for errors + logging, and the Elixir experience
  • 1:00:38 – Best tips? Pick a technology you’re comfortable with and start building
  • 1:01:31 – What it was like hiring Elixir contract workers
  • 1:02:40 – Check out https://statuspal.io/ with promo code PRODUCTION to save 10%

Links

📄 References
⚙️ Tech Stack
🛠 Libraries Used

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.
  continue reading

108 tập

כל הפרקים

×
 
Loading …

Chào mừng bạn đến với Player FM!

Player FM đang quét trang web để tìm các podcast chất lượng cao cho bạn thưởng thức ngay bây giờ. Đây là ứng dụng podcast tốt nhất và hoạt động trên Android, iPhone và web. Đăng ký để đồng bộ các theo dõi trên tất cả thiết bị.

 

Hướng dẫn sử dụng nhanh