I'm surprised and a bit disappointed that this new platform still exposes users to the idea of a container host. In Carina lingo, you have to create a "cluster" and choose the number of "segments" in it.
Joyent's Triton avoids this completely: Their whole data centre is a Docker "host", and you never have to care about it. The way it should be.
(I'm not paid by Joyent, nor am I a customer -- I just like what they've done to push the model forward.)
This is honestly fantastic feedback and spot-on for the level of abstraction I want (and will) aim for. This is an early Beta, so things like this are top of mind.
That's excellent to hear, because I believe that Docker/containers will truly take off once developers can treat them as the "highest level" of computation; ie. no hosts needed, containers are all that are worked from!
Containers are here to stay and almost certainly will be the new abstraction of computation.
My big question is around a service like AWS Lambda. Is that not already the logical conclusion of container based computation? If magic units of computation can run instantly on demand, what more do you need?
No hosts, but also no OS images, and no specific containerization tools!
It's a massive shame that PiCloud went down as that had containerized environments, extremely fast startups and auto scaling. It was one of the few things I've used that really solved my small-scale data processing problems simply and cheaply.
> If magic units of computation can run instantly on demand, what more do you need?
Some control over flow, scaling and batching wrap everything up for me. Startup times for my code are non-zero even if the environment is, and adding on queues with a "batch grab" means I can scale things far more sensibly (I can cram a lot of stuff into a single matrix mul if I can pull 100 items at a time from a queue).
We rebuilt picloud as a foray into the getcarina.com space - https://github.com/cloudpipe/cloudpipe we're going to be bringing that back now that carina is landed.
Your assessment is accurate, unfortunately Triton does not address the issue of data locality, which is a pretty big problem unless you're already building your storage backend to be Smart Data Center aware.
To that extent, I'm not sure that tossing out the idea of hosts is great yet.
> Triton does not address the issue of data locality, which is a pretty big problem unless you're already building your storage backend to be Smart Data Center aware.
Can you expand on this please? I was not aware of the problem.
To put it as simply as possible: Triton does not have magic block storage. If you want to write anything that persists past a container's lifetime, it is tied to the machine instance the container was running on unless you manually move it around.
It's not any worse than you'd have if you were starting from scratch with your own hardware, but Bryan Cantrill is firmly against magic block storage. His suggestion is that you rewrite your persistence layer to know about SDC or "deal with it".
It's not necessarily that bad since a lot of containers don't need state, but my personal axe is that I work with databases almost exclusively.
This looks fun. Any word on ballpark pricing or the duration of the beta? (or at least a lower bound on anticipated pricing -- will there be plans that are suitable for hobbyists who are otherwise on DO's $5-10/mo tier.)
This is a joke! I can't use my Rackspace account as I have 2FA enabled and Carina does not support it! I can understand a legacy app not supporting 2FA, but a brand new one - this is a fiasco! There are things that you can "leave for later", but security should be a top priority task for a cloud provider!
This is a concept that doesn't even exist in most other systems, so there isn't an agreed name for it (we call it a "slice" in Spyre). It's similar to a Kubernetes "pod" but not quite.
Exactly - we really struggled with this. A node (for example, when doing a Docker info when having $SWARM hosts) implies to the user physical isolation. As a distributed systems nerd, I pushed for "anything that doesn't make a contract it's on a different machine". Segment, slice, pod, chunk, block - something other than implying the isolation and therefore fault tolerance of the overall system.
This level abstraction seems unnecessary. We need to just let-go of the concept of physical or virtual hosts. A machine should boot and join a cluster, advertising its capabilities (ssd drives, gpu's, enhanced networking, it's availability zone or region, etc...) and you should never need to think about that stuff, period.
I don't care how many devices/segments/nodes/slices/dynos/widgets are in my cluster. I care that I have X GB of total memory and Y cpu's. I want to check a box to make an app or service highly available (on more than one node, and in more than one zone) and Ronco™ set it and forget it.
Everything else is just noise.
I love the ideas behind Kubernetes and Fleet/CoreOS (and this) but everyone is SO excited about these low level technologies that have yet to be composed into beautiful experiences.
A tweet from Kelsey Hightower sums it up perfectly:
It's going to be nearly impossible for people
to evaluate and chose a container management platform
during the gold rush.
Absolutely agree with that. We released yesterday a project called Hypernetes[1], which has been designed to solve the "I care that I have X GB of total memory and Y cpu's. I want to check a box to make an app or service highly available" problem.
People using stupid captioned images in their blog posts and technical announcements are a real turn off for me; I'm not sure if people are trying to be funny or edgy but it comes off really lame and childish. Feels like being in one of the Reddit default subs.
Joyent's Triton avoids this completely: Their whole data centre is a Docker "host", and you never have to care about it. The way it should be.
(I'm not paid by Joyent, nor am I a customer -- I just like what they've done to push the model forward.)