News for hackers. Stuff that matters.
Re:Edge Computing at Chick-fil-A by coffeesn0b on Wednesday August 22, 2018 @05:19PM (#17822299)
Here's the abbreviated reason;

Internet connectivity for restaurants stink.

So we put our compute at the edge.

Trust me... as an SRE I would much prefer we shove it in the cloud and call it a day, but alas... no such luck.

Re:Edge Computing at Chick-fil-A by TickleSteve on Wednesday August 22, 2018 @05:45PM (#17822484)
Yeah, but what compute? what are they computing?

The driving need for edge computing is low-latency. There just isn't the need for it in a restaurant.

I do hope they're not doing real-time control of kitchen equipment via something in a container, containers in Linux are nowhere near deterministic enough.

This strikes me as someone who is familiar with only web technologies but unfamiliar with control systems attempting to create a control system.... completely inappropriate tools for the job.

Re:Edge Computing at Chick-fil-A by coffeesn0b on Wednesday August 22, 2018 @06:00PM (#17822622)
Could you define what is not deterministic about containerized computing?

Examples of things we are controlling are timers for food, cameras that can recognize and track food items, drying machines that will automatically trigger and fry fries.

Re:Edge Computing at Chick-fil-A by loco5niner on Thursday August 23, 2018 @02:53PM (#17829702)
Oh! took me a second to realize it was a typo... FRYing machines, not DRYing machines ;-)
Re:Edge Computing at Chick-fil-A by TickleSteve on Wednesday August 22, 2018 @06:07PM (#17822675)
Linux is general is not a real-time system, in that you cannot get deterministic response time from it.

For example I'm guessing it doesn't matter if one of your timers are a second late due to Linux deciding to swap a process out or prioritise some upgrade check but imagine if your time constraints were a lot tighter.

Similarly if you're attempting to track food on a conveyor belt and Linux decides to prioritise the file indexer on your filesystem... oops, a lettuce has been thrown on the floor.

Real-time operating systems exist for a reason.

Re:Edge Computing at Chick-fil-A by coffeesn0b on Wednesday August 22, 2018 @06:20PM (#17822756)
Our tolerance requirements for synchronicity are broad enough that we can tolerate blips like this... at the end of the day we are automating away some simple human interactions (ie; fry the fries or track the food), we aren’t performing surgery with these systems.

So far we’ve been satisfied with Linux (Ubuntu 18.04 to be exact) and it’s overall capabilities.

Also, don’t forget that cost at scale is a big factor... doing things perfectly but expensively is not profitable at 2k locations.

Re:Edge Computing at Chick-fil-A by TickleSteve on Wednesday August 22, 2018 @06:31PM (#17822827)
The point about real-time systems is not the your tolerance of 'blips' its about analysis of your worst-case timing requirements. This is what real-time control systems are all about.

Sure, you may be able to tolerate a 1 second 'blip'... how about ten seconds? a minute? do you know for sure how long Linux may put your process on hold for? Linux provides no guarantees at all.

It seems to me that what you are really creating is a traditional control system with web technologies and using the hype-of-the-day (i.e. edge computing) to justify it... with the corresponding increase in overhead and cycles.

This does not seem like a good solution to me, the only novelty here is the inappropriate use of technologies. i.e. you've managed to dig a tunnel with a spoon.

Re:Edge Computing at Chick-fil-A by samlewis on Wednesday August 22, 2018 @07:01PM (#17823032)
Seems like a very appropriate use of technology to me?

If they can get "good enough" results using Linux and running with technologies that the average developer is more likely to know, is it worth the investment in running a RTOS? Especially given running a RTOS will make any higher level app integration more difficult?

The benefit of running with Linux outweighs the risk of "lettuce on the floor", imo. Yes, there's probably overhead in terms of clock cycles, but there's also probably dramatically less overhead in terms of developer resources.. and when you're running off commodity hardware you can guess which overhead will cost more!

Re:Edge Computing at Chick-fil-A by TickleSteve on Thursday August 23, 2018 @01:03AM (#17824739)
It would also be 'cheaper' to build a bridge using lego....

Correctness of the solution is important, otherwise we're just playing at being engineers.

Re:Edge Computing at Chick-fil-A by nielsole on Thursday August 23, 2018 @12:04PM (#17828372)
To quote you:

> At some point, you will realise that your job is not to create an idol to the software-engineering gods but rather to have a working product.

> Does this product work? if so, its doing its job.

https://news.ycombinator.com/item?id=17824782

Re:Edge Computing at Chick-fil-A by coffeesn0b on Wednesday August 22, 2018 @08:18PM (#17823455)
Have you worked with k8s yet? A lot of the things you bring up are addressed if k8s is used properly.
Re:Edge Computing at Chick-fil-A by TickleSteve on Thursday August 23, 2018 @12:55AM (#17824699)
K8s has nothing to say about schedulability or real-time performance, its just not what it does. K8s is simply a way to coordinate containers, nothing to do with scheduling processes on this level.

Something like RTLinux however, would. (https://en.wikipedia.org/wiki/RTLinux)

Re:Edge Computing at Chick-fil-A by r0m4n0 on Wednesday August 22, 2018 @08:11PM (#17823414)
Shameless plug but...

They could be using VeloCloud and many of those internet connectivity problems would go away. Use multiple internet links with cellular along with dynamic multipath packet optimization