more developers need to hear this
-
Ryan Townsendreplied to pancake :butterfly_:β:neofox_lesbian: last edited by
@natty you're absolutely right β to be clear, my viewpoint is:
1. DIY on personal projects to your heart's content β use FTP, K8s, bare metal, IaaS, PaaS (e.g. Heroku, Render, Vercel, Netlify), or whatever else makes you happy.
2. If you're on a commercial project: use a PaaS unless a) you can _afford_ and _justify_ hiring >=2 full-time DevOps people or b) you have some specific infra needs PaaS cannot cater to... if either of these are true, then _consider_ K8s
-
@ryantownsend Even with a simple fork exec based CGI 1/s was easy. 25 years ago. True. php stuff got a bit sluggish. But the C replacement I wrote? We didn't even need to do fastcgi. And it could process HTML templates.
-
@ryantownsend (Tbf, with a custom precompiler, so the actual CGI would only mmap one file)
-
@project1enigma my suggestion here isn't to get more low-level, people should just default to outsourcing to PaaS (Heroku, Render, Vercel, Netlify, et al).
For 99% of commercial projects:
* K8s is over-engineering
* Bare metal / SFTP is under-engineeringTime/budget is generally better on product development than maintaining infrastructure.
The exceptions are:
* Massive scale (> mid 5-figure spend per month, where hiring DevOps would save BIG)
* Niche infra needs that PaaS doesn't cater to -
@ryantownsend I'm too old to know what "PaaS" is. And yes it was a specific need anyway and I guess your "PaaS" didn't even exist back then?
-
@project1enigma possibly not: Heroku launched in 2007, they were one of the first.
PaaS is basically somewhere you can push your code (can literally be a `git push`) and they manage things like configuring necessary OS dependencies, OS patching, rolling restarts, auto-scaling etc for you β no DevOps engineers needed.
Examples: Heroku, Render, Vercel, Netlify, AWS Amplify.
-
@ryantownsend Code as in, within some certain framework?
-
@project1enigma it depends on the platform...
Heroku, for example, natively supports: Node.js, Ruby, Java, PHP, Python, Go, Scala, Closure.
With open-source buildpacks for frameworks within each language (e.g. Express.js, Ruby on Rails, Laravel)
Worth watching the 60 second video demonstration here to give you an idea of how simple it can be: https://www.heroku.com/php
-
@project1enigma literally 60 seconds to deploy something and get a full CI/CD pipeline with staging environments, promotion to production, instant rollbacks (all via a button), monitoring, log streaming, managed databases/SSL, auto-scaling.
No need to configure web servers, load balancing, OS security, containerisation.
It's more costly than something like EC2 when looking at purely infra, but when you factor in salaries, wasted time, risk, it's far cheaper (except at huge scale).
-
Mia βMeetings? I Abstainβ Luna Tearmoonreplied to Ryan Townsend last edited by
I have bad news: if you remember doing LANs back in the 1990s, you are probably old.
this made me feel my bones creak (DR-DOS 6, assembler inlining in Ada and Pascal to interact with the Novell NetWare driver through INT 21h)
-
Ryan Townsendreplied to Mia βMeetings? I Abstainβ Luna Tearmoon last edited by
@mia I donβt understand what this has to do with my Mastodon post?
My suggestion is just for commercial projects to avoid K8s (given theyβd need staff to manage it) and use PaaS, unless thereβs a very good reason not to (e.g. massive scale or niche infrastructure requirements).