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 !

Hitobito Helps You Manage Communities with Complex Group Hierarchies

1:48:11
 
Поделиться
 

Manage episode 300019328 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, Matthias Viehweger goes over building a service to help organize groups of people. It’s built with Ruby on Rails and is hosted on OpenShift with Kubernetes. It’s been running in production since 2012.

Matthias talks about building a Rails Engine abstraction, creating a multi-repo monolith, using Sphinx for full text search, making the most of Kubernetes / OpenShift and lots more.

Topics Include

  • 6:23 – There’s an open source version of it along with a hosted SAAS app
  • 9:10 – Motivation for using Ruby on Rails and updating from v4 to v6 over time
  • 12:18 – Using Action Mailer and Delayed Job to send and receive emails
  • 16:40 – A few other gems being used in the project
  • 19:25 – 86 models in the core app and 275 extra for a specific Scout site (~70k LOC too)
  • 22:49 – How billing is handled for the hosted SAAS app (it’s through invoices)
  • 24:54 – Handling integrations by exporting data
  • 26:31 – It’s a multi-repo monolithic application, what the “core” and “wagon” are
  • 32:02 – There’s mostly server rendered templates with a bit of JS on the front-end
  • 35:00 – Full text search is handled with the Thinking Sphinx gem
  • 37:09 – There’s a separate MySQL database for each tenant
  • 42:35 – Tech stack run down so far and how memcached is being used
  • 44:58 – The app is set up to use Docker Compose in dev but Matthias doesn’t use it
  • 48:05 – It’s hosted on APPUiO which is a hosted version of OpenShift
  • 50:20 – We’re all YAML engineers, configuring Kubernetes and DB migrations
  • 1:03:04 – Kustomize is being used instead of Helm for templating YAML files
  • 1:05:20 – The Kubernetes related code is in its own git repo
  • 1:08:01 – From developing a feature locally to pushing it to production
  • 1:19:38 – Resource limits are defined in the Kubernetes config files
  • 1:27:40 – Backing up the database with daily Kubernetes cron jobs
  • 1:31:02 – Developers are treated like grown ups when it comes to customer data
  • 1:34:48 – Handling logging and alerting with Prometheus, Grafana and Kubernetes
  • 1:40:51 – Handling DNS with DNSimple and SSL certificates with Let’s Encrypt
  • 1:44:05 – Best tips? Start with a specific thing instead of making a generic thing
  • 1:46:45 – Check out https://hitobito.com/ and their GitHub account, Matthias is also on GitHub, Twitter and he has a site at http://kronn.de/, also Puzzle is the company he works for

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 300019328 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, Matthias Viehweger goes over building a service to help organize groups of people. It’s built with Ruby on Rails and is hosted on OpenShift with Kubernetes. It’s been running in production since 2012.

Matthias talks about building a Rails Engine abstraction, creating a multi-repo monolith, using Sphinx for full text search, making the most of Kubernetes / OpenShift and lots more.

Topics Include

  • 6:23 – There’s an open source version of it along with a hosted SAAS app
  • 9:10 – Motivation for using Ruby on Rails and updating from v4 to v6 over time
  • 12:18 – Using Action Mailer and Delayed Job to send and receive emails
  • 16:40 – A few other gems being used in the project
  • 19:25 – 86 models in the core app and 275 extra for a specific Scout site (~70k LOC too)
  • 22:49 – How billing is handled for the hosted SAAS app (it’s through invoices)
  • 24:54 – Handling integrations by exporting data
  • 26:31 – It’s a multi-repo monolithic application, what the “core” and “wagon” are
  • 32:02 – There’s mostly server rendered templates with a bit of JS on the front-end
  • 35:00 – Full text search is handled with the Thinking Sphinx gem
  • 37:09 – There’s a separate MySQL database for each tenant
  • 42:35 – Tech stack run down so far and how memcached is being used
  • 44:58 – The app is set up to use Docker Compose in dev but Matthias doesn’t use it
  • 48:05 – It’s hosted on APPUiO which is a hosted version of OpenShift
  • 50:20 – We’re all YAML engineers, configuring Kubernetes and DB migrations
  • 1:03:04 – Kustomize is being used instead of Helm for templating YAML files
  • 1:05:20 – The Kubernetes related code is in its own git repo
  • 1:08:01 – From developing a feature locally to pushing it to production
  • 1:19:38 – Resource limits are defined in the Kubernetes config files
  • 1:27:40 – Backing up the database with daily Kubernetes cron jobs
  • 1:31:02 – Developers are treated like grown ups when it comes to customer data
  • 1:34:48 – Handling logging and alerting with Prometheus, Grafana and Kubernetes
  • 1:40:51 – Handling DNS with DNSimple and SSL certificates with Let’s Encrypt
  • 1:44:05 – Best tips? Start with a specific thing instead of making a generic thing
  • 1:46:45 – Check out https://hitobito.com/ and their GitHub account, Matthias is also on GitHub, Twitter and he has a site at http://kronn.de/, also Puzzle is the company he works for

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 и веб-странице. Зарегистрируйтесь, чтобы синхронизировать подписки на разных устройствах.

 

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