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

    2
    28



    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): https://youtu.be/NRiVrZ_8vwA
    YouTube Descriptions Updater: https://youtu.be/uKmjvCPllWQ
    Next Video: https://youtu.be/l5VtPY7FBw4
    Previous Video: https://youtu.be/eDjGBOxuuZs

    Social
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    Website: https://devoncrawford.io
    Twitter: https://twitter.com/DevonCrawford13
    Snapchat: https://www.snapchat.com/add/devoncrawfordyt
    Instagram: https://www.instagram.com/devoncrawford_/
    Github: https://github.com/devoncrawford
    Discord: https://discord.gg/sU2fur9
    Patreon: https://www.patreon.com/devoncrawford

    Gear
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    – Video Editing Software (Premiere Pro CC): https://goo.gl/rKx66D
    – All Adobe Apps (I use this plan): https://goo.gl/hrTYFS
    – 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
    – Full list of gear: https://devoncrawford.io/gear

    Music
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    Puar – GEMS W/ sin
    Link: https://soundcloud.com/puarbeats/gems-w-sin

    bob le head – gapintheclouds [ep] @ 6:52
    Link: https://soundcloud.com/bob-le-head/gapintheclouds-ep

    dis.joint – knock
    Link: https://soundcloud.com/dis-joint/knock-3

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

    source

    Previous articleDocker Networking Tutorial | Container Network Model | Docker Tutorial For Beginners | Simplilearn
    Next articleDeploy Docker to Kubernetes Cluster