Live data from Hacker News

DigitalOcean launches its container service

techcrunch.com

111–120 of 256 posts

Re: DigitalOcean launches its container service

#111

Earlier quoted context omitted.

https://www.terraform.io/

Terraform requires separate config for each provider.

There's no way around that really. I wrote my own provisioner and each provider is so different:

https://github.com/sumdog/bee2

Vultr allows floating IPs for IPv4 and IPv6, but Digital Ocean only has floating IPv4. Vultr will start a machine with a floating v4, but you have to add a floating v6 address (giving you two v6 addresses). Digital Ocean does the same thing with v4 (giving you two v4 addresses). They both have different network adapter names, so you've got to configure those per provider as well.

Terraform and my own thing help in easing the transition if you ever need to move, but modifications will still have to be made.

Re: DigitalOcean launches its container service

#112
post #34

Serious question: Is there an emerging cross platform workflow language to just write stuff to run on any cloud/container hosting setup? The idea would be to be portable, avoid vendor lock-in and take advantage price differences or quickly route around a system failure in one of the providers.

Some newer candidates besides Terraform are Portable Service Definitions and Crossplane. https://github.com/kubernetes/enhancements/blob/master/keps/... https://crossplane.io

Huh .. It only supports the big three providers. No Digital Ocean or Vultr.

Re: DigitalOcean launches its container service

#113
Off topic in terms of the article itself, but I just wanted to give some love to DO. We are very data and processing heavy startup, using DO for more than 2 years. We did not experience any issues, super easy to manage, great performance, and super important for us - predictable cost.

Re: DigitalOcean launches its container service

#114
post #76

Earlier quoted context omitted.

I think it's more like $100/month base, but still infinitely more expensive than any other provider :(

You are right, $0.20/hr * 24hr * 30day is $144 This is a huge number compared to the competition, but also a rounding error when it comes to the monthly infrastructure spend expenses of Amazon's target market here. I mean, to be fair, that's a really reasonable price for a HA cluster. If you ignore the pricing models of literally all of the competitors' offerings.

So good for a startup, but you're better off using docker-compose if you're hosting your personal project.

Re: DigitalOcean launches its container service

#117
post #22

Been a user of DOs beta kubernetes service and it works well. Though I would say the title of the linked article is a bit misleading. It is a Kubernetes as a service, like EKS, GKE and AKS. But not vanilla container service a la ECS, Fargate, the former Docker Cloud, etc.

Maybe this is a dumb question, but couldn't/shouldn't a KaaS (and other orchestration systems) just be a layer on top of "vanilla" CaaS?

CaaS-es (i.e. "things that present themselves as a Docker daemon or something like it") don't allow you to provision IaaS-level resources like VMs or disks, merely connect your containers to existing resources. When CaaS-es do allow you to provision stuff (like e.g. Hyper.sh does), they do it through a direct IaaS-level API that is separate from the functioning of the CaaS itself.

The major cloud providers' deployments of Kubernetes (and other server-side persistent-orchestrator systems, like the venerable CloudFormation) are deeply integrated into the cloud platform they're running on, such that the orchestrator itself can provision resources for a container to run on as part of deploying the container. This becomes important when elastically auto-scaling a container, because each container might need e.g. its own disk, and you can't create them ahead of time if you don't know how many you'll need.

This also means that, unlike a CaaS, k8s et al can manage the very cluster that k8s is running on, scaling it out to suit the size of the current/estimated workload.

Theoretically, you can bootstrap k8s on top of a vanilla CaaS—this is how minikube installs "using" your local Docker install, and this is how deployable PaaSes like Flynn and Deis work. But this approach doesn't supply k8s with the cloud-specific integration it needs in order to provision stuff. It might work if you're deploying against something with a standardized API like OpenStack; but none of the major cloud providers are compatible with such APIs, and so they need to build their own k8s plugins that call their IaaS-level APIs, to make k8s work on their clouds.

Or, to put all that another way: if there were standard IaaS-level APIs for k8s to hook into, Docker (and the CaaSes that either use or emulate it) would just hook into those APIs itself, and there would be no need for a higher orchestration layer.

Re: DigitalOcean launches its container service

#118
post #76

Earlier quoted context omitted.

You are right, $0.20/hr * 24hr * 30day is $144 This is a huge number compared to the competition, but also a rounding error when it comes to the monthly infrastructure spend expenses of Amazon's target market here. I mean, to be fair, that's a really reasonable price for a HA cluster. If you ignore the pricing models of literally all of the competitors' offerings.

So good for a startup, but you're better off using docker-compose if you're hosting your personal project.

This is exactly what they want you to conclude.

You can have a Kubernetes cluster for about $15/mo for your personal project on GKE, if you can cope with several f1-micro or a single g1-small instance hosting your workloads. That's the cost of the nodes, and that's the all-in price. Prices scale up linearly for greater capacity, just add more nodes. (Then of course I guess networking, traffic, and additional storage can also add to the costs...)

If you are comfortable with Kubernetes, you should not be priced out of the market, even for hobbyist projects; the ecosystem is too valuable. I keep saying that Amazon really does not want their customers to use Kubernetes, and it shows in their market offerings. Only Amazon charges this premium for managed clusters, and they don't even seem to recommend using it in the keynote talks I've heard mentioning EKS. "Unless you know you need Kubernetes" is a great way to stop the discussion about adopting new tech.

If you are not already comfortable with Kubernetes, then the primary obstacle to your using K8S is that. The cluster pricing issue is a problem for people who are hyper-focused on Amazon, only.

Re: DigitalOcean launches its container service

#119
post #94

Earlier quoted context omitted.

Combine it with Terraform and you're winning the Internet.

I ran into some limitations with Terraform and at the time it didn't support Vultr, so I ended up writing my own provisioner. It goes a bit further with setting up DNS records as well and I rolled in some of my own Docker deploy stuff into it; although in retrospect I should have made that a different project. https://github.com/sumdog/bee2

https://github.com/squat/terraform-provider-vultr

Pointing this out... I've gotten a bit of basics working with vultr + terraform but it's not the most straightforward. I'm not the author, but an interested observer.

In my searches for vultr + terraform, your project never came up, but there seems to be some overlap or room for collaboration.

Re: DigitalOcean launches its container service

#120
post #99

Earlier quoted context omitted.

We rely on bash. Each machine that's spun up is built from scratch via one command-line call. The first half of the process interacts with each hosting API (we rely on DigitalOcean, Linode, and Vultr primarily), to build a clean slate machine with all of the packages and libraries that we expect. The second half of the process runs the actual build process, building the instance step-by-step on top of the clean slate…

Any chance you've got an open source version of this script that you could share?

No, unfortunately, open-sourcing it has been on my to-do list for an embarrassingly long time.

But, building one is easier than it sounds! Think of the problem in two parts. First, find a distro used by multiple providers (we're on CentOS) and craft one script that uses each provider's API to spin up a clean machine.

Once you have that done, it's a matter of understanding your own build process, writing a script that you'll pass into each instance on creation that will fetch your source control, install libraries, and put all the pieces together.

Lots of if/else, lots of curl, lots of yum, lots of jq, but all of it is really straightforward.

Post reply on HN