| I feel the same way. The plumbing required has become so complex these last few years (if you use new technology). 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 |