- Great pricing
- Great API (command line, REST)
- Nearly perfect documentation
- Awesome support (I had requested to allow more static ip addresses to be reserved and they resolved my ticket in less than 4 hours)
- Very intuitive interface
They give you $300 free credits before setting up billing account for you to try the entire cloud for free. You can play around with google cloud with up to 8 VMs
They also have App engine and Container engine to manage your applications / containers at scale.
Other simple cloud features include - storage buckets, snapshots, VPNs etc.
Nearly perfect documentation
I've Google Cloud's documentation pretty awful, at least when it comes to authentication - which you need to do to get started with almost anything.AWS starts out simple (Paste your access key and secret key here) and you can adopt very complicated practices as your needs evolve; Google Cloud's design and documentation, on the other hand, seems to jump to very complicated from the start (scopes, service accounts, user accounts, projects, application default credentials, PKCS12, access tokens, refresh tokens...)
I haven't found the documentation very helpful at all - or perhaps the system is just too complicated for the documentation to ever be much good.
We currently use more of compute engine and the documentation for it was really clear for us. https://cloud.google.com/compute/docs/
May be needs more clarification in general I guess
Two things never said about google products
https://news.ycombinator.com/item?id=12606995
(work at GCP)
Look at Hetzner. Look at the cheap VPS options. Google/AWS don't come even close.
Where I do agree is networking egress. The big three providers all have metered bandwidth rates that are way above the "all inclusive" fee you pay to Hetzner, OVH, DO, and others. The cheapest way to host an ftp server that serves 20 TB per month is certainly on one of these (today). None of these providers will let you serve 1 PB / month this way, but if you're in their sweet spot and they can make it work out on average, it's a good fit.
But if you're looking to just have a simple "VPS" in the cloud, our f1-micro is just over $4/month (the AWS t2 series is also super cheap). Again, you're right if you're talking about networking egress, but not everybody needs to serve multiple TB per month.
Disclosure: I work on Google Cloud, so I'm trying to take your money in exchange for services.
Google / AWS cloud is more for running applications at scale and dynamically creating VMs and load balancing across servers with storage, logging, snapshots etc as a service.
Disclosure: I work on Google Cloud.
The IaaS part is called GCE (Google Compute Engine): https://cloud.google.com/compute/pricing
Given all your comments in this thread. You seem to struggle quite a lot to understand the market and you didn't clarify what you want to achieve (how many servers do you have now? how many applications do you run? how many dev? how big is your company?)
So forgive me for thinking you are either a hobbyist or a newcomer, with rather simple needs. If that's the case, GCE and AWS are overkill. You should stick to Digital Ocean or Linode. It's wayyy simpler and cheaper.
So I think the parent comment applies, for many people Google Cloud has more than enough services to be considered like-for-like, is missing some you may care about deeply (Redis!), but may have others that AWS doesn't.
Disclosure: I work on Google Cloud.
PS: I'm assuming you're in the Cloud Functions Alpha, if not, feel free to send along your project number and we'll whitelist you.
Surely the AWS options save you doing all the DBA / Server admin / security work. Albeit for more money but time = money.
They do, but you need to invest enough to understand AWS's offerings, and how they fit together. Amazon's documentation is very extensive, I'll give it that - but it takes a while to build enough of a mental model to know how to fit everything together.
Generally, managing your own server is closer to the skillset people already have when starting out (unless your training was platform-specific), so starting off with a raw VPS may in fact be quicker, even if in the long term AWS/Google/etc. would save time for someone who's equally experienced in both.
I've thought about running an app or two on DO, but keeping the data in Azure Storage Tables, and possible Azure SQL... or similar AWS services.
If your company suffer the slings and arrows of outrageous fortune & needs to migrate, you can paid someone who is an expert to help you migrate, because that's their business, and yours is presumably something else.
Case in point: AWS/GCE are intended for organizations. If you're not operating an organization, they're overkill.
Do the Quick test: Is your budget less than $100/month? If yes, use Digital Ocean.
* Google Compute Engine
* Microsoft Azure
* Joyent
* IBM BlueMix
* Linode (like DigitalOcean more VPS than cloud provider)SmartOS looks very very cool.
Their support and engineering staff are friendly and responsive by email and IRC.
The instances have great performance and uptime.
I suppose globally they could use more data centers but Samsung's acquisition should help with that.
I've built multiple companies in Joyent and can't imagine going back to other clouds with less features.
So far for commercial customers only (demo available) but we will release opensource community edition soon on Github.
* Aliyun
* Lucera
* OracleThe big downside of AWS: to difficult to use for many. It seems to me a new entrant which combines easy of use, embraces opensource, would have a good chance in the market.
+ Rackspace. But like many these don't come from the cloud market and still think in terms of servers mostly.
Presumably you are talking about Google App Engine, which is just a small part of GCP. Amazon's comparable offering is Elastic Beanstalk. The core building blocks on GCP and AWS are the same: raw virtual machines you can build anything upon yourself, GCE vs EC2. GCE has been around since 2012.
Google has a lot of different things as part of it's offerings.
but very quickly:
Google App Engine = google handles as lot for you. not a vm
Google Compute Engine = vm's plus an easy to use interface
"Google Compute Engine delivers virtual machines running in Google's innovative data centers and worldwide fiber network."
Azure is the other major option.
What I've done recently is buying used servers and 10G/40g network switches from Ebay and rented a colo(colocation) rack, which can be had from $500-$1000 per month per rack. This often includes 100mbit++ internet, power, cooling and more (https://en.wikipedia.org/wiki/Colocation_centre)
This has been the most cost effective way for me to deploy for example Hadoop, Ceph, Elasticsearch, Huge Varnish cache solutions. While I understand this is not for everyone, it is absolutely something to consider if you have a strong devops team. I do all this myself as I've build my own automation tools over the years that simplify setup and monitoring.
On the other hand, I use AWS for GPU instances as I find it very cost effective because it is very easy to scale up and down by demand. And investing in this kind of hardware is expensive/risky. The power efficiency / performance is still following Moores law for each year for GPU's, and I expect new hardware that is better optimized for neural networks / machine learning is just around the corner.
That said, I think your first two examples (Hadoop and Ceph) are competively priced on Google Cloud. With Dataproc, you can put all your HDFS data on GCS and then run your cluster on Preemptible VMs. Combined with the ability to spin up and down as you need it, that's actually hard to beat economically in a colo setup.
Disclosure: I work on Google Cloud.
I think this depends on:
- Whether Ceph is being used as block storage (RBD) or object storage (regular Rados, RGW)
- How much bandwidth is being egressed
I don't know much about block storage on the GCE but for object storage, it's not hard to beat GCS pricing by buying a few second hand SC846 and filling them with WD Red drives.
The biggest issue with Google's cloud services (and most others actually) for me though is that network egress is _horrendously_ expensive compared to the kind of deal you can get buying transit directly. Google's network is also one of the best of the planet but not everyone wants or needs to pay for that.
At the highest volume pricing, GCP egress costs $0.08/GB. Even with CDN interconnect pricing and free egress through CloudFlare, you're paying $0.04/GB. Contrast this to a budget colo like Joe's Datacenter (joesdatacenter.com) where you pay $75/mo for 100Mbps 95th percentile. That's $75/mo for 32.4TB of egress ($0.002/GB), which would cost $1280 on GCP. At the higher volumes, you can get 10Gbps from FDC Servers for $1k/mo. Saturating that port would get you 3.24PB of traffic in a month, costing $0.0003/GB (a hundredth of what you'd pay Google).
This means if you want to, for example, store your data on GCS and do your compute elsewhere (or vice versa), you're paying far more for premium bandwidth than you really need to.
It's a really annoying kind of lockin.
I know HN and StackOverflow do things this way but I don't even want to manage the OS these days. We used to host our servers on-site and it was a massive pain. At least with colo you don't need to personally worry about power or internet going down, but you still need to replace dead disks.
If you have a redundant setup, you won't get paged as everything can just fail-over.
I know that everyone has their "Horror" stories about a provider that they'd avoid at all costs, but, Softlayer still has an IBM "Mindset." Provisioning servers? You ask them, then their sales team approves -- hardly automatic. Seemingly minor changes to their system will force a hypervisor restart, and dealing with their account reps for anything is a nightmare.
I'm not saying that Amazon is the end-all, be-all; I'm just saying that the grass isn't greener on the softlayer side of the fence.
AWS comparison: https://azure.microsoft.com/en-us/campaigns/azure-vs-aws/
They have more regions than AWS (30 vs 13):
https://azure.microsoft.com/en-us/regions/
https://aws.amazon.com/about-aws/global-infrastructure/
The naming is a bit funny though:
https://unop.uk/azure-eu-regions-naming-confusion/
Someone here thought this was due to using UN regions.
We have a large amount of free Azure credit and yet our experiences at actually trying to use the platform have been met with frustration.
When we tried about six months back, there were two different administration webapps that both offered different subsets of functionality. The IaaS offering seemed to still be tied very much in to the PaaS offers.
After a few hours of frustration I managed to spin up 8 instances where only 6 had connectivity with each other. I gave up the other 2 instances for lost.
When I finally got Spark running on the remaining 6 instances, local disk IO turned out to be a joke.
I gave up at that point.
Anyone have more recent experiences?
The dual admin web app thing is a massive pain but once everything is set up you don't have to go near it often. If you use CI then you'll normally just git push.
My blog (https://unop.uk/) is running on Azure and although I've had a few problems they seem to be node/ghost related. If you want to run WordPress then AWS is probably better as they support MySQL natively.
Shameless plug: I cover some of this in my book. For example, in the final chapter I highlight a couple of the advanced features such as Azure ML and HDInsight. https://www.packtpub.com/mapt/book/Application%20Development...
They are slowly making progress. Disk IO isn't horrible, you just have to over-provision premium storage when it really matters (just like you do in AWS with GP2 volumes). That said, their concept of storage accounts for housing volumes/disks is absolutely horrible. Luckily I hear mumblings of change there.
Having multiple regions is worthless if one problem can take them all down at once.
Any recommendation?
So this is my in the trenches comparison:
- AWS documentation is excellent, Azure docs are weird and inconsistent and for some bits nonexistent.
- Azure API's are inconsistent and weird, but once you figure out they work relatively well. But the lack of documentation compounds confusion.
- Azure has a lot of very weird limitations that don't make any sense:
-- Default Centos images are 30GB osDisk and you can't resize them, you have to create your own images if you do want to.
-- You can have SSD's in 128/512/1024GB sizes and you pay for them in full, Spinning disks are billed per actual usage.
-- You have to store your osDisk image in the same storage account as your machine you are running (so you have to pay for your image the full SSD monthly price)
-- You have a VMSS (=Auto Scaling Group) and have a Load Balancer in front of it, your microservice connections fail if the load balancer routes the connection back to the same VM ... you now have to have another VMSS just for load balancing/service discovery.
- Their services labelled Beta are really more like Alpha quality.
- On the plus side, their ARM templates are richer and nicer to use than CloudFormation, however the lack of documentation for them kills all the advantages.
- When you jump all the hoops and get past the issues, the things work relatively well.
For example on AWS, using RDS (MySQL, PostgreSQL, SQL Server) or ElastiCache (memcached, redis) is fairly low lock in. You can run all of these yourself or use another cloud. Azure offers a similar hosted redis service for instance.
However, something like Lambda or DynamoDB can't be run elsewhere.
Similarly, on Azure if you use their Machine Learning PaaS system then you are pretty locked in. Yet you could easily move a website to appharbor or elastic beanstalk. Or just run your own server (VPS, IaaS, EC2 etc.)
* 35% of virtual machines in Azure run Linux * Microsoft announced that PowerShell, Service Fabric and SQL Server will be available for Linux * Redis Cache, Hadoop and other open source packages are available as Platform as a Service offerings in addition to you installing and managing on your own machines.
We're facing an auto scaling spot instance bug (it's definitely one) and we're trying since 3 days to contact anybody from them to get our business back on to the road!
We're now forced to sign-up for a paid support plan. Nevertheless, they already breached the SLA of 12 hours, it's really frustrating...
First thought after 5 years of paying them a lot of money to migrate somewhere else (e.g. Google).
It's always ciritcal if you lose your customer contact by implementing strange support barriers to earn 3$ more.
A not anymore happy AWS customer
GCE plans are much easier to understand though. TIL AWS support plan cost varies by how much you bill and higher the bill, higher the support cost!. That doesn't make any sense.
Didn't they already tell you how to "architect applications for resilience"?
I was told that on more than one occasion. Essentially that one should be prepared if features don't work as advertised or unexpected things (including hardware issues) happen.
> First thought after 5 years of paying them a lot of money to migrate somewhere else (e.g. Google).
The thing that works in their favor is that some of the features tend to be a specific to the provider in question. The more one uses those features, chances are that they'd find it increasingly difficult to migrate elsewhere.
BTW – we always designed everything that there is no heavy lock-in on any provider, I would recommend that anybody else as well!
I haven't found anyone that loves bidding with Spot, and while I respect the ClusterK guys for the improvements they've brought to it, my hope is we convince them to move towards a fixed price as well. It's just simpler for customers.
Disclosure: I work on Google Cloud, and launched our Preemptible VMs product.
[0] https://cloudplatform.googleblog.com/2016/08/Preemptible-VMs...
Sounds like you had blind trust on your "partner" instead of building connection and paying at least for business support.
However, if you care about the actual server bit, Rackspace have their 'hybrid' cloud offers. There's a small but well-thought-of company in the UK called Bytemark who have a cloud offering but I doubt it qualifies as having a global footprint.
I asked a ton of times about their cloud stuff and just got re-directed back to dedicated servers. I got tired of it, went to AWS, and haven't looked back. Using reserved instances and scaling groups we're paying about 10% less per month for 8x the number of servers, and slightly more cpu/memory/disk overall (we had some pretty beefy stuff at Rackspace).
We do use S3 for backups and big storage. That has no equal.
One trick I like is to split infrastructure across 2-3 different providers at at least three different nearby data centers. Example: Chicago (Vultr), Toronto (DO), Montreal (OVH). Latency is low enough for most replication purposes and if one experiences a massive failure the other two will be fine. 3/3 failure probably requires alien invasion or global thermonuclear war.
GCS's default buckets just work within all the US. For no extra $$, you get something you can read and write to at massive throughput in us-west1 (Oregon), us-central1 (Iowa) and us-east1 (South Carolina). This has totally changed how people use our compute offering compared to say EC2 plus S3.
Similarly, we introduced Nearline which S3 sort of copied with Infrequent Access. Except S3-IA rounds all files up to 128 KB. Nearline is simple $.01/GB/month plus $.01/GB retrieved.
All of this with the team maintaining their own JSON API and compatibility with the S3 API (which I use from my NAS box at home).
tl;dr: GCS easily goes head to head with S3 (and often comes out on top).
Disclosure: I work on Google Cloud (and use GCS myself).
Seriously... I feel like the Big Cloud vendors are making a ton of money convincing a lot of people that you're not doing it right if you're not using their stuff.
OP mentioned a desire to work with bare metal/do IaaS their own way, and dedicated server providers are awesome for that. Conversations about infrastructure are often about "cloud vs. running our own datacentres!" and renting dedicated servers is an interesting middle ground - you get a ton of hardware and bandwidth for your dollar and maintaining the hardware isn't your problem. You give up per-hour billing but you could very well still save money - it's a serious alternative to VPS providers like DigitalOcean.
And you still wouldn't believe the speed difference of a low atom with a VPS, even if the VPS is running on a xeon. Goes double for tail latency.
Anyone know of a guide like that?
Crazy cheap. Support is garbage.
Source: 15 years in ops
If you know that you have a rather steady load, dedicated servers can be far cheaper than any "cloud" offer.
Although I doubt that they can compete with AWS, Azure, GCE & Co.
Digitalocean - very friendly UI with lots of options to spin quickly virtual machines, in many different regions. Some options for backups, etc, but not much on top. They have an API that could allow you to setup orchestration though, which is pretty cool. For a small to medium shop, it should be fine.
OVH - similar story as DO, except they have a bigger network and also offer a wide range of dedicated servers. They seem to be more EU centric but also have a Canadian DC. Their 'child' services kimsurfi and soyoustart offer very affordable dedicated server options, targeted at people doing minor projects and gaming rigs. They also run runabove.com, which is their 'lab' project - here they used to offer power8 VMs, etc.
Hetzner - cheap dedicated servers in Europe. Recently added DDOS protection. They have a 'marketplace' where u can bid on dedicated servers and thus avoid initial setup costs.
Leaseweb - also pretty good, they have a range of products similar to OVH (dedicated servers, VPS, cloud, etc).
Haven't used GCE yet unfortunately, but I heard good things about it. Seems to be the only real direct contender to AWS at this point.
- GCE
- SoftLayer (IBM IaaS)
- Azure
And additionally there are several other providers that are more comparable to DigitalOcean like Vultr, Linode, Scaleway, etc.
The alternatives also are related to the specific business. For Home Depot, running on AWS means running in a competitor's data center.
The problem of finding and alternative to AWS really boils down to research, and that's a time commitment versus just whipping out the plastic. One might say, "Nobody ever got fired for using AWS."
By which I mean that Heroku is an alternative to AWS from the standpoint of user interface and API's in the same way that Haskell is an alternative to C even though both can ultimately place values in x64 CPU registers and cause JMP's to locations in memory.
There is Openstack, which is a collections of IaaS provider with connected with an API.
Digitial Ocean & Vultr which you already know about.
GCE mentioned else where here.
Linode, while not feature rich is the 2nd largest VPS provider.
Azure, which is Microsoft's IaaS. Which I've always had some reservations about, but have actually subcontracted management out separate companies to protect user info.
Scalaway is great low price option but there AZ's are mostly in Europe.
I'm personally using LunaNode, which doesn't offer nearly as many nine's in up time, but is great for the price (I have a 3 cpu, with 2G of ram, for ~$10 a month).
There are tonnes of IaaS platforms out there, very few have the full feature set of EC2, but again it depends on what you want.
Thanks for the heads up!
Seriously, worth a look if you need a solid alternative to AWS.
Disclosure: co-founder and CEO
Depending on how 'grey' you're willing to behave you can get away with doing a lot on a virtually free infrastructure.
Right now only Azure (behind) and Google Cloud (way behind) are alternatives to AWS.
If what you need is just VMs and a CRUD API, then yes, DO is a very good alternative (I run most of my servers with them).
I also e.g. have the impression that the most comprehensive/complete/ready to use container solution seems to be GKE, so on some specific areas there would be different "winners". In overall terms I got the feeling Google has a simpler offering than AWS and Azure.
If you want stuff taken care of for you, Google App Engine is great. I'll note that I haven't deployed anything to production, only played around with it for fun. The flexible environment is still in beta, so it doesn't provide any SLAs. For a large serious production project that's a big factor to consider. If it's a small app, I think the "magic" is worth it. But I've only hacked together toy node APIs for SPAs.
For data storage, Cloud Datastore looks great. If it seemed to fit my problem, I'd probably go with that. The big problem with that is vendor lock-in. It has an emulator for testing and development. If you had to migrate away from it, I think AppScale [0] has an open source alternative, but I'm unable to vouch for its quality. If I were creating a serious long-term project, a Postgres instance on RDS would probably be my other choice. Google has Cloud SQL, but my experience with MySQL hasn't been as pleasant as with Postgres. I don't know how they compare "at scale".
In my job we use AWS in production, and I've slowly learned my way around it. I'd say I'm still a total beginner with AWS. Although I've only used GCP "for fun", from my limited experience and my perspective as an application developer, it seems more easily approachable / accessible.
Google-app-engine couple of years ago was claustrophobic with most of the things baked inside its environment. As a developer I felt restricted and there was the fear of locking in.
But with intro of flexible environment its really good for any web application (except ones with real-time communication as sockets arent supported yet). So for now way to work around this is - have a (GKE) kubernetes handle all real time traffic and REST traffic to app-engine.
I havent used AWS so so cant comment on it - but there is another reason its better to be on google compute engine - Google kind of leads in machine learning and AI - so when they decide to role out goodies on server side - its not a bad idea staying close to these.
edit: really food -> really good :)
I've clicked on the link and your employer is CenturyLink, which is not a bunch of friends with a rack in a garage.
It's still new but pretty cool team and underlying tech.
Is it one of those things where if you have to ask, it's too expensive for you?
I also have great experiences with Azure but not sure how it fits to startup world. I am only working on Azure on enterprise (.NET) customers and for them it is a nice service. Microsoft has Bizpark where you can get tons of Azure power for next to nothing. https://bizspark.microsoft.com//plus/
I have not worked on Google Cloud but as mentioned in comments I probably should look into that.
I personally can vouch for Vultr. Been running a freebsd system with them for over a year now.
When clients ask about AWS, I throw in Digital Ocean or Vultr so they can save a ton of money. Most of the the time, they go with AWS as it is the most popular but tends to be an overkill for most of the projects I'm dealing with.
If it's just "VPS" then there are plenty of providers, some even offer a compatibility with the AWS API (IIRC even Rackspace does that these days).
If you are looking for an AWS specific service/platform e.g. Elasticsearch then you need to be specific.
Overall AWS has a pretty extensive platform which is hard to beat, it's "META API" which governs security, users, deployments etc. is also one of it's key advantages.
They offer more bare services than AWS but they provide:
- Virtual Machines with many configurations available (on shared host or dedicated host)
- Private Cloud
- Private LAN with close to sub-millisecond latency
- Automated backup, snapshots
- API
- Load Balancer
- CDN (backed by Akamai)
- Block Storage (but I found it too slow for our needs)
- Different levels of managed hosting
LiquidWeb has even more options, but you usually need to pay for managed hosting (they throw in tons of free bandwidth though).
Support is really good: of course you sometimes end up speaking with someone who is clueless or overworked, but it is extremely rare and most support people are knowledgeable, helpful, and quick. We migrated a legacy VM with old cpanel and drupal sites and even though Drupal is not in their main expertise, they optimized the heck out of the configs and the sites are running twice as fast as before on weaker hardware.
Uptime is excellent: as opposed to Google or Amazon, they do everything in their power to keep the physical host and the VMs up and connected. In other words, they have a single host SLA (Amazon and Google's SLA only applies for multi-AZ outages if I remember correctly). They also built their own datacenters and are not collocating or renting someone else's datacenter.
Performance of their SSD VMs is better than Linode's and DO's VMs in our internal benchmarks.
If you need more than a few VMs, contacting Sales is a really good idea because they can make you some interesting offers.
The main downside for us is that they are located in central US so latency is not ideal for our eastern Canada customer base.
FWIW, we moved all our VMs from Linode to Storm because we lost confidence in Linode (DDOS, security, lack of transparency) even though the ratio performance/cost/reliability (in Newark, before the DDOS incident) was impossible to beat.
https://www.rackspace.com/openstack http://cloudstack.apache.org http://www8.hp.com/us/en/cloud/helion-eucalyptus-overview.ht... http://opennebula.org
Google appengine is PAAS based, has competitive features and low priced than AWS EBS comparative. Google compute service is IAAS based and EC2 comparative.
I found, transition from AWS to GAE is usually not that easy and quick at least for a simple rails app deployment using Postgres.
Appengine has still less developers community which is why learning curve is high and you need to dig and troubleshoot more than AWS which is abundant with tutorials, gems, plugins etc.
The benefits are that the service is extremely cheap.
That probably wasn't very helpful.