16 ms·
I've done pretty extensive work in all three major cloud providers. If you were to ask me which one I'd use for a net new project, it would be GCP -- no questio
by jrsdav 6y ago
I've done pretty extensive work in all three major cloud providers. If you were to ask me which one I'd use for a net new project, it would be GCP -- no question. Nearly all of their services I've used have been great with a feeling that they were purposefully engineered (BigQuery, GKE, GCE, Cloud Build, Cloud Run, Firebase, GCR, Dataflow, PubSub, Data Proc, Cloud SQL, goes on and on...). Not to mention almost every service has a Cloud API, which really goes a long way towards eliminating the firewall and helps you embrace the Zero Trust/BeyondCorp model. And BigQuery. I can't express enough how amazing BigQuery is. If you're not using GCP, it's worth going multi-cloud for BigQuery alone.
But there is something to be said of AWS. Their SDKs are complete and predictable, their APIs are very fast and consistent, and AWS IAM, while having a steep learning curve, never leaves you guessing around what your principals have access to. For me, the real challenge with AWS has been introducing multiple AWS accounts. Governance just flat out sucks when you begin to scale past a handful of accounts (but it is getting better).
Azure on the other hand, has terrible consistency issues between their APIs, their SDKs are awful, and it just feels like the entire product is an extension of the MCP System Administrator persona of old, where it's expected that someone's job will be sitting in front of a UI and clicking around to get things done (the whole blade thing with their portal has to be one of the worst user experiences I've ever seen). However, I do like their Logic Apps, and Azure Policy with auto remediation (when it works as advertised -- ref API consistency and how long it takes for things to propagate through their system) has tons of potential. But they still have a ways to go before I'd consider it for my workloads.
- dmitriid 6y agoI can kinda agree on GCP with one exception: Dataflow. I have no idea what the future holds for it. It is a managed Apache Beam service and is very useful for certain scenarios (like "hey, we have a million incoming PubSub messages that we need to transform into a dozen different branching streams of data"). It looks like even BigQuery actually transforms SQL statements into a bunch of Dataflow jobs. But... But... - Minor version updates to Google Dataflow SDK once every couple of months while deprecating most other minor versions? Check. - No visible contributions to Apache BEAM itself? Check. In 2021 I still don't know if I can use any Java versions beyond Java 8 to develop for and run in Dataflow. And Google is arguably one of the biggest users of Apache BEAm, and definitely a user with the largest pile of money to throw at the problem. - They've recently sent out a questionnaire about Dataflow to some of their customers that feels like a "hey, we're definitely considering deprecating this, we're gauging the potential impact"
- antonvs 6y agoI love Dataflow, but share the same concerns. It feels like something that's going to die of neglect even if it's not intentional.
- ignoramous 6y agoAnd GCP's Director of Outbound Product Management saying things like, "I’ve been thinking about the cool ways @GCPcloud reinvented public cloud... Sometimes you have to leave the past behind, and we haven’t hesitated to re:tire services and features. HIYOOOOO! We’re getting better though :)" doesn't really inspire any confidence either. [0] https://archive.is/l6s5Q https://archive.is/l6s5Q
- runT1ME 6y agoInteresting comment, definitely want to hear more. I have concerns about Beam/Dataflow, but they seem different to yours. The dataflow product seems to run older versions of Apache Beam just fine, so minor deprecations don’t seem like an issue in practice, but maybe I’m mistaken. “No visible contributions to Apache BEAM itself”. I don’t think this is true, I’m a contributor and somewhat active on the developer mailing list, it seems the majority of the contributions these days come from google employees. If the questionnaire you’re referring to was the paid Apache Beam survey, I participated and definitely didn’t get the impression that they were considering deprecating the service. It was much more focused on how they can improve docs, examples, and help developers use it. Now, I think the project is too ambitious even for google. They don’t need to support Spark/Dataflow/Flink on three different languages (java/python/go) imo. I’m also frustrated with some of the bugs that slip through. The fact that there is no back pressure support for a streaming framework is such a google thing to do: why worry about back pressure if you can just tell another team to increase their throughput for downstream sinks? /s Dataflow does seem to be one of GCP’s most popular services (spotify and twitter are both users now) so I would guess it is here to stay in some form.
- boulos 6y agoDisclosure: I work on Google Cloud (and with the Dataflow folks on occasion). Sorry, if you're getting mixed messages. Dataflow is here to stay. Google, Spotify, Twitter, and many other large customers heavily depend on it. Twitter moved their entire ad revenue pipeline to it [1] last year. A quick perusal though of https://github.com/apache/beam/commits/master https://github.com/apache/beam/commits/master shows decent Googler activity. Can you highlight where you were looking for "no visible contributions"? (Maybe we do a bad job of being visible?). [1] https://cloud.google.com/blog/products/data-analytics/modernizing-twitters-ad-engagement-analytics-platform https://cloud.google.com/blog/products/data-analytics/modern...
- pratio 6y agoAzure UI, Flows almost everything feels half baked. They have this weird segue like UX in some places where trying to go back to a previous screen feels like moving a big picture around, it annoys me so much, The best thing that we found with Azure was using Azure AD, works as advertised and the SSO integration was smooth. I still prefer AWS services like S3 because they're predictable and I've yet to run into an issue which AWS support wasn't able to solve.
- skrebbel 6y agoI love the idea of GCP but I can't shake the fear that one colleague, using the company Gmail account, posts something somewhere on the internet that Google's morality-du-jour considers unacceptable, and the Google AI Killbot disables our entire account, GCP included, ruining the business, with nobody to call, nothing to do, except tweet and post on HN and hope someone at Google listens. I don't mean this as a flamebait hyperbole, this is truly the single thing that keeps from moving our business to GCP because, like you say, that BigQuery thing tastes sweet. How do you deal with this? Is there any sort of guarantee with GCP that I missed where they promise not to do this?
- forty 6y agoWe don't use GCP a lot, but just a note: it's possible to login to GCP using your SSO rather than gmail addresses. I guess it would limit the risk you are worried about.
- renewiltord 6y agoI definitely use a separate google account for all of this. The support for it is pretty good and I don't see why one would ever use a personal account.
- mhh__ 6y agoI would still be more worried about Google canning the service you're using. The "shout at it on HN until it gets fixed" customer service is awful, but I don't think they're going to hurt their bottom line like that - and besides, if you have (for the sake of argument) someone spouting wrongthink on the company account you're really playing with fire in the first place.
- antonvs 6y agoI haven't encountered that situation but we use GCP and use their support: https://cloud.google.com/support https://cloud.google.com/support We can easily get a Google person on the phone when we need to, so I wouldn't be terribly concerned about this scenario since we have a relationship, a contact route, and (possibly) some kind of contractual accountability.
- andreilys 6y agoHow long do you reckon before google shuts down GCP? I suppose that’s part of the gamble when you bet on them.
- rootusrootus 6y ago> I suppose that’s part of the gamble when you bet on them. That or they just shut down your GCP. Lack of a real, responsive support channel is what keeps me from spending money for Google services.
- antonvs 6y agoWe use GCP and have a real, responsive support channel. See https://cloud.google.com/support https://cloud.google.com/support . Are you saying lack of a responsive free support channel?
- renewiltord 6y agoThis is such an unlikely event. Anyone with any knowledge of the cloud space would declare this nigh impossible.
- antonvs 6y agoYou're understandably thinking of Google's track record with many of its other products that were discontinued. However, most of those products were "free" to the user, and as such Google had no real obligation to its customers. GCP is a very different kind of product. Customers pay for it directly, and often their business depends on it. It's covered by all sorts of contractual agreements, including service level agreements. It's backed by a great deal of physical hardware around the world that Google wouldn't otherwise need. Its revenue is growing fast, currently over $12 billion/year. That's revenue from customers paying it directly. In Q2 2020 it had 43% growth, even though Alphabet had its first quarterly revenue drop. It's not the kind of thing they're going to dump on a whim, and if they did decide to exit that space, it would most likely be by letting another company acquire it, since it would be hugely expensive to just drop it.
- 6y ago
- wdb 6y agoMy mine gripe with GCP is that most projects don't have any examples or support how to use it on GCP compared to the always AWS examples. That's always a bit of a bummer
- GordonS 6y agoI mainly use work with Azure, but have worked with AWS too, and not yet with GCP. I'm a bit fan of Azure - the service on offer and the tooling. Azure's UI is unusual, polarising even - you either love it or hate it, but I'm more on the "love it" side. When it was first released some years ago, it had some perf problems, but it got over those long ago. In use, I find it to be a really good UX - not sure I ever recall swearing at it because it was in my way :) I like that it has themes (e.g. dark mode), and for the most part, I also find it far more consistent than the AWS UI, which often feels like it's been cobbled together by several different teams. I also find the AWS UI feels pretty "clunky" and dated. And in terms of cost management, Azure is way more transparent and useful than AWS. Regarding SDKs, not sure if you were really thinking of a single service in particular or more generally, but assuming the latter, I mostly disagree about Azure's SDKs. Some of the SDKs have had too much churn for my liking, and the docs don't always keep pace with those changes. In general though, I find them really good. I'm not a huge fan of ARM templates for anything but the simplest deployments, but they get the job done. Bicep[0] shows MS are improving things, and there are a couple of nice OSS alternatives now, like Farmer[1]. I'm not a big fan of PowerShell in any form, but it's cross-platform, and I use it on occasion for Azure automation, and again it gets the job done without issues. Azure CLI, I really like - it's OSS, cross-platform, and covers pretty much all services. Extensions/plugins mean that even new services are covered quickly. The syntax and commands are very consistent (there are a few exceptions, of course), and being able to output results in either JSON or CSV is great for parsing from the likes of Bash scripts. Also like the way you can filter and project output, without the need for something like jq. Don't recall a single instance of something I could do in the UI but not via automation; aside from monitoring, cost reporting and quickly deploying throw-away stuff during dev, I don't feel compelled to use the UI. [0] https://github.com/Azure/bicep https://github.com/Azure/bicep [1] https://compositionalit.github.io/farmer/ https://compositionalit.github.io/farmer/
- foobiekr 6y agoGCP's potential for product abandonment and their terrible customer support are their primary weaknesses. And then there's the issues well-described in [1]. [1] https://medium.com/@steve.yegge/dear-google-cloud-your-deprecation-policy-is-killing-you-ee7525dc05dc https://medium.com/@steve.yegge/dear-google-cloud-your-depre...
- mxz3000 6y agoWorking with multiple AWS accounts is definitely a pain, but it definitely should get better in the future given that it's a super important use case for internal services. Internally we have best practices that dictate to split services into their own accounts, with one account per stage (i.e. beta, gamma, prod). I'd like to also mention that CDK also makes working with cross-account/cross-stack resources a lot easier.
- jvolkman 6y agoThose internal policies have been in place for at least 6-7 years and multi-account still sucks.
- mlthoughts2018 6y agoI also have significant experience in all 3 and I couldn’t disagree more. GCP support & documentation alone is a dramatic reason to avoid GCP. GCS CLI utilities are supposed to be S3 API-compatible, but they are not. GCP keyfile-based access is a horrid anti-pattern, but the rules for human IAM user vs service account vs impersonation are not uniform across all products (eg, if you need developers to have ad hoc non-console access to both GCE VMs and Dataproc clusters, you have to manage two very different approaches to identity-based access). GCP’s region-level SLA are poor for most products and over a window of a few years, they don’t actually meet their region SLAs. GCP has all kinds of nasty legalese about “beta” features that aren’t supported by the SLAs, and if you use them, you forfeit your right to claim credits after SLA-violating outages. For GKE in particular, Google’s rules basically exclude every aspect of Kubernetes you need to actually use it in production, which is a blatant attempt to force users into Anthos. In machine learning in particular, GCP has horrible offerings that are massively over-priced and/or are 100% hype-driven (TPUs are a good example, but also things like running Kubeflow or Feast). Google Cloud Functions and Google Cloud Run have such severe limitations to resource sizing, especially memory, that they are irrelevant, whereas by comparison Fargate is excellent for ML workloads. There really is no equivalent in GCP, since Cloud Run can’t handle large Docker containers needing high RAM, so you’ll just be rerouted to GKE where because of the SLA legalese you can’t actually use any of the tools you want. And then on top of this, configuring any type of hybrid open internet / internal data center service with Cloud Functions or Cloud Run is miserable. You need a full Networking team just solely to manage Cloud Function or Cloud Run service access, it is absolutely nowhere close to self-service for normal backend teams. GCP is a miserable, miserable choice for cloud vendor. It is typically chosen solely due to being cheap in the short term and allowing bulk deals on GSuite, Ads credits and other deal sweeteners. It’s so stupid to choose GCP for these short-term deals, because Google absolutely will lock you in and raise prices for their garbage tools and poor customer service. For my money both Azure and AWS are still lightyears ahead of GCP and I would gladly pay a premium to use either just to avoid GCP.
- theptip 6y ago> For GKE in particular, Google’s rules basically exclude every aspect of Kubernetes you need to actually use it in production I’ve been using GKE in prod for ~4 years, and have never needed beta features. What beta features do you think are required? I’ve also always been able to assign permissions to a user, group, or service account. When have you not been able to do so?
- techlatest_net 6y agoI completely second this. We publish VM solutions in all the three marketplaces and find GCP the best as a partner and as a customer. The VMs spin in seconds , cost is the lowest for most of the common services and the web console is fast and does not have the clutter like that of AWS or Azure. Ever since they got Thomas Kurien as new CEO, there is more focus on the marketing and partnering outside of US & Europe. The recent deal with ARAMCO to setup data center in KSA reflects this. From a customer base perspective, our experience is that GCP has more developer & startup focused customer base, Azure has more enterprise crowd where as AWS is a good mix of every one.
- znpy 6y agoNot a GCP user myself, but I've read a lot of stories about GCP deprecating products at a very fast rates (as google does with the general public). I don't know if I'd be okay with this? Once a project is done I wouldn't want to do any re-engineering that's not strictly needed (and outside general maintenance).
- nojvek 6y agoI’ve used GCP and I quite like it. However I would not recommend betting big on it. GCP as an extension of google has the same problems, they are way too big to care about small companies. They change their minds every now and then without upfront notice and kill things or deprecate them. Support is hard to reach. In any case, think for your own self what you care about. There are tradeoffs of each cloud providers. I’ve found AWS provided me with a human touch and cares about my problems. Never quite used Azure (their portal is too complex). In my mind, Google’s gonna be Google. They value automation and algorithms over human touch. It’s in their DNA. It’s what their hire for.
- jordanbeiber 6y agoI can only agree - Azure is a mess in a lot of ways when you try to automate it as an IaaS. They seem to have some sort of pattern issues in regards to UI and async API operations, and it bites you often enough to drive you crazy when automating. I've had API calls fail because an Azure portal tab was open in my browser obviously locking or otherwise interfering with API operations until the I close, what looks like, a completely idle tab. Also... dog slow provisioning compared to the "other two".