Is this not a contradiction to you?
Is this not a contradiction to you?
10 years ago we uploaded the server/backend binary to a VM, installed postgres/mysql and configured nginx/haproxy as a reverse proxy/ssl termination.
Now, if you want to deploy a modern SPA while using some buzzwords like k8s and devops you need:
* complex frontend build process with things like webpack which have huge config files
* Build docker images for all components (each microservice, frontend, etc)
* Build zips for deploying your lambda functions
* Configure docker repository for storing images
* gitlab/bbpipelines/githubactions/whatever pipeline configuration for automating all this building
* Setup a production-ready k8s cluster
* Write the kubernetes yaml files for describing your services
* Figure out how to hookup a cloud load balancer to your kubernetes ingress
* Figure out letsencrypt certificate renewal and make your ingress aware
* Figure out CDN configuration (and invalidation) because apparently we don't serve the frontend from the backend server anymore
* Some network config so your lambdas can access the backend
* Since we're using microservices we're going to need some service discovery, and depending on which SD solution we choose we might need to build this into each individual microservice (Consul)
* And probably lots more as I haven't even touched service meshes, or JWT authentication, caching and cache invalidation
You cannot simplify something by adding overly complex layers of abstraction on top of it.
Are they not understanding costs and scaling?
But I think it would be a terrible idea to be reliant on just one server because downtown, latency are real-troubling issues.
There are three overlapping issues in what you talk about:
* Moving from bare metal servers to VMs to containers, with cloud deployment optionally thrown in there somewhere.
* Moving from hand deployment to continuous integration.
* Moving from monolithic applications to microservices.
Lambdas expand infinitely, k8's can easily autoscale stateless docker containers out forever.
All for starting under a 500 dollars a month?
150$ for EKS, lambdas first X million are free, and are cheap as hell from there, cloud LB is 50 bucks a month, etc.
Not to mention all the other benefits that containers provide Infrastructure as Code, no dev environment incompatibility problems, etc..
That is UNHEARD OF historically.
I think you may have some rose colored glasses or I'm just idealistic and naieve, but it's insanely exciting what's possible for a small enterprise nowdays.
The problem nowdays imo is management. The business people have taken over tech instead of tech people running things. And people without knowledge of tech, running a tech shop always makes the job suck.
But that doesn't mean it's creative. Plumbing, like web development, may have all of these complexities and constraints, but typically there is really only one solution that can be considered "right" and your job is to go through the steps and do the math to find it, there's not a lot of room for creative thinking, despite the complexity of the problem.