3 ms·
“I don’t think you need unnecessary complexity. You should use Kubernetes” There is a certain lack of self awareness. What exactly do you think that serverle
by scarface74 3y ago
“I don’t think you need unnecessary complexity. You should use Kubernetes”
There is a certain lack of self awareness.
What exactly do you think that serverless is besides spinning up VMs on demand where you don’t have to maintain the orchestration?
- jpgvm 3y agoI personally find k8s to be much simpler to use. Both are complex internally, k8s does a better job of preventing that complexity from leaking IMO. You need to know roughly the same amount of things to use both. On k8s to deploy something simple you will need: 1. A deployment to actually run your app. 2. A service describe how to talk to your app. 3. An ingress to route requests to the service. On Lambda w/API Gateway: 1. Lambda Function 2. IAM Role 3. API Gateway objects (Deployment, RestApi, Stage) More if you expand out the policies and API gateway objects. These become -really- burdensome if you are using IaC like Pulumi or Terraform. In practice using k8s these days is essentially managed also, ale GKE/EKS/AKS so the real differences are down to: 1. API, the FaaS etc ones are proprietary, k8s is standardized. 2. Runtime environment and execution limits, varies by FaaS, k8s has none. 3. Access to durable storage, FaaS only object/HTTP based storage, you can attach EBS-like to your k8s containers. 4. Architecture incentives. FaaS highly incentivises microservices, k8s isn't really opinionated. FaaS is more like cgi-bin on steroids, k8s is daemons on a box but with fancy management. 5. Scaling. FaaS scale "infinitely", k8s scales depending on settings of cluster autoscaler. So generally you get as good or better from k8s, the API complexity is about the same except now it's standard no lock-in, no enforced runtime limits, you have durable containers so you can attach a debugger, etc. Hopefully this shows a bit why I think k8s is at least as simple as serverless if not more simple.
- scarface74 3y agoAnyone who says that they aren’t “locked-in” hasn’t done a large migration and dealt with both the technical and organizational complexity of any large migration. I’ve been involved with organizations that just literally wanted to do a “lift and shift” of 100s of VMs and databases. They were definitely didn’t have any “vendor lock in”. Guess how long it took? Guess how much regression testing it took and planning?
- jpgvm 3y agoMonths probably. Took the team I was on ~6mo to complete a very large AWS -> GKE migration. If we weren't using k8s it probably would have been impossible though. We were lucky we used fairly minimal managed services, mostly RDS and a tiny bit of SQS and Kinesis which were ported to Kafka as part of the move.