Live data from Hacker News

Ask HN: Beyond AWS/Azure/GCP, what cloud providers should I know more about?

news.ycombinator.com

31–40 of 105 posts

Re: Ask HN: Beyond AWS/Azure/GCP, what cloud providers should I know more about?

#31
post #20

Kubernetes + Cluster API. This unlocks the ability to use one or multiple providers: https://cluster-api.sigs.k8s.io/reference/providers.html * Alibaba Cloud * AWS * Azure * Azure Stack HCI * Baidu Cloud * BYOH * Metal3 * DigitalOcean * Exoscale * GCP * Hetzner * IBM Cloud * KubeVirt * MAAS * Nested * Nutanix * OpenStack * Equinix Metal (formerly Packet) * Sidero * Tencent Cloud * vSphere

Also Oracle OCI has OKE, which is Oracle Kubernetes Engine. It works nicely and the quality of service has been very good in my experience over the past four years.

Disclaimer: I currently work at Oracle.

Re: Ask HN: Beyond AWS/Azure/GCP, what cloud providers should I know more about?

#32
tl;dr: Starting out with containers that have no own state, running on x86 on Linux has the highest chance of success I'd say, and when you grow, you have the capability to flow between IaaS, PaaS and SaaS and all-in-one clouds as you wish. That means that your 'first' service provider is irrelevant if you don't have pre-existing knowledge or affinity. If you can produce good container images, you can run anywhere.

At some point 'the other clouds' aren't as relevant.

Think about the following interactions instead:

  - CNCF compatibility (interpret as deep and as wide as you like)
  - Infrastructure vs. Platforms vs. Services
  - Legal boundaries
  - Locality (can interact with legal limits, but also latency, transfer costs)
  - Scope of services vs. scope of what you actually need

A lot of providers are good at a thing, and bad at everything they tack on to it. Some providers are reasonably good at many things, but win on integration between those things. Others are simply too dissimilar to orchestrate, so either you'll have to bring your own orchestration or not use it in orchestrated scenarios.

Instead of knowing about the clouds, know about requirements engineering. Fitting your needs and the services you pay for is way more important than the details of those needs and services.

If you just need some random compute (read: a shell into an OS, a complete VM, a container, things like that) and nothing else, do NOT use some cloud. It will require you to do a lot of other things as a side-effect of using those services at all, and will cost a lot for what you need.

On the other hand, if you need to be highly elastic, have completely managed RDBMs on-demand available and orchestrate networking, IAM, object storage, block storage, compute and ingress, do start out with a cloud.

Regardless of what you are building, make sure you know ahead of time if:

  - What your scaling is going to depend on (usage, work hours peaking, seasonal peaking, tenants)
  - What your scaling is going to be like (horizontally scale and spread the load? vertically scale for a few weeks until you reach the scaling limit and then rebuild the application the right way instead? deploy one instance per customer?)
  - What availability rules are you going to have? (downtime? data loss? time to recover?)
  - what legal limits will it have?
Example for a MVP SaaS: say you want to manage shopping lists for consumers, you might call it Shoppr and build a PWA and a app-wrapped PWA so you get immense reach. You mostly have front-end engineers, but you do know a bit about metrics and scaling.

I'd say that means:

  - Downtime for a few hours unlikely to tank the business
  - Legal limits are basically just generic data protection
  - Scaling is likely linear
  - Since your data is mostly basic CRUD, any read-replicated system will do
This can be built using any stack, and as long as your persistence can keep up you're golden. Don't fuck it up with an ORM that doesn't know how to create the proper indexing rules on tables and you can easily get a couple of million customers on an IaaS-only provider that just has virtual machines or containers, and only has one flavour of persistence store. Plonk Cloudflare in front of it and done.

You can make this infinitely more complicated, but as an example add this feature to make this entire setup suck and the entire infrastructure incompatible with the needs of the application: international receipt scanning to recommend/autocomplete shopping lists for customers. Suddenly your requirements are expanded with:

  - Incoming upload queue
  - Object storage for image blobs
  - OCR or ML pipeline to process images
  - ML or Analysis pipeline to make sense of the contents of the now processed/read images
  - Instances or expansion for all of the above per region
To make your traffic bill not suck you'll need endpoints in most major regions, and you'll probably want to prevent cross-region transfers so you'll want multi-region compute. Since you don't really have to do the processing realtime, you'll be doing some queue work and perhaps have a DLQ that needs human intervention or QA analysis for product improvement. All that stuff also needs a 'control panel' for lack of a better word so you'll be adding backoffice systems too, and those will have a workflow that doesn't compare to consumers at all and should never share any interaction with them, so now your application tenancy requirements change as well, which flows down into infrastructure requirements. At the same time you'll also need training data or validation data, and you'll want to be able to do all of that elastically to not go bankrupt for paying for 100% of capacity that you'll use 50% of the time at best. Suddenly 99% of the vendors are unable to provide what you need and the 'big three' remain (well, not exactly, but for illustrative purposes this will do).

Considering a good SaaS might grow, make revenue and be sold or be valuable etc. there will be requirements stacked on top of everything else about redundancy, durability and availability and those will be increasingly hard to guarantee in an IaaS-only provider or PaaS-only provider scenario.

When you 'start' with a SaaS, you'll need to know what you need now, and what you might need in the near future, and make sure that whatever you do now doesn't paint you into a corner within weeks. That means that setting up IIS on a Windows desktop by hand on a VPS at some IaaS hosting provider is highly unlikely to be a good place to start. On the other hand, an equally janky setup with a random Ubuntu VM where you manually install Docker and say, Nomad might actually not paint you into a corner too much since a container can easily be run on a container-PaaS and Kubernetes beyond that.

Re: Ask HN: Beyond AWS/Azure/GCP, what cloud providers should I know more about?

#33
Obviously depends on what you need.

If you need many of their services, AWS is very difficult to beat. Nobody else quite matches up with them on breadth offerings. If you don't, do not use AWS due to the cost and the mental overhead of management.

If you just need to spin up some servers and want them to be fast and cost effective, Hetzner is the current champ in the US market (their new US datacenter). DigitalOcean, Linode and Vultr are entirely reasonable options after Hetzner.

If you have a $50-$100 / month or less budget, know how to set up and secure a linux server, and want to stretch your dollars as far as you can with a top notch cloud provider, Hetzner wins at present. And then throw Cloudflare out in front of it until or unless you can justify paying for a service. Keep your costs low, keep your infrastructure simple, keep your runway long, focus on selling selling selling (customers).

Re: Ask HN: Beyond AWS/Azure/GCP, what cloud providers should I know more about?

#36
post #8

None, it is not important at the early stage you are at, if ever, but it depends on the SaaS model you follow. Why do you think it's important to know more than the one you run on?

Fair question.

We don't run on one yet -- we are at the stage where we are expanding my understanding of the cloud service offerings and am curious what is available with good reputation.

SaaS is at whiteboard phase; where we invest our engineering time will be important as we recognize the issues of lock-in for something like AWS.

Re: Ask HN: Beyond AWS/Azure/GCP, what cloud providers should I know more about?

#38
post #14

This question potentially lacks the situational context necessary to provide the answer/insight it's really looking for. What's the SaaS going to look like technically? Lots of compute processing? Or maybe large volumes of data? Perhaps machine learning? Or is it just a simple website and app deal? Then there's the question of the technical competence on the ground (and the opinions that tag along for the ride). On t…

> It's quite possible this reply is entirely misguided, in which case please ignore. I'm still learning the art of reading intent through text, I have a long way to go.

Your mindfulness is quite appreciated and your answer is on point!

We are at the design phase at this point. Fairly data intensive and will definitely have ML components (but that could be centralized and managed with standard MLOps practices). But the data is more on the backend, forward facing components are pretty standard CRUD/API calls against pre-computed and quickly updating data stores.

User-facing data payloads are in design, but expected to be low-to-mid volume.

Re: Ask HN: Beyond AWS/Azure/GCP, what cloud providers should I know more about?

#39

Cloudflare. Between Pages, Speed, Access, Workers, durable objects, KV store, R2, Images, etc they’re maybe a small handful of product releases away from being able to replace the providers you mentioned for many users and applications. Plus I’d wager that many applications can be built 100% on Cloudflare today (and are). Benefits? - Pricing. Compare pricing on Workers to functions across those platforms as one examp…

How can I store my distributed business data on Cloudflare and run regular SQL queries on it? How can I get a message queue on Cloudflare and have hundreds of servers read and write to it? How can I get run a Lucene search index on Cloudflare and search against it? Also R2 is still in beta development

If it’s not a good fit it’s not a good fit, we have choice!

However, as I said the vast majority of applications don’t involve message queues for hundreds of servers or Lucene. Many not even SQL.

I also pointed to compute and bandwidth alliance members that augment Cloudflare very well so you can build whatever you want while still taking advantage of the Cloudflare edge.

Or put Cloudflare as a CDN or augment with what they do have in front of whatever cloud you want. Azure and GCP are limited members of the alliance that offer reduced pricing egress to Cloudflare.

Re: Ask HN: Beyond AWS/Azure/GCP, what cloud providers should I know more about?

#40

Linode. - no nonsense prices - solid hardware, with good, consistent performance & low steal (even on shared nodes, but dedicated is there if you need it) - great support (humans you can call) - adding more and more managed services over the last few years

And now part of Akamai as of March 21:

https://www.akamai.com/newsroom/press-release/akamai-complet...

Whether the future is consistent with the past on the points you listed is hard to predict so soon after they got acquired, but I suspect it will increasingly diverge over time.

Post reply on HN