Platform for Scalable Web Apps | How I built my website with Kubernetes

Опубликовано: 28 Октябрь 2024
на канале: Devon Crawford
818,661
20k

I've spent months building a platform to support my development of scalable web applications. In this video, I try to share the learning process.

My personal website has a lot behind the scenes that most people cannot interact with. I've written up a few microservices and decided to deploy them on kubernetes. Some may say that what I've done is overkill - but it really does simplify the workflow once its setup (and I don't have to rewrite my codebase in the future!)

The end result:
Kubernetes cluster on digital ocean.. 3 nodes, a load balancer, and persistent volume
nginx-ingress controller exposes services to the outside world (all other services are internal)

Microservices:
jwt authentication server (security)
hangfire background processing server
MySQL database
mailer
front end

There is still a lot of work to be done. While most services are scalable - the database is not. Currently, our database is a single instance. I think someday I will need to deploy a MySQL cluster to support replication, etc. This was a massive topic to cover in a single video so I could not explain everything, my hope is that people can take what they see and research further.

Technologies Used:
CPU Intensive Backend: C# with ASP .NET Core
Simple I/O Intensive Backend: Node js
Database: MySQL
Scheduler: Hangfire open source background processing library
Authentication: JWT backed by Dotnet Identity
Mailing Service: Sendgrid
Integrations: YouTube, Github
Deployment: Docker images w/ Kubernetes
Front end: Next js / React

Hangfire (background processing):    • Learning a new Programming Language |...  
YouTube Descriptions Updater:    • Coding a YouTube Descriptions Updater...  
Next Video:    • Hacking the YouTube Algorithm 2019  
Previous Video:    • Why I'm not in School  

Social
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Website: https://devoncrawford.io
Twitter:   / devoncrawford13  
Snapchat:   / devoncrawfordyt  
Instagram:   / devoncrawford_  
Github: https://github.com/devoncrawford
Discord:   / discord  

Gear
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Video Editing Software (Premiere Pro CC): https://prf.hn/l/BOomWo3
All Adobe Apps (I use this plan): https://prf.hn/l/Xv5qk5Q
Keyboard (Velocifire TKL01): https://amzn.to/2AQTjJQ
Monitors (Dell U2518D) : https://amzn.to/2AQQmco
Webcam (Logitech C920): https://amzn.to/2Cw588c
Desk Microphone (Blue Yeti): https://amzn.to/2FPFmzi
DSLR (Canon T7i): https://amzn.to/2T54mpZ
Wide Lens (Tokina 11-16mm F2.8): https://amzn.to/2MlpvcO

Music
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Puar - GEMS W/ sin
Link:   / gems-w-sin  

bob le head - gapintheclouds [ep] @ 6:52
Link:   / gapintheclouds-ep  

dis.joint - knock
Link:   / knock-3  

A L E X - Easy Track (part of Growing Up, Vol.2)
Link: https://beatsupply.fanlink.to/growing...