Hacker News new | ask | show | jobs
by david-s 2297 days ago
It doesn't seem to include Digital Ocean in the comparison.
6 comments

Author here -- I can add DO to the comparison today, I'll ping here once I have done so!

---

EDIT: Done!

I have updated the notebook with the digital Ocean offering using their General Purpose (dedicated CPU) droplets.

The major takeaways for DO are that they:

  - Also do not charge for the control plane resources
  - $/vCPU is less expensive than the other providers
  - $/GB memory is more  expensive than the other providers
  - No preemptible or committed use discounts available
For smaller clusters and/or clusters running CPU bound workloads, DO looks like the most affordable option!
Hmm... It looks like for smaller machine types the packet bare metal machines are quite a bit more expensive than the equivalent cloud provider VMs, but as you move to larger machine types Packet's pricing doesn't continue to grow linearly (making them more competitive).

Also, I would need to do some further research to understand how to fairly compare the physical CPU cores on the bare metal systems w/ the vCPUs offered across the major cloud VMs.

Digital Ocean is still significantly cheaper (unsurprisingly). They don't charge for the control plane, so you just pay the normal prices for the droplets and resources you use. It's well integrated, allowing K8 to provision load balancers and volumes, and the Terraform provider for it works well.

My (admittedly small) cluster of 3x 4Gb droplets, an external load balancer, and volumes enough for logs, databases and filesystems costs about 70 USD/Month. It's been absolutely rock solid too. I have very few minor gripes and a lot of positive things to say about it.

Isn't it more limited though, e.g. with auto-scaling not available for nodes, but only for pods?
DigitalOcean now has a node auto-scaling as well [1]. It was released very recently. It was not available in the first general release.

[1] https://www.digitalocean.com/docs/kubernetes/how-to/autoscal...

Yes, it is absolutely more limited. That, single-IP load balancers, and no direct equivalent of VPCs spring to mind as the biggest differences. AWS still makes a lot of sense in a lot of cases. It is worth noting DO has a decent API, so if wouldn't be _that_ hard to implement autoscaling yourself if you needed it.
What’s the story for automatically provisions TLS certificates for your load balancer been like?
I don't know about terminating on the load balancer level, but it works fine on the ingress-level (http router) with cert-manager, nginx-ingress-controller and the Ingress-definition.
That's exactly how I manage it too. It means there only needs to be one load balancer per cluster, and adding a new SSL cert is just a matter of adding a couple of lines to the ingress config.
Load balancer certs via annotations are supported, but they're a bit iffy when pairing with controllers like ambassador, since ambassador expects to own TLS termination (although the ambassador docs do say this is configurable). https://www.digitalocean.com/docs/kubernetes/how-to/configur...
aside: ambassador definitely supports external TLS termination (tested with AWS ELB).
Ah good to know, thank you!
DO is my absolute favorite. I really think they could be a long term winner. Their interface is so much nicer than the competitors, in my opinion. I'm not even currently a customer, let alone a shill.
I agree that DO is awesome. I'd argue though that they can make a better UI because they offer less. Everything is a littler simpler. It would be hard to condense AWS into a similar type of interface.

Having said that, DO is enough for virtually everything I've ever worked on, and the user experience and price are so much better. They're a clear winner for almost everything I do these days.

I agree but that's part of the charm to me. I only use what 4 or 5 things in AWS, but each login is information overload. Having to Ctrl F what you are looking for is not an ideal experience.

Whether a conscious decision or not, I think offering what the 80ish percent (just a guess) actually use, and streamlining it, is the right decision.

AWS could really use a dashboard where you can pick the components you want to see and only those show up. If I only use S3 and EC2 I shouldn’t have to search for those two products every time I log in.
This is what I don't understand. AMZ is one of the richest companies ever, but everyone agrees their AWS interface is terrible. It looks like an engineer wrote it 20 years ago and nobody ever bothered to refactor it. Just showing what you're actually using by default would be a 1000% improvement. I don't even have admin access at my current company, quit showing me things I won't and can't use.
Look at Amazon.com. Same deal. Nobody wants to be the person that redesigns the UI and sees sales drop off by 0.001%. I think they're afraid to touch what made them #1, even if it's objectively terrible.
The console already shows the five most recently used components when you log in.
Yet somehow it always seems to forget.
Yeah I was very disappointed to see that this is limited to the "regular" three...
I went back and added in Digital Ocean per the parent comment's request!

The article and Jupyter Notebook now reflect that change.

Because DO is crap and they treat their customers like crap. Constantly breaking SLAs and revoking enterprise accounts.