I am planning a new microservices architecture and I am torn between using AWS Lambda or Google Kubernetes Engine. In the realm of Cloud Computing, is serverless really cheaper for sporadic workloads, or do the "cold start" latencies and vendor lock-in make containers a more robust choice for long-term scalability and dev-ops flexibility?
3 answers
Deciding between these two is the most common crossroads in modern Cloud Computing. Serverless is unmatched for "event-driven" tasks where you don't want to pay for idle CPU time, but it forces you into a specific provider's ecosystem. Containers, especially with Kubernetes, offer total portability; you can move from Azure to AWS without rewriting your entire logic. However, the operational overhead of managing a cluster is significant. I usually recommend starting with serverless to prove the business model. If your traffic becomes consistent and high-volume, then the cost-benefit of reserved container instances starts to outweigh the convenience of functions-as-a-service.
Have you looked into "Cloud Run" as a middle ground for your Cloud Computing needs, since it offers serverless container execution?
Don't forget that Cloud Computing costs aren't just compute; egress fees can be 30% of your bill if you don't architect your regions correctly!
Angela is 100% right. Egress is the "hidden tax" of the cloud. I’ve seen many Cloud Computing projects fail financially because they ignored data transfer costs between zones.
That’s a great suggestion, Justin! I actually hadn't considered a hybrid approach like Cloud Run. It seems to solve my main worry about Cloud Computing lock-in because I can keep my Dockerfiles, but I still get the "pay-as-you-go" benefit. My only concern now is how it handles persistent storage compared to a full-blown K8s cluster, but for a standard REST API, it might actually be the "Goldilocks" solution I’ve been searching for to keep our initial burn rate low.