Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Embrace the Grind

Embrace the Grind

A plea urging beginner and intermediate developers to cast aside the regular 0 to 1 tools and to embrace the grind of

A plea urging beginner and intermediate developers to return to the fundamentals of software deployment. It is intended to challenge the overreliance on modern platforms and abstractions, encouraging developers to embrace the manual process of building and deploying applications.

By navigating purposeful and controlled failures, I am to highlight the value of understanding underlying systems and mastering the gritty details of deploying, maintaining, and scaling applications.

It's a call to action for developers to refine their craft by stepping away from convenience and into the empowering process of learning through doing.

Shrayas Rajagopal

November 23, 2024
Tweet

More Decks by Shrayas Rajagopal

Other Decks in Programming

Transcript

  1. Repl.it Railway Heroku Glitch Render Amazon ECS Fly.io Streamlit Supabase

    Vercel Digital Ocean Netlify Google Cloud Run PlanetScale Firebase ... 0 1
  2. Install your runtime Python, Ruby, JS, .NET, Java … Write

    your code Buy a domain Buy a server Map your DNS Don’t containerize
  3. Install a database PostgreSQL, MariaDB Write your code Buy a

    domain Buy a server Map your DNS Don’t containerize Install your runtime
  4. Install other tools htop, dbcli, redis … Write your code

    Buy a domain Buy a server Map your DNS Don’t containerize Install your runtime Install a database
  5. Deploy Manually Write your code Buy a domain Buy a

    server Map your DNS Don’t containerize Install your runtime Install a database Install other tools
  6. Expose to internet Caddy, NGINX Write your code Buy a

    domain Buy a server Map your DNS Don’t containerize Install your runtime Install a database Install other tools Deploy
  7. Change your code Tomorrow or weeks later Write your code

    Buy a domain Buy a server Map your DNS Don’t containerize Install your runtime Install a database Install other tools Deploy Expose to internet
  8. Re-deploy Manually / A script Write your code Buy a

    domain Buy a server Map your DNS Don’t containerize Install your runtime Install a database Install other tools Deploy Expose to internet Change your code
  9. Setup backups For DB, Server Write your code Buy a

    domain Buy a server Map your DNS Don’t containerize Install your runtime Install a database Install other tools Deploy Expose to internet Change your code Re-deploy
  10. Write your code Buy a domain Buy a server Map

    your DNS Don’t containerize Install your runtime Install a database Install other tools Deploy Expose to internet Change your code Re-deploy Setup backups
  11. Your runtime & dependencies won’t install Your HTTPS certificates will

    expire Your code won’t work on the server Your code won’t survive a system restart Your code won’t survive a burst of traffic Your deploys will get tedious and boring Your database will fill up the disk Your database backups will fill up the disk Your DNS will not propagate as expected Your OS updates will break your app
  12. Your runtime & dependencies won’t install Your HTTPS certificates will

    expire Your code won’t work on the server Your code won’t survive a system restart Your code won’t survive a burst of traffic Your deploys will get tedious and boring Your database will fill up the disk Your database backups will fill up the disk Your DNS will not propagate as expected Your OS updates will break your app
  13. Your runtime & dependencies won’t install Your HTTPS certificates will

    expire Your code won’t work on the server Your code won’t survive a system restart Your code won’t survive a burst of traffic Your deploys will get tedious and boring Your database will fill up the disk Your database backups will fill up the disk Your DNS will not propagate as expected Your OS updates will break your app
  14. Your runtime & dependencies won’t install Your HTTPS certificates will

    expire Your code won’t work on the server Your code won’t survive a system restart Your code won’t survive a burst of traffic Your deploys will get tedious and boring Your database will fill up the disk Your database backups will fill up the disk Your DNS will not propagate as expected Your OS updates will break your app
  15. Write your code Buy a domain Buy a server Map

    your DNS Don’t containerize Install your runtime Install a database Install other tools Deploy Expose to internet Change your code Re-deploy Setup backups 0 -> 1