What challenge is this addressing, what problem does this solve? Is there a problem to solve here?
I do assume there's a good reason for this, but as presented it seems like a very stupid waste of money.
What challenge is this addressing, what problem does this solve? Is there a problem to solve here?
I do assume there's a good reason for this, but as presented it seems like a very stupid waste of money.
Hah... no, but seriously... we wrote this article for QCon attendees, and gave a lot more context during our talk at that conference. We didn't realize it was going to be on here, otherwise we would have explained the "why" and not just dived in.
What we were trying to solve for was; 1) Low latency 2) High Availability 3) Container based, zero-downtime deployments 4) Continued operations even in an internet-down event
Also, as an interesting side note, the equivalent hardware has about a 6 month ROI if we put the entire load on AWS... granted it would be more efficient, so that's not an entirely fair comparison, but the hardware is unbelievably inexpensive from a cost perspective.
Bear in mind that in terms of cost, this is competing with a person driving to each restaurant and fiddling around with computers for an hour, which is a very expensive process.
1. Why not?
2. Who cares if it's not modern if it does the job?
And they wouldn't even need to make a special app, they could just make it a webapp ergo make a 1-time image with a browser...
It's becoming more common to distribute applications with orchestration software like Kubernetes. The technology around PXE booting is quite old, and mired in enterprise cruft.
> 2. Who cares if it's not modern if it does the job?
Developers love new tech, especially if they can get a Medium post out of it. This doesn't make it a good reason of course, but if this is the tech that more developers are familiar with, that's a good reason.
I personally wouldn't want to learn how to boot 6000 remote machines off built disk images over the internet, I'd rather use the skills I already have around Ansible or learn Kubernetes.
> And they wouldn't even need to make a special app, they could just make it a webapp ergo make a 1-time image with a browser...
I've never been to a Chick-fil-a, but if the setups are anything like my local McDonalds, that's a complex 5 screen setup showing a fluid mix of static images, videos, animations, and applications, not to mention that other stores have different setups/layouts/display types/etc - I don't think you'd be able to _reliably_ do this in a browser. My guess is that it's a multi-screen aware wrapper around video components and web views. That will need re-deploying regularly I would imagine. And that's not to mention the kitchen ordering system, the self-service machines, the tills, etc.
On-site machines totally make sense, smart applications deployed locally, frequently, make sense.
They'd need connectivity to the server, true, but doesn't Kubernetes also need connectivity to the cluster manager?
Consider - how would you handle order taking if the network dropped?
A buddy did IT for a theater for a while - they had a similar problem where they’d lose access to their payment processor regularly. No one ever noticed since the system queued ops locally until the network came back up.
but if you want to be safe, have a cellular backup network.
seems way simpler than pushing out a k8s infrastructure to every store.
And surveillance cameras, and smart locks on any safes, etc.
If anything it brings in more components/complexity/headache...
If you could run your pods offline, you could run your software app offline. If you could trust your Kube repository, you could trust Se repository for your App..
What does K8s bring to the mix that is actually useful in solving a problem than the superficial ones?
I have enough problems getting kubernetes to run on a single node with hyperkube that I’m not entirely sure that I want to deal with it in the future.