Artwork

Контент предоставлен Nick Janetakis and Nick Janetakis - Full stack developer. Весь контент подкастов, включая эпизоды, графику и описания подкастов, загружается и предоставляется непосредственно компанией Nick Janetakis and Nick Janetakis - Full stack developer или ее партнером по платформе подкастов. Если вы считаете, что кто-то использует вашу работу, защищенную авторским правом, без вашего разрешения, вы можете выполнить процедуру, описанную здесь https://ru.player.fm/legal.
Player FM - приложение для подкастов
Работайте офлайн с приложением Player FM !

Couchmate Is a Social Chat Platform for Viewers of Live TV

1:55:21
 
Поделиться
 

Manage episode 297823903 series 2589818
Контент предоставлен Nick Janetakis and Nick Janetakis - Full stack developer. Весь контент подкастов, включая эпизоды, графику и описания подкастов, загружается и предоставляется непосредственно компанией Nick Janetakis and Nick Janetakis - Full stack developer или ее партнером по платформе подкастов. Если вы считаете, что кто-то использует вашу работу, защищенную авторским правом, без вашего разрешения, вы можете выполнить процедуру, описанную здесь https://ru.player.fm/legal.

In this episode of Running in Production, Matt Oliver goes over building a chat platform with Akka, Scala and React Native. It’s hosted on DigitalOcean with Kubernetes and has been running in production since 2013.

Matt talks about rewriting his app a few times, handling tens of thousands of nightly TV shows, going all-in with Kubernetes, using Terraform, understanding it’ll take a while to learn things along the way and more.

Topics Include

  • 4:55 – Going from PHP to Scala to Node and back to Scala for the back-end
  • 15:09 – Tens of thousands of channels are created every night
  • 16:39 – What exactly is Akka and the actor model
  • 19:55 – Websockets are being used quite heavily
  • 23:04 – A few Scala libraries that were useful for building this platform
  • 27:31 – There’s a mobile front-end using React Native for Android and iOS
  • 31:30 – Storing and caching TV listings with Gracenote
  • 34:53 – Roughly ~25k lines of Scala and ~11k on the front-end in 2 repos
  • 39:41 – Motivation for using React Native instead of using native languages
  • 45:55 – How to deal with large show TVs with a massive audience
  • 50:28 – The app is basically 3 screens
  • 54:34 – Handling user uploaded gifs and link submissions
  • 1:00:09 – What it was like building out the React Native front-end
  • 1:05:54 – Reasons for picking DigitalOcean and using Kubernetes
  • 1:14:44 – Most of the infrastructure is managed by Terraform
  • 1:16:57 – What it was like to go from not using Kubernetes to going all-in with it
  • 1:24:21 – (3) 2 GB of memory / 2 CPU core servers are running the cluster
  • 1:26:12 – What it’s like developing a new feature and deploying it to production
  • 1:34:28 – The database is backed up on a schedule and before schema changes
  • 1:39:21 – Prometheus, Grafana, Kamon and Sentry are used for metrics and monitoring
  • 1:43:41 – Pingdom is used for an external site monitor
  • 1:44:31 – It took about a month to get confident in using Kubernetes
  • 1:49:29 – Best tips? It’s going to take a while, hang in there
  • 1:53:06 – Writing comments for your future self while learning
  • 1:54:34 – Matt is on Twitter and most socials as @halfmatthalfcat and @couchmatehq

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 эпизодов

Artwork
iconПоделиться
 
Manage episode 297823903 series 2589818
Контент предоставлен Nick Janetakis and Nick Janetakis - Full stack developer. Весь контент подкастов, включая эпизоды, графику и описания подкастов, загружается и предоставляется непосредственно компанией Nick Janetakis and Nick Janetakis - Full stack developer или ее партнером по платформе подкастов. Если вы считаете, что кто-то использует вашу работу, защищенную авторским правом, без вашего разрешения, вы можете выполнить процедуру, описанную здесь https://ru.player.fm/legal.

In this episode of Running in Production, Matt Oliver goes over building a chat platform with Akka, Scala and React Native. It’s hosted on DigitalOcean with Kubernetes and has been running in production since 2013.

Matt talks about rewriting his app a few times, handling tens of thousands of nightly TV shows, going all-in with Kubernetes, using Terraform, understanding it’ll take a while to learn things along the way and more.

Topics Include

  • 4:55 – Going from PHP to Scala to Node and back to Scala for the back-end
  • 15:09 – Tens of thousands of channels are created every night
  • 16:39 – What exactly is Akka and the actor model
  • 19:55 – Websockets are being used quite heavily
  • 23:04 – A few Scala libraries that were useful for building this platform
  • 27:31 – There’s a mobile front-end using React Native for Android and iOS
  • 31:30 – Storing and caching TV listings with Gracenote
  • 34:53 – Roughly ~25k lines of Scala and ~11k on the front-end in 2 repos
  • 39:41 – Motivation for using React Native instead of using native languages
  • 45:55 – How to deal with large show TVs with a massive audience
  • 50:28 – The app is basically 3 screens
  • 54:34 – Handling user uploaded gifs and link submissions
  • 1:00:09 – What it was like building out the React Native front-end
  • 1:05:54 – Reasons for picking DigitalOcean and using Kubernetes
  • 1:14:44 – Most of the infrastructure is managed by Terraform
  • 1:16:57 – What it was like to go from not using Kubernetes to going all-in with it
  • 1:24:21 – (3) 2 GB of memory / 2 CPU core servers are running the cluster
  • 1:26:12 – What it’s like developing a new feature and deploying it to production
  • 1:34:28 – The database is backed up on a schedule and before schema changes
  • 1:39:21 – Prometheus, Grafana, Kamon and Sentry are used for metrics and monitoring
  • 1:43:41 – Pingdom is used for an external site monitor
  • 1:44:31 – It took about a month to get confident in using Kubernetes
  • 1:49:29 – Best tips? It’s going to take a while, hang in there
  • 1:53:06 – Writing comments for your future self while learning
  • 1:54:34 – Matt is on Twitter and most socials as @halfmatthalfcat and @couchmatehq

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ất cả các tập

×
 
Loading …

Добро пожаловать в Player FM!

Player FM сканирует Интернет в поисках высококачественных подкастов, чтобы вы могли наслаждаться ими прямо сейчас. Это лучшее приложение для подкастов, которое работает на Android, iPhone и веб-странице. Зарегистрируйтесь, чтобы синхронизировать подписки на разных устройствах.

 

Краткое руководство