We are looking to move some of our applications to the cloud and Kubernetes the coming time. We'd like to go for DO, partially for the horror the AWS interface appears to be. Could you give me an idea what we'd be missing by choosing DO over AWS? (as your comment appears to say we would)
Just of the top of my head you miss the following - whether they matter to you is a question only you can answer:
* Access control for everything via IAM. This for me is the killer feature for AWS, almost anything from users, to servers, to individual IoT devices can be granted permission to access other AWS resources with extreme granularity.
* Audit logging of every single API call, user invoked or otherwise, via Cloudtrail.
* Monitoring of and responding to key metrics via Cloudwatch. This isn’t just graphs as it can appear on the surface, Cloudwatch alarms allow you to do things like killing individual servers if they start throwing errors while others aren’t.
* Responding to changes in your infrastructure via Cloudtrail. We’re using this for features ranging from emailing our security team when a new IAM user is provisioned, through to full release orchestration.
* All those features supported across services that can fulfil more or less any requirement you have, whether that’s a MySQL database, a message queue, or (should you really need it) a satellite downlink.
DO are fine if what you want really is just a server in a data centre somewhere, but you’re missing out on a lot of really powerful management features with them, without even getting into the other services AWS have.
DO provides VMs and Kubernetes as a service. AWS provides Freaking everything as a service. You might need Redis. You might need Postgres. You might need Hadoop, NFS, A Monitoring Solution, Access Controls for your account, Docker Repo Hosting... AWS does all of these things as managed services (though some not very well).
You definitely don't want to run your RDBMS on Kubernetes, and while DO's "Marketplace" has a solution, it's not the same.
DO has managed hosted Postgres now, with Redis and MySQL coming. I’ve been using it for a few months and it’s been fantastic. The interface to get it running is unbelievably simple. DO is killing it lately.
> You definitely don't want to run your RDBMS on Kubernetes
If you’re targeting AWS you’re probably better off using their solution, but you can totally run your database on k8s. And for some uses it’s even a good idea.
If you're new to Kubernetes, you shouldn't attempt to run a RDBMS, especially if it's not a dev/staging DB and/or needs to run in a HA config. Operators aren't mature and if you're rolling your own statefulset you better know what you're doing (with kubernetes and with the DB you're running).
> If you're new to Kubernetes, you shouldn't attempt to run a RDBMS ... if you're rolling your own statefulset you better know what you're doing
I've been doing this for a while. Before there were statefulsets, it was pretty painful. But now, it's relatively easy. Sure, not as easy as a PaaS database that seems to just work, but much easier than managing a cluster of servers with all sorts of crazy scripts.
> We are looking to move some of our applications to the cloud and Kubernetes the coming time.
Google Cloud has a ton of built-in support and UI for Kubernetes clusters. They make it really nice. It's roughly the same price, so I'm not sure I'd run Kubernetes on any other service.
All of the Digitalocean SF data centers were down for at least 10-20 minutes earlier this week during my company’s peak hours.
They seem to be having growing pains.
I wouldn’t move any critical stuff just yet. I’m optimistic for the future though.