Kubernetes is a container orchestrator and thus needs containers to begin with. It's a paradigm shift to more traditional software development, where components are developed, and then deployed to bare metal machines or VMs.
Kubernetes vs Serverless offerings
Why would you need Kubernetes when there are offerings like Vercel, Netlify, or AWS Lambda/Amplify that basically manage everything for you and offer even more?
Well, let's try to look at both approaches and draw our own conclusions!
🧵⏬
Kubernetes is a container orchestrator and thus needs containers to begin with. It's a paradigm shift to more traditional software development, where components are developed, and then deployed to bare metal machines or VMs.
⏬
The offer is pretty simple: You write the code, the platform handles everything else for you. It's basically leaning far to the NoOps side. There is not much to manage anymore.
Take your Next.js / Nuxt.js app, point the ...
Or take Amplify for example. It offers an integrated full-stack experience.
⏬
Before we're going into a comparison, I want you to understand my perspective. As objective as I try to be, I have my own experience which may differ vastly from yours.
So always keep this in mind when reading on!
The workloads I dealt with were more often suited to a Kubernetes deployment, with traditional micro services, handling infrastructure ...
I used serverless especially when we were building the surrounding systems of mobile or web apps, integrating with existing systems which did the heavy lifting.
⏬
There is of course more to serverless than only Vercel, Netlify, AWS Amplify/Lambda/CDK, Azure Functions or whatever the offer is.
You can have serverless databases, serverless message brokers, and much more.
The developer experience is great, because using those offerings is relatively simple. Sometimes there's a good UI or a CLI which helps a lot.
A Next.js / Nuxt.js app without any backend functionality besides SSR can be deployed in 5 minutes and scales and scales and scales.
You can either decide to pick wildly through the whole catalogue and have your database hosted here, while your app is hosted there, and your messaging service is somewhere completely different.
Already on AWS?
Need a database? DynamoDB!
Need a message queue? SQS!
Need backend functionality? Lambda!
Need storage? S3!
And now you have branded code. You won't be able to move from AWS to let's say Azure easily.
Well, that's a whole migration project then which may, depending on the size of your system, take quite some time.
If you ever considered the management of 50 micro services to be difficult, what about 360 lambda functions? You'll need good documentation to be able to recall all of them and what each and every one does.
⏬
Kubernetes itself is a container orchestrator, as we already learned. It works with all sorts of containers. Every application that can be containerized can be run on K8s.
View Kubernetes as a blank sheet of papers. You can write nearly everything on it, or remove it again if you don't want it anymore. And this offers a lot more flexibility.
Need messaging? Deploy your own RabbitMQ or Kafka or, again, use something offered by your cloud provider.
Need...? I think you see where this is going.
And if traditional micro services aren't for you, you can even deploy your own serverless function infrastructure (https://t.co/ynaXXliREv)!
Simply put: You need people doing this for you and it's complex.
So you'll need DevOps / Site Reliability Engineers that handle at least CI/CD and all those infrastructure components for you. And optimally, they'll take care of everything related to the cluster.
- Monitoring
- Automating
- Deployments
- Disaster recovery
- Alerting
- Upgrading components
- And a lot more
⏬
You hate those answers, I know, but it is how it is.
Neither does Kubernetes win, nor does serverless.
They each fill a specific niche in which they are good at.
And it's especially a good choice to use serverless when you're developing a mobile or web app.
It's also great for backend-heavy systems, with a lot of APIs that do not only exist to fulfill the needs of mobile and a web app.
⏬
More from Software
buffalo uses dominion scoreboard software so not really
DEAD PEOPLE SCORED FOR BUFFALO!
A truck delivered off a suitcase full of points at halftime from Canada for Buffalo.
#StopTheSteel !!!!
I’ll be submitting sworn affidavits from Steelers fans than they saw the Buffalo rigging the game but I want to emphasize that I’m not under oath.
Sports Minute: Bills improve to 10-3 with 26-15 win over sloppy Steelers https://t.co/lg0isTiE92
— Erie News Now (@ErieNewsNow) December 14, 2020
DEAD PEOPLE SCORED FOR BUFFALO!
A truck delivered off a suitcase full of points at halftime from Canada for Buffalo.
#StopTheSteel !!!!
I’ll be submitting sworn affidavits from Steelers fans than they saw the Buffalo rigging the game but I want to emphasize that I’m not under oath.
Developer productivity, y'all. It is a three TRILLION dollar opportunity, per the stripe report.
Eng managers and directors, we have got to stop asking for "more headcount" and start treating this like the systems problem that it is. https://t.co/XJ0CkFdgiO
If you are getting barely more than 50% productivity out of your very expensive engineers, I can pretty much guarantee you cannot hire your way out of this resourcing issue. 😐
(the stripe report is here:
Say you've got a strategic initiative that 3 engineers to build and support it. Well, they're going to be swimming in the same muddy pipeline as everyone else at ~50%, so you're actually gotta source, hire and train 6, er make that 7 (gonna need another manager too now)...
...which actually understates the problem, because each person you add also adds friction and overhead to the system. Communication, coordination all get harder and processes get more complex and elaborate, etc.
So we could hire 7 people, or we could patch up our sociotechnical system to lose say only 25% productivity to tech debt, instead of 42%? 🤔
By my calculations, that would reclaim 3 engineers worth of capacity given a team of just 17-18 people.
Eng managers and directors, we have got to stop asking for "more headcount" and start treating this like the systems problem that it is. https://t.co/XJ0CkFdgiO
When people often have to spend weeks just to get a local development environment up, there is a lot to improve. \U0001f641
— Daniel Schildt (@autiomaa) December 20, 2020
If you are getting barely more than 50% productivity out of your very expensive engineers, I can pretty much guarantee you cannot hire your way out of this resourcing issue. 😐
(the stripe report is here:
Say you've got a strategic initiative that 3 engineers to build and support it. Well, they're going to be swimming in the same muddy pipeline as everyone else at ~50%, so you're actually gotta source, hire and train 6, er make that 7 (gonna need another manager too now)...
...which actually understates the problem, because each person you add also adds friction and overhead to the system. Communication, coordination all get harder and processes get more complex and elaborate, etc.
So we could hire 7 people, or we could patch up our sociotechnical system to lose say only 25% productivity to tech debt, instead of 42%? 🤔
By my calculations, that would reclaim 3 engineers worth of capacity given a team of just 17-18 people.
How Silicon Valley, in a Show of Monopolistic Force, Destroyed
In the last three months, tech giants have censored political speech and journalism to manipulate U.S. politics -- banning reporting on the Bidens, removing the President, destroying a new competitor -- while US liberals, with virtual unanimity, have cheered.
The ACLU said the unity of Silicon Valley monopoly power to destroy Parler was deeply troubling. Leaders from Germany, France and Mexico protested. Only US liberals support it, because the dominant strain of US liberalism is not economic socialism but political authoritarianism.
https://t.co/qD9OdwlPbV
Just three months ago, a Dem-led House Committee issued a major report warning of the dangers of the anti-trust power of Apple, Amazon, Google and Facebook. Left-wing scholars have been sounding the alarm for years. Now it's here, and liberals
In the last three months, tech giants have censored political speech and journalism to manipulate U.S. politics -- banning reporting on the Bidens, removing the President, destroying a new competitor -- while US liberals, with virtual unanimity, have cheered.
The ACLU said the unity of Silicon Valley monopoly power to destroy Parler was deeply troubling. Leaders from Germany, France and Mexico protested. Only US liberals support it, because the dominant strain of US liberalism is not economic socialism but political authoritarianism.
https://t.co/qD9OdwlPbV
Just three months ago, a Dem-led House Committee issued a major report warning of the dangers of the anti-trust power of Apple, Amazon, Google and Facebook. Left-wing scholars have been sounding the alarm for years. Now it's here, and liberals
We wrote a 200 page report on why corporate concentration - including the big tech radicalization engines - worsened under both Democratic and Republican administrations. It has to do with antitrust enforcement, and it's fixable by Biden. https://t.co/K85Kv34t83
— Matt Stoller (@matthewstoller) January 12, 2021