36 ms·
Dear Google Cloud: Your Deprecation Policy Is Killing You
- lowiqengineer 6y agoThe answer to why this is, I’m beginning to realize after talking to dozens of Googlers working at Google as acquaintances, friends, former coworkers, HN comments and twitter personalities is - Google has an active disrespect if you’re not part of their in group. If you haven’t passed their tests, you’re basically an object of derision - a mark, an object just used for incrementing a CPM metric, or an incompetent, low-class buffoon who doesn’t deserve to have their jet setting luxury lifestyles. And unfortunately, everything trickles down from that.
- QuinnyPig 6y agoI want to argue with this but I don’t think I can.
- deleted 6y ago[deleted]
- rawgabbit 6y agoSad. I want to like Google but the author is right.
- chillfox 6y agoYep, Googles stuff looks nice, but I can’t afford to use their stuff. The time budget simply doesn’t allow for rewriting things more than once a decade, and even that’s a pain.
- mdrabla 6y agoThis hasn't been my experience, and I've worked there. There might've been a couple dicks like that but definitely not the norm
- lowiqengineer 6y agoA "couple dicks"? It's endemic, dude. You can't be given everything you could ever dream of and _not_ end up like this. By comparison, I have nothing. zilch, for my hard work. Neither do most people working on core tech at AWS. That's why they empathize with their customers (I'm guessing).
- mdrabla 6y agoIt is not endemic. I think you've met a few people you didn't like, read some tweets, and extrapolated poorly. And I don't think people working on GCP are really treated that much better than their counterparts at AWS. The fact that you think the difference in product depreciation policy between them is caused by people getting "everything they could dream of" is funny though
- lowiqengineer 6y agoTrips to Europe or to random conferences in first class? Trips to _any office_ for "face time"? Massages? Bonuses of any sort, including peer bonuses and holiday gifts? Refreshers? Society thinking that you're "smart" for passing the loop? You're rewarded just for being alive at Google, but I get nothing but scorn and condescension. Fun fact for you - if I get promoted this year at Amazon to L5, I'll _still_ make less than a new grad at Google. It's extremely depressing to the extent that I can't get out of bed in the morning, but I'd wager that inferiority complex probably helps on the product side to empathize with customers.
- gundmc 6y ago> Fun fact for you - if I get promoted this year at Amazon to L5, I'll _still_ make less than a new grad at Google. This doesn't appear to be close to true based on levels.fyi, unless you're severely underpaid for an Amazon L5.
- lowiqengineer 6y ago
- nmfisher 6y agoIncluding the most critical group of all - customers. It’s astonishing how little Google cares about its paying customers, at least when it comes to AdWords and GSuite, and GCP. I think the Pixel division is the only exception, though I don’t own one so I can’t comment personally.
- foepys 6y agoAfter 3 years of updates, Google drops Pixel support like a hot potato. As far as I'm informed every Pixel version so far had battery degradation issues. After year or so the battery seems to have only a fraction of the previous capacity.
- murgindrag 6y agoSo does every cell phone maker. I have a pile of old-but-working cell phones without security updates anymore in a drawer somewhere.
- abcdef99 6y agoIt inherits primarily from the idiotic interview loop, and an entire cottage industry which has grown up around it. I am reminded of this funny Feynman quote (paraphrasing): "The whole purpose of the existence of the Mensa club was to decide who else was eligible to join the club". Now, in all fairness, this is true of all the big tech companies to varying degrees, but boy does Google Cloud in particular take the cake on this one! Of course, Big Tech does produce very good products, and at scale, but that is being built by about 10% of their engineers. The rest of them work there just to keep the interview loop as exclusive as possible. :-) After all, otherwise, one of them would have actually solved long runningcustomer problems. Plus the rest of the world is now coming to an agreement that a lot of Big Tech's growth is coming from a lot of unfair advantages - such as massive data collection before it was understood as a bad thing, ability to lobby local politicians at a much bigger scale, ability to influence regulations that hurt them somewhat but entirely kill the competition (GDPR for example), complete lack of accountability for past malpractices (e.g. Facebook's friendly fraud case, for which no one went to jail) because they are now too powerful to actually be sent to jail.
- wh-uws 6y ago(warning rambling rant) I feel like this was super true in the pre Facebook days but they were humbled A LOT by the massive flop of Google plus. I honestly don't feel like I get the my s * doesn't stink vibe from them anymore. Especially because everyone knows their Achilles heel now. But for their ad revenue what would they be? Everything else material from came from an acquisition or is infra stuff. It's cool but they also had to learn the hard lesson of Hadoop too. Yeah they built big table... But the rest of the industry standardized on Hadoop (at the time) because they never released an implementation and so they started losing out on good hires because they didn't want to get locked into proprietary Google infra. I think you see them recognizing this with intiatives like all of the stuff around kubernetes. But hey I wouldn't build anything on their (non open) stuff and get more scared by the day over my dependence on El Goog because they've shown time an again how little they care for us common plebs. But I feel like they get better when they lose but they've only started losing more recently (Rant over)
- thethethethe 6y ago> Yeah they built big table... But the rest of the industry standardized on Hadoop (at the time) because they never released an implementation and so they started losing out on good hires because they didn't want to get locked into proprietary Google infra. Hadoop and Bigtable are not the same thing. Bigtable is a noSQL database. Hadoop is a big data processing framework. Hadoop is actually an open source implementation of MapReduce, which was developed at Google and which has since been replaced by Flume
- atombender 6y agoOn the other hand, Hadoop does have HBase, which is their version of Bigtable. It was, for a number of years, a very popular columnar K/V store.
- manigandham 6y agoHadoop is a collection of things: HDFS (filesystem), Hbase (keyvalue database), MapReduce (data processing), and YARN (resource scheduling and job management). Hbase was open-source implementation of Bigtable while HDFS was a copy of Google File System. The divergence appeared with other processing frameworks like Spark but now there's Apache Beam to unify it all.
- tassl 6y agoI have worked at a few orgs and I've heard so many time the "because we are Google" to explain why a product will be used. I've never understood that mentality; I've never understood people being proud basically about a product somebody else built 20 years ago. I do believe leadership is failing Google, and their lack of vision is starting to affect the company. There was quite a bit of inertia, but I fear search might drop in the next 5 years and there will be nothing ready to replace ads.
- logicslave12 6y agoNLP is rapidly improving, a time may come when someone else can create good search just because nlp tech has gotten so good
- dylan604 6y agoI wonder if this is a result of Google not having users/customers but data points?
- perl4ever 6y agoOn the other hand, when someone expresses an opinion like this, you never know if they were contacted at some point by a Google recruiter and ended up with a case of sour grapes. I had a phone conversation with a hiring manager once, and obviously I was not the right type or class or caste or something, but it wasn't a technical screen at all, so it's a mystery to me forever what exactly determined the "in group" as you put it. As such, I know I'm biased towards them, but I can't really assess the overall company.
- lowiqengineer 6y agoOf course. I'm well aware that I'm considered mentally defective (or maybe just garden variety low IQ) by the hiring committee. That doesn't really change my observation here.
- albacur 6y agoYou pop up in every post about Google or Facebook and make the conversation about yourself, wallowing in self pity because you didn't land a job there straight out of college. This might sound harsh, but you need to get over it and move on.
- typest 6y ago^^ what this guy said. You named yourself lowiqengineer because your SAT score was “only” 2200. That’s in the 98th percentile —- if it were an IQ test, it would get you into Mensa, the organization for high IQ people! You talk as if people from FANG (your invented acronym to exclude Amazon) look down on all others, but it seems that you are the one looking down on all others, everyone who wasn’t lucky enough to get into G/FB straight out of college while also building up not just 1, but 2 or 300k or net worth. These companies you aspire to do behavioral interviews, and I’m guessing you’re failing them. Take a step back. You won’t “fail” life because you “only” got a job at one FAANG and not another, or because your net worth is only 100k straight out of college....even the sentence I just wrote sounds completely ridiculous. Your problems are stemming from how you view yourself and the world, which is full of false assumptions. A lot of smart people on HN have told you this —- you should listen to them.
- logicslave 6y agoI think this is really common. I've met quite a few Google engineers whose whole identity is defined by their employer. Its striking, and a testament to the malleability of the human mind, even if the individual is "smart".
- disgruntledphd2 6y agoThe joke that I always used to have when I worked near their Dublin office was How do you know someone is a Googler? Don't worry, they'll tell you :) This was prompted by me noticing that most of the people who still had their badges visible after work appeared to have Google badges.
- rgblambda 6y agoFrom a brief look at job openings at Google Dublin, this mentality would be particularly mind boggling as it looks like the Dublin office houses the support staff (not that there's anything wrong with working support).
- disgruntledphd2 6y agoSo, in general, Dublin Big Tech jobs are in: - customer support - sales - finance (explains itself really) - SRE (mostly because of favourable time zones) Most of the core engineering is in London/Zurich. Dunno what's gonna happen post Brexit, but anecdotally, the FAANG which I am most familiar with has had real problems hiring in London post-2016.
- jrott 6y agoI really want to like google cloud. Every time I use it things seem better set up than in AWS. I feel like I can't even bring it up at work though because of the issues with deprecation.
- code4tee 6y agoI hear you. At the end of the day though a little more effort on front end setup is infinitely better than the time wasted later on when you have to rebuilt everything every time Google decides to get rid of another product / service / platform / setting. Burned by that one too many times and moved on.
- causality0 6y agoGoogle is an absolutely fantastic company from which to get free stuff. Gmail, Maps, Docs, Youtube? Mmm-mm good! Buy things from Google, though? You mean, give Google money and in exchange expect them to adhere to some kind of standard of behavior, support, and customer service? Go get a coffee because you're clearly not awake yet.
- Jabbles 6y agoThis is the exact opposite of the usual complaint: that if you don't pay for support you can expect Google to arbitrarily shut your account and scoop up all your data - however paying them actually allows you some control.
- fauigerzigerk 6y agoMany of the frequent horror stories on here about account suspensions and completely unresponsive support are coming from people or companies with paid accounts. I do believe that there is a level of spending where you can actually get a hold of someone competent who can look into things. But that level appears to be rather high.
- fallenpegasus 6y agoAbout 5 years ago, Hewlett-Packard tried being a paid GSuite customer, paying for tens of thousands of seats, with a path to onboarding the entire company. We could not get support, or even a TAM who would answer their phone. After a year, HP dumped GSuite, and went to O365 instead. We got a responsive TAM, full multi-tier support, and white glove handholding for migration. And, I think it was cheaper, too. There is NO level of spending as a customer at which Google actually gives a shit.
- eatonphil 6y agoThere are plenty of counterexamples among free stuff: Hangouts, Plus, etc. https://en.wikipedia.org/wiki/Category:Discontinued_Google_services https://en.wikipedia.org/wiki/Category:Discontinued_Google_s...
- ryanobjc 6y agoI used to work with Steve. He’s a good story teller. But a story teller tells good stories by having a fairly casual relationship with facts and the truth. For example, emacs lisp suffers from bitrot. Some core things haven’t changed in forever but also you can’t pick up elisp config from 15 years ago and it’s fine today. All live systems evolve and change. In this case emacs is just so slow that Steve thinks that it doesn’t.
- jiggawatts 6y agoNobody pays EMACS a few million a year and runs their core business through it.
- notgpt 6y agoI don't know why people are downvoting you. I think you're right. I agree with his general point (I expanded a bit on that here [1]), and I also agree that people often overlook that general point since it is so convenient to do so. But otherwise, the specific examples he wrote (and the other assertions he made) seem to me to be incorrect. But, as you said, he is a good story teller. Like Taleb. Getting the moral across is more important, even if sometimes the wolf eats little red riding hood in malformed renderings. [1]: https://notgpt.com/2020/08/16/long-lived-systems/ https://notgpt.com/2020/08/16/long-lived-systems/
- fallenpegasus 6y agoMy elisp config file dates back to 1986. It's almost entirely unchanged. It still works. I have never had to remove anything because it stopped working. I just occasionally add stuff to it every few years.
- staticassertion 6y agoScathing. Well written. Extremely hard to argue with. GCP will fail, I think everyone knows it, and even if they don't, they fear it.
- ec109685 6y ago“ it’s well-known that they refuse to host (as a managed service) any third-party software until after AWS has already done the same thing and built a successful business around it, at which point their customers hold them at gunpoint. But that’s the bar, to get Google to support something.” This isn’t true, of course. They supported managed Kafka before AWS did: https://cloud.google.com/confluent https://cloud.google.com/confluent
- baskire 6y agoGcp doesn’t have a 1st party Kafka offering. Confluent cloud is still 3rd party just with some nice integrations with GCP. If you have an issue it’s not GCP support or GCP’s eng job to fix the cluster. There’s real service uptime implications of this.
- sfifs 6y agoI had Google cloud break twice this week. First their "AI Notebooks" images broke some dependency, then some IAM change broke the cloud console interface. Though our engg. team is on it, Pointless hours of productivity lost :-(
- Glyptodon 6y agoBesides AWS and Azure what's the third major cloud provider he's referring to? (I can think of others, just haven't really thought any were close to Amazon/Microsoft/Google.)
- gundmc 6y agoWas wondering the same thing. Alibaba? IBM?
- lowiqengineer 6y agoLast I checked Alibaba was 3rd in the international market and Oracle cloud was growing. Steve might be referring to Oracle getting 3rd place.
- tomc1985 6y agoI can hear cries from tenderfoot developers whining about supporting multiple options and backwards compatibility... "But that's sooooo muuuuch too teeessstt!! Whaaaaaaaaaaaaaaaa!!!!!!!!!!" But that's your job dude. So what if it costs more money and time. Fucking pay for it anyway. I feel like startup software dev needs a swift kick in the ass or three with that phrase.... "do it anyway!" Who fucking cares if these founder assholes only make an 800% return instead of 900%? Do it right.
- dmitriid 6y agoYou didn't read the article, did you? Startup developers don't mind supporting multiple options and backwards compatibility. Often they have to because they don't have the time and the money to rewrite everything, so it's common in startups to run and support multiple versions of APIs, clients etc. It's Google who doesn't provide backwards compatibility, upgrade paths and migration options. > But that's your job dude. So what if it costs more money and time. Fucking pay for it anyway. So why doesn't Google pay for it anyway? > I feel like startup software dev needs a swift kick in the ass or three with that phrase.... "do it anyway!" You mean Google devs.
- tomc1985 6y agoI read the whole article. My reaction is such because I feel that much of software dev is plagued by the same bullshit that the article describes about Google I've been on the web since the mid 90s. The last 15 years have had more cool things taken away from me because of sunset bullshit than the first half of that time period. Software (even web apps) should be eternal, there should never be "features removed" or "EOL" announcements. If they don't want to run something they should open source it and let the community take over. What the hell is the point of hoarding all this wonderful IP if it serves noone?
- MrStonedOne 6y agoGoogle thinks it can operate the same in paid user bases as it does in free user bases. You aren't a customer, you're a user who paid to bypass a rate limit. There is a difference.
- userbinator 6y agoIt's odd to see an article emphasising backwards compatibility, but not a single mention of Microsoft (I even ctrl+F'd the page source to check!) They've regressed a bit in the recent years but I'd still consider MS the gold standard for back-compat. I have Win32 binaries I last modified over 15 years ago, small (or perhaps tiny - size measured in KBs) utilities that I use daily. They worked perfectly on Win95, and still do on Win10. I wonder when/if the software industry will ever stabilise. It's possibly the only industry where frequent and disruptive change continues to happen, and is even welcomed by many in it (not me).
- deleted 6y ago[deleted]
- jonchang 6y agoThe article talks about Windows, which is produced by Microsoft.
- junkrat002 6y agoThere was a short shout out to Windows.
- toast0 6y agoYou missed this: > I’ll also give a shout-out to our friends in the Operating Systems business: Windows, Linux, NOT APPLE FUCK YOU APPLE, FreeBSD, and so on, for doing such a great job of backwards compatibility on their successful platforms. I share your desire for stability. I don't necessarily mind frequent updates for security reasons, but I'm getting to the point where if things are changing in big ways often, I'm just not going to use it --- I no longer find enjoyment in running on the upgrade treadmill, it's just work. That said, I don't see a lot of hope for our outlook. Most people don't seem to have a concept of completable software. It would be nice if it were bug free, but getting to the point where the cost to fix bugs compares to the cost of leaving bugs as known issues is doable.
- TwoBit 6y agoOK but he talks about how Android OS has had backward compat for over ten years, but Windows has been doing it far longer and with a much bigger OS and more complex hardware base.
- remus 6y agoI'd be interested in some concrete examples of things GCP have depreciated. I'm an (admittedly fairly light) user of GCP and haven't come across any myself.
- gostsamo 6y agoPersonal experience: I have to support an internal tool for a company in app engine. The contract is part time and I have to prioritize what issues to fix. The answer is usually "those caused by Google deprecating something". The nosql db some hyped individual has chosen years ago - "deprecated, we don't bother with solving bugs there". Email service: "it is in python2, but not in python3, look for management approval to use external service". File storage: "this library is deprecated, use whatever service is fancy now". Task queues: "nope, we are changing the api and calling it cloud tasks now, so please refactor all of your files to use the new semantics". The list goes on and on.
- dmitriid 6y agoDataflow SDK libraries have updated their minor version from 2.4 to something like 2.16 in just two years. Guess what, everything below 2.14 is deprecated and not supported. And yes. Despite these being minor version updates, stuff will break if you go from, say, version 2.9 to version 2.11.
- larrymcp 6y agoI saw that he mentioned a few of them in the article. He writes: I can tell you that virtually everything I’ve used, from networking (legacy to VPC) to storage (Cloud SQL v1 to v2) to Firebase (now Firestore with a totally different API) to App Engine (don’t even get me started) to Cloud Endpoints to... I dunno, _everything_, has forced me to rewrite it all after at most 2–3 years.
- habosa 6y agoI work on Firebase. His characterization of Firestore is incorrect and lazy. It did not replace Realtime Database (which is the product he’s calling Firebase) they are two products which live side by side and both are being actively improved. People assumed that because we made a new database we were killing the older one, but that was never true.
- john-shaffer 6y ago> [Google] contracted with a company called Bitnami to create a bunch of “click to deploy” solutions, or perhaps I should write “solutions”, because they don’t solve a fucking thing. They’re just there as checkboxes, as marketing filler, and Google never gave a shit whether any of them worked from Day One. I've had similar experiences with broken Bitnami images that makes it seem like they aren't even tested before being released [1][2]. Their WordPress images do work, but the way file permissions are configured doesn't play well with the way they have WordPress set up [3]. Have I just had bad luck, or is this a common experience? [1] https://community.bitnami.com/t/cant-authenticate-to-fauxton/71354 https://community.bitnami.com/t/cant-authenticate-to-fauxton... [2] https://community.bitnami.com/t/couchdb-server-log-gives-wrong-username/71595 https://community.bitnami.com/t/couchdb-server-log-gives-wro... [3] https://github.com/WP2Static/wp2static/issues/598 https://github.com/WP2Static/wp2static/issues/598
- Ysx 6y agoBitnami broke their MongoDB Helm chart. We're careful to pin versions, and hadn't anticipated someone would re-write history and break published code. Can't get too upset, we don't pay them anything. Not in a rush to use them again though.
- ithkuil 6y agoHave you reached out to (community) support? My colleagues there tend to do their best to help the community. EDIT Disclaimer: I work for Bitnami; not in that team though. I reached out internally to see if this is a known issue, but it's Saturday... EDIT 2: does the downvote mean bitnami community support is so bad or did my wording offend anybody?
- john-shaffer 6y agoThere are lots of random downvotes for no real reason. Sometimes perfectly ordinary posts are dead. I try to upvote gray posts if they're not worthless. That said, my take (and that of siblings) is that I'm much better off building my own containers than serving as unpaid Q&A for Bitnami. It would be smart to use containers built by people more expert than I am. Containers that are broken by default do not meet that criteria. So, "reach out to community support" is not helpful to people that have already decided to ditch Bitnami. > We're careful to pin versions, and hadn't anticipated someone would re-write history and break published code. This is exactly the kind of thing that will make me ditch a company forever and never look back.
- KingOfCoders 6y ago"Fuck yooooouuuuuuuu. Fuck you, fuck you, Fuck You. Drop whatever you are doing because it’s not important. What is important is OUR time." Most NPM packages.
- sidkshatriya 6y ago> “[...] Drop whatever you are doing because it’s not important. What is important is OUR time” > Most NPM packages NPM packages tend to be free and open source so morally they don’t owe us anything. So yes what is important is the time of the authors of the packages. I am grateful someone took the trouble to release them and many popular ones are actually well maintained. But cloud services that you are paying for are a totally different ball game. The company does need to maintain backwards compatibility for a good amount time and they need to value your time.
- murgindrag 6y agoI don't care about moral debts or obligations. I care about whether stuff works and I can get shit done. Other ecosystems (like Python) don't have the same culture as NPM. There are clean, well-documented, maintained packages. Google doesn't have a moral obligation to support GCE customers either. It's just that everyone I know who has used GCE would never use it in production, and loudly advises everyone they know not to do so either. They'll be bleeding money at some point, not to mention they're already bleeding reputation. Google went from smartest-people-in-the-room to smug-incompetent-arrogant-douchebags. That's hard to get over. That's about good business, not some kind of moral obligation.
- KingOfCoders 6y agoSame for Java.
- nicoffeine 6y agoI recently returned to dev work after years in a niche of systems administration in banking and healthcare. The existing product is built on npm, and after a month in, I'm simply disappointed that such a fragile set of software is this popular. Almost every day there is an automated PR to bump one of the thousands of dependencies. LTS is ending for Angular 8, but one of the main component dependencies doesn't support 9 yet. I had to put typescript in an unsupported state so one of the dependency upgrades wouldn't break something -- the solution is an ugly hack not supported by anyone. Another required a bump to lodash, which suddenly started failing. This led me to the following comment in a github thread: > The recursive implementation of cloneDeep was by design with the shortcoming that in some rare cases it could run into stack size exceeded issues. I'm not how cloneDeep is being used but chances are a more specialized clone tailored to their scenario will be a better option. So, I agree with the OP: the messaging for support in the npm world can be distilled to "fuck you". If I had ever proposed to a customer that we would build infrastructure for them written by thousands of pseudo-anonymous entities who may or may not break everything because they felt like it, I would have correctly been fired. This leads me to believe that supportability, reliability, and security aren't important to the npm ecosystem because ultimately the products built with npm don't matter. A bank or a utility company may use them to build a customer facing application, but for the stuff that's important, a competent technology manager would never let npm through the door. (edit: I replaced "tools" with "software" in the first paragraph, because tools don't change interfaces and effects on a whim).
- gravypod 6y ago> I have been inexorably pushed away from GCP, towards cloud agnosticism. On a side note I think this is what all of us should be aiming for. Every time someone on a team I'm working for starts trying to use some very complex tool that a SaaS/cloud has built for us I always urged them to look for a simpler solution. Do you really need AWS Lambda/kinesis/etc or can you write your code and deploy it onto our cluster as a normal service/api/control loop? If you make it really easy to write code, deploy it, and monitor it, you'll often find it's way less devops time to write your software as apis/control loops than it is to use a large amalgamation of cloud services. I also haven't found a good way to unit test cloud services and their interlinking.
- Illniyar 6y agoOn the contrary, every time someone comes to me with a suggestion to build something in-house or use an open source solution when a aws service exists I say the hell with that. I don't want to maintain it, build features into it or operate it. I want full in vendor lock-in, it saves an immense amount of time. You just need to pick a vendor that gives a shit about it's customers to be locked in to - and that's simply not google.
- RonanTheGrey 6y agoIt's tough to avoid the time savings that vendor lock-in buys you these days. I have had to grudgingly accept that, despite the fact that I absolutely hate giving in to it. Look at what Apple has done with lock-in (or Google for that matter in other areas of the ecosystem) and you can see the reasons why. However you can take steps that even when you give in to lock in, you structure your code/projects so that switching to another standard is straightforward: include non-vendor build scripts that would work on any Docker/VPS/baremetal server, isolate the locked-in config and scripts from the rest of the app as much as possible (even if it means running separate external scripts to execute them), etc. Once you've done it a couple times you build up a suite of small tools and it gets easier. I got bit hard by Zeit/Vercel, and then by GCP, and then by AWS. All of them do one thing or another to manage to find a way to extract more money. My goal is to make it so that if one day I decide we simply need to leave the platform, we can at a minimum of effort. Because this actually does happen 1-2 times a year, thanks to exactly the issues raised by OP, it's paid dividends to put in the small time it takes to keep things mostly agnostic on the code side.
- fh973 6y agoI think Google couldn't do better, even if they wanted to. The reason is the engineering culture and the promotion system. People expect to switch to new projects, and work towards to a promotion within 2-3 years. This shows in all products, and presumalby also the reason for the deprecation. New people come on the project, want and need to do a major overhaul, and do not have resource or incentives to support the old stuff. The other half is that most projects are done efficiently by relatively small groups of engineers. I remember that Android Market was still a few people in MTV, with no payment possibilities outside of the US, when Apple already had significant revenue from apps. And that shows everywhere. I'd argue Google is incapable of tackling projects that require more than a few hundred people for more than 2-3 years. But as a billion dollar company, that does not work. Throwing money at obvious new billion dollar opportunities like Microsoft did with gaming and cloud, and following through over 5 years is not possible for Google.
- mamurphy 6y agoMy armchair thought: what if the CEO said "wow, Yegge is right, we've gotten really off trail here. you need to show leadership in maintaining a 3+ year old system at Google for promotions?" Could that happen and would it work?
- londons_explore 6y agoYes, but there might be other downsides... Suddenly every developer turns into 'maintenance man' just refactoring existing code to make it neater without adding much.
- deleted 6y ago[deleted]
- vmateixeira 6y agoIncreasing performance and cutting down infrastructure costs? Looks like someone deserves a bonus
- 9nGQluzmnq3M 6y agoSo much ranting, yet not a single example of a GCP product that Google has actually killed. Got examples? I mean, there's stuff like Python 2 support being sunset on managed services, but as Yegge himself points out that's on Guido, not GCP.
- gostsamo 6y agoNo, the difference between python2 and python3 in the managed services goes much beyond unicode in the Google universe. The most obvious example is that in app engine standard python 2 you can send and receive emails while you need a third party service in python 3. In my other comment I've mentioned some other issues when Google start neglecting stuff.
- cpcallen 6y agoYes; exactly this. I'm contracted to Google, and so much of my Googler colleagues' time has been wasted in the last year porting projects off of the Python 2 APIs which are about to be shut down. Are they porting to the AppEngine Python 3 APIs? Hell no: those are totally useless (no BigTable, no user authentication, etc.). If you have to rewrite everything to replace all the functionality that used to be "batteries included", you might as well build something can run on any old bare VM instead, and so—like any sensible external developer—my colleagues are doing everything they can to avoid depending on any Google-specific APIs, libraries or platforms. I really though AppEngine and PaaS were the future, but evidently that future will not be written at Google.
- erichocean 6y ago> Are they porting to the AppEngine Python 3 APIs? Hell no: those are totally useless (no BigTable, no user authentication, etc.). That's hilarious(ly bad): BigTable was like the main selling point of OG AppEngine, and they practically forced their user authentication scheme on you too.
- 9nGQluzmnq3M 6y ago
- em-bee 6y agoi think this is the key point of the article: it actually winds up being less DevOps work, on average, to support open-source systems running on bare VMs, than to try to keep up with Google’s deprecation treadmill.
- disgruntledphd2 6y agoI honestly feel like this is a better idea in general, at least in data science stuff. For context, I tend to get dumped with undocumented poorly written untested DS code bases every time I move to a new job. The difference between setups where there's a bare VM/server and it runs using standard tools (command line scripts) or at least some open-source orchestration and any kind of proprietary technology tied to infrastructure is massive. Additionally, the server stuff can be maintained and debugged by a far larger number of people, thus reducing bus factor. Like, maybe in the web dev world there are things that everyone knows that are AWS services (maybe S3 counts, I guess) but in the DS world, I just know that I'm in for a whole lot more pain if they haven't just used bare servers.
- em-bee 6y agothis is the classic advantage of Free Software and Open Source over non-free tools. you often get a mix of commercial services and inhouse custom development that is no better documented or supported than FOSS alternatives.
- ithkuil 6y agoIs it true though? Keeping your stuff up and running, patched with the latest security updates takes time. And opensource systems also break compatibility at times. Sometimes the installation/upgrade process changes over time and you need to learn how to do proper upgrades even if the software technically can be made to work with the rest of the system. It's hard to quantify, but I don't think it's so clear-cut as Yegge makes it look.
- em-bee 6y agowell, being forced to adapt your system because a service provider is not allowing you to keep it running can be a significant drain on your resources. especially when you can't control when you do it. sure FOSS needs to be upgraded too, and sometimes there is change that you need to adapt to, but you are in control of the schedule, and if you are busy you can delay the upgrade work to when you have time for it. a service being shut down won't give you that flexibility
- physicles 6y agoThe mishandled Python 3 transition sure created a lot of pain (I experienced some of it, even though I only started with Python in 2016), but I never realized how much it hurt the language’s momentum. This must be one of the reasons why JavaScript is so popular today. JS benefits here from being run in browsers, which the author points out are fantastic at back compat, even as the dev culture surrounding the language doesn’t value it at all.
- mvn9 6y agoAlso: functional programming feels better in JS than in Python. On the other hand, it's nicer to write for-loops in Python.
- BossingAround 6y agoI really love the array.map( e -> e.doStuff() ) syntax. You can do similar in Java and other JVM languages of course. Not sure whether you can do that in Python.
- magnio 6y agoThere is map in Python, but nowhere near as nice as in JavaScript IMO.
- JimDabell 6y agoYou can do that in most languages. But map() (in either language) has the semantics of applying a transformation to each item in a collection to produce a new collection, so you wouldn’t really want to use map() to call something like doStuff(). That's what normal loops and forEach() are for. If you aren’t transforming the collection into a new collection, map() is the wrong choice; you’re telling anybody reading it that you’re doing something that you aren’t. But assuming doStuff() just has a bad name and is actually transformational, then the most direct translation would be to use map() and a lambda: new_array = map(lambda e: e.doStuff(), array) However it’s more idiomatic to use a list comprehension: new_array = [e.doStuff() for e in array]
- 6y ago
- rewq4321 6y agoTLDR of the article: > In the Emacs world [...], when they make an API obsolete, they are basically saying: “You really shouldn’t use this approach, because even though it works, it suffers from various deficiencies which we enumerate here. But in the end it’s your call.” > Whereas in the Google world, deprecation means: “We are breaking our commitments to you.” [...] It means they are going to force you to do some work, possibly a large amount of rework, on a regular basis It's fine if they want to go hunting for their Perfect API v10™, but just leave the old APIs alone - build abstractions under them if needed. Don't push that work onto your customers.
- sitkack 6y ago> Let’s say hypothetically that Apple was dumb enough to pull a Guido van Rossum, and declare that Swift 6.0 is backwards-incompatible with Swift 5.0, much in the way that Python 3 is incompatible with Python 2. Damn, I was waiting for this. The whole essay was a setup for this paragraph. Reframes the argument using a shared traumatic experience for everyone. This humanizes the effect, we all know someone that lost someone to the Python2/3 transition. I can't count the number of Python friends that turned into Gophers, joining some cult of middle class bearded tech dad with a side business distilling pear brandy. Best Yegge Essay Yet! Welcome back Steve. edit, finished the essay. He smoked GCP in this one, damn damn hard. Hickory.
- pilif 6y agoApple already pulled the Python 3 stunt twice with swift. Swift 1 to Swift 2 to Swift 3 were all very much incompatible. Of course the language wasn’t as broadly used back then and Apple is known for quicker churn than Python so the need to write code compatible across Swift versions was much less pronounced
- skohan 6y agoSwift can be very painful from this perspective. I just recently had to do surgery on a project because one of my dependencies changed the tools version. The back-compat promise is one of the reasons I'm investing in Rust for new projects, even if I find the actual programming much more pleasant in Swift. But I'm a bit less optimistic about Rust now given the recent layoffs at Mozilla.
- dilyevsky 6y agoClearly author is making things up - there were no gummy sharks in micro kitchens. Sergey spoke at lengths about this. > I considered using Google Cloud Bigtable for my online game, but it costs an estimated $16,000/year for an empty Bigtable on GCP. I’m not saying they’re gouging you Ok, but they are
- rrdharan 6y agohttps://techcrunch.com/2020/04/07/google-cloud-makes-it-cheaper-to-run-smaller-workloads-on-bigtable/ https://techcrunch.com/2020/04/07/google-cloud-makes-it-chea...
- dilyevsky 6y agoCool so i can build a three node cockroach/tidb/tikv cluster that will have much higher reliability with the same performance characteristics for less money. Sounds like they still gouging you.
- 1024core 6y agoI have heard that at Google, you get promoted/rewarded for launches. To me, that seems like an obvious perverse incentive to continuously deprecate things, so new things can be "launched" to replace them. There are no "launches" if you're just maintaining backwards compatibility! Maybe GCP should take a hard look at their internal incentives?
- bickeringyokel 6y ago> One fun bit of trivia about Bigtable is that they had these internal control-plane entities (as part of the implementation) called tablet servers, which had large indexes, and at some point they became a scaling bottleneck. Anyone understand the technical jargon here? I'm a bit lost.
- bobbiechen 6y agoThe BigTable paper is available here: https://research.google/pubs/pub27898/ https://research.google/pubs/pub27898/ > Bigtable maintains data in lexicographic order by row key. The row range for a table is dynamically partitioned. Each row range is called a tablet, which is the unit of dis- tribution and load balancing. And later... >The master is responsible for assigning tablets to tablet servers, detecting the addition and expiration of tablet servers, balancing tablet-server load, and garbage col- lection of files in GFS. In addition, it handles schema changes such as table and column family creations. Each tablet server manages a set of tablets (typically we have somewhere between ten to a thousand tablets per tablet server). The tablet server handles read and write requests to the tablets that it has loaded, and also splits tablets that have grown too large.
- dilyevsky 6y agoCheck out the original bigtable paper and it’ll make more sense. I think the author maybe misremembering some technical details here though.
- jeffbee 6y agoMaybe he's talking about the way that bigtable metadata1 is itself hosted on bigtable? The statements don't make much sense.
- deleted 6y ago[deleted]
- pdonis 6y ago"GNU Emacs, which is a sort of hybrid between Windows Notepad, a monolithic-kernel operating system, and the International Space Station." The article was worth a read for that quote alone.
- walki 6y agoI have personally used a large number of cloud compute services: AWS, packet, Alibaba, Digital Ocean, nimbix, Azure, Oracle, ... I still use all of these services from time to time. If you carefully look at my list of cloud vendors you realize that there is only one of the big cloud vendors missing: GCP. Why? When GCP came out I wanted to switch from AWS to GCP because AWS was costing me a lot of money and GCP was marketed as being cheaper. So I went to their website and signed up. Or at least I tried to sign up, because GCP did not care about individuals, you had to be a company! No other cloud vendor I tested had this requirement! So up to this date I have never tried to sign up with GCP again.
- packetslave 6y agoLet me guess, you're based somewhere in Europe? I don't remember the specifics, but the "business only in Europe" thing was 100% the fault of the EU's (tax?) laws. Not sure if that ever got resolved, actually.
- merb 6y agothat was sily because they only asked for a company name but you could've entered "Individual" inside the box and they would not care!
- speedgoose 6y agoThat's a bit risky. Google is well known to close accounts and have no humans you can contact.
- waheoo 6y agoI recently migrated off of digital ocean into aws. I was originally planning to go to go for the native k8s experience. Then I read somewhere online that was doesn't sunset services where as gcp does. I was half way through the migration process to gcp and bailed on a dime.
- dragonwriter 6y agoWhat I really want is a cloud provider that has AWS’s “we don't kill anything anyone is still using” and Google's probability of the documentation being both where you expect, having what you need, and being current and accurate (and, yes, I know Google is far from perfect on that, but dear God is AWS utterly horrible and that's just for the services that they are actively pushing.)
- rocketraman 6y agoThere are always trade-offs though. 1) If you're busy maintaining backward compat, you're not busy building innovative new things -- Microsoft. 'nuf said. 2) You have a built-in excuse to not make your new stuff equal in functionality or greater to the old stuff, because hey, customers can just use the old stuff right? I built some software that talks to O365 Sharepoint. Ok, I have two choices of API: the older Sharepoint API or the newer Graph API. They recommend Graph, ok. Build the product and put it into production. Get a new customer requirement for fine-grained auth, and then find out that Graph doesn't handle fine-grained auth -- only the Sharepoint API does that. Oops. Ask Microsoft when that capability is coming to Graph? No timeline, because the Sharepoint API isn't deprecated. 3) Keeping old stuff working may be easier, but building new stuff is harder because the landscape is muddier -- how many times have you looked at Microsoft docs and found multiple ways to do things with no idea if the docs you're looking at actually apply to the approach you're using now? I think there are ways to have (mostly) the best of both worlds. Linux does it by bring as much stuff in-tree as they can -- they break compat all the time for out-of-tree stuff. Ever try to keep a proprietary VMWare module building without errors? In-tree KVM never breaks because they're super careful with the ABI. Some languages have explicit mechanisms by which they attempt to keep things current, but make it easier on users -- Kotlin is an example of this [1] but its a young language so time will tell whether they can actually thread this needle. My experience so far is yes, I think they can -- I've updated code from Kotlin 1.2 to 1.3 to 1.4 with relatively little pain. [1] https://kotlinlang.org/docs/reference/evolution/kotlin-evolution.html https://kotlinlang.org/docs/reference/evolution/kotlin-evolu...
- rcarmo 6y agoI had a few laughs with this, but (maybe because I have been using Python since 1.2) I just can't relate to the Python bits. I migrated all my "working set" stuff to Python 3 piecemeal over a couple of weeks and never looked back (except when I needed to pick up some older project and take an hour or so to refactor it). The "There Will Come Soft Rains" reference, however, was brilliant. I hadn't thought of that story for _decades_ and it hit home.
- erichocean 6y ago> I just can't relate to the Python bits. I work in visual effects/animation, and 2020 is literally the first year anyone is even trying to use Python 3 (and Python 2.x) is still supported everywhere. Prior to 2020 Python 3 couldn't even be used at all (and I mean that literally: could not be used outside of isolated toy examples on alpha software that wasn't actually running in production). We (as an industry) have written thousands and thousands and thousands of business-necessary logic/scripts/libraries in Python 2.x that have to be updated to Python 3 that work across commercial tools so literally every tool has to be updated at the same time in tandem to Python 3, so much so that the VFX Platform[0] project was created in 2014 specifically to address how badly Python 3 had fucked everyone in my industry. It's all make-work too: literally none of us actually need Python 3's new features. Javascript's "use strict"; is the way to do backwards compatibility if you really really really need to change the semantics and keep existing code working as-is. [0] https://vfxplatform.com/ https://vfxplatform.com/
- deleted 6y ago[deleted]
- kanzenryu2 6y agoSo what is the 4th best cloud platform that he thinks might overtake GCP?
- iforgotpassword 6y agoOracle, or globally, Alibaba.
- justincormack 6y agoI do hope the intermediate solution he mentions, tooling that upgrades your code for you, starts to be used more. Go did this in the early days before 1.0, but it is fairly rare still outside the internal Google tools. It is a big chunk of work obviously but it saves a huge amount of downstream work, and lets everyone move forward.
- dhanna 6y agoRight? This is a strategy/trade-off that depends on migration tooling that exists and is user friendly.
- blickentwapft 6y agoA perfect, spot on analysis. The only thing that’s weird about this is that it’s about 3 years late. If this had been written 3 years ago it would have been topical. But really it’s old news that google deprecates everything and leaves it’s developers in the lurch and that as a result no one wants to use their stuff. It’s not surprising to hear this from Steve Yegge cause he’s a super switched on guy, but it’s surprising to hear this from him NOW. Google’s cloud ship sailed years ago, they just haven’t yet got to shutting the whole thing down, but the writing is on the wall. Google seems totally oblivious to how much developers distrust them, which is probably because dump trucks turn up every hour or so and dump cash onto everything which probably makes everyone feel that everything they do is awesome, even if it isn’t.
- thereare5lights 6y agoYou think Google Cloud is gonna shut down?
- blickentwapft 6y agoWell that’s what they said if they don’t get to #2 Just search google for the topic of google cloud shutdown, many speculate it. https://www.theinformation.com/articles/google-brass-set-2023-as-deadline-to-beat-amazon-microsoft-in-cloud https://www.theinformation.com/articles/google-brass-set-202...
- te_chris 6y agoI mean maybe I’m not their dream customer or whatever, but we’re happy with google cloud for our purposes - GKE, CloudSQL, Redis. I really enjoyed the essay and surely is some truth, but these products have all been pretty good for us.
- blickentwapft 6y agoNo doubt what is there works and works well. The issue is that developer confidence is very low due to google being in a never ending relentless drive to cancel stuff.
- EE84M3i 6y agoHonestly I just use GCP for everything only because AWS console logs me out all the time and 2faing with TOTP is a pain.
- djhworld 6y agoHas AWS ever sunsetted a service? I know they deprecated SimpleDB but I don't think they ever actually shut it down for existing customers, that might have changed in the last few years though.
- code4tee 6y agoAs you mention my understanding is that that there’s one service no longer offered to new customers but they are still supporting it for those that were using it. This is a big difference between AWS and Google’s approach to customers. A number of friends’ companies got hit really hard when Google suddenly decided they no longer wanted to do something anymore (regardless of what their customer thought). That list is big and growing: killedbygoogle.com
- discordance 6y agoOne thing that I don't understand about all this deprecation talk, as pointed out here: > So when it comes to shouldering the burden of compatibility, you need to pay for it. Not us. Surely if there are shoppers/customers affected by a deprecated service on GCP (or any cloud provider), then that would indicate a paying customer behind it. That payment should at least cover costs of running that service (infra, development, software and maintenance). In that case, why deprecate at all? - version the API and continue running it as long as it economically makes sense?
- Illniyar 6y ago> I’m not actively developing on AWS, so I don’t have as much of a sense for how often they sunset APIs that they have previously dangled alluringly before unwitting developers. SimpleDB still works, it's not even deprecated or grandfathered to not accept new users. There is really nothing else you need to know about how AWS treats deprecation than that single example. Deprecation is practically unheard of in AWS. If it does happen you can be damn sure it takes years to actually remove obsolete functionality and there is a fairly easy migration path to something of equivalent functionality.
- rikroots 6y agoEC2 vs EC2-classic. I got badly burned (mentally) because I had to learn about creating EC2 instances using the company AWS account created before 2014, but then needed to create instances on a client account created in 2014. Also: classic vs application load balancers - especially the health checks. That one drove me nuts for weeks! AWS never seems to "deprecate" anything, but they do enjoy adding services which are very similar to other services but guaranteed to trip people (ie: me) up when it comes to the buried-in-the-documentation details.
- jto1218 6y agothe main thing here though is the older things you’re moving away from in those cases are still around. AWS didn’t remove classic load balancers and force you onto application load balancers.
- rikroots 6y agoAgreed. But they did deprecate EC2-Classic. "The EC2-Classic platform was introduced in the original release of Amazon EC2. If you created your AWS account after 2013-12-04, it does not support EC2-Classic." https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-classic-platform.html https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-clas...
- zwily 6y ago
- lazzlazzlazz 6y agoTen years ago it would've been inconceivable to me, but I have to admit that my default assumption is that Google cannot follow through on any of its projects. It is no longer a "live player"[1] and lumbers along purely on its draining intellectual endowment and incumbency. Network effects and increasing anti-competitive practices will keep Google at the top for years to come, but without a cultural reinvention it cannot possibly regain the prestige it once held as an institution. [1] https://medium.com/@samo.burja/live-versus-dead-players-2b24f6e9eae2 https://medium.com/@samo.burja/live-versus-dead-players-2b24...
- rst 6y agoCan't help wondering if some of the fall-off in Rails usage is due to a similar attitude toward deprecation of formerly supported APIs, which has made upgrading large Rails apps to a new major release a pretty significant project. Things they've removed have included the entire original ActiveRecord query API, and the RJS templating system for Javascript. Those two required rewrites of significant portions of any app that tried to bridge the transition using only supported APIs. And every new point release (say, 5.1 to 5.2) brings a enough more minor deprecations to make an upgrade not a task, but a project. That's forcing a lot of significant rework, and every one of those gives people a chance to just take their project elsewhere. (There's actually a third alternative. The release after these two major components were removed from core Rails, they were still semi-supported as add-on libraries. In both cases, core support for those was ultimately cut off -- but people with old apps could try to keep at least portions of them working to minimize the damage. I've done that to help avoid rewrites in components of an older Rails app. I didn't support all of either old API -- for example, rewriting uses of deprecated options to `belongs_to` was easier than keeping them on life support. But on balance, it was easier than the rewrites.)
- aaanotherhnfolk 6y agoIt is a total hassle to keep up with Googlers changing everything constantly. It's not just GCP it's every platform they control. Try keeping a website on the right side of Chrome policies, a G Suite app up, a Chrome extension running. Thousands of engineers chasing promotions by dropping support for live code. If it was their code they wouldn't do it. The org is broken. If you want to see what mature software support looks like, check out Microsoft. Win32 binaries I wrote in college still run on Win 10. Google looks unimpressive by comparison. But they all got promoted!
- skohan 6y agoUnfortunately I understand that Azure is not exactly what one would call "mature software". I have a colleague who's been using it for a few months, and he complains about it constantly. He's had to submit a couple of pull requests for somewhat silly issues like string escaping not working properly.
- wutwutwutwut 6y agoI don't have the same issues as your colleague. I've been using Azure for 8 years and rarely run into any issues. Maybe his issues isn't with Azure.
- skohan 6y agoI've been hiring dev ops engineers lately, and the consensus seems to be in the candidates I've talked to that all of the cloud providers are somewhat painful to work with. I've worked the most with AWS so I'll use it as an example, but it seems like they sell on "new services", so they are incentivized to release quickly, which leads to services with a lot of holes and poor documentation, making it almost essential to get paid support to work around these issues. It makes me wonder what it would look like to build a minimal cloud product which focused on a few core services with an emphasis on reliability, performance and developer ergonomics.
- EarthLaunch 6y agoThat sounds like DigitalOcean’s approach.
- Jgrubb 6y agoIdk, DO is adding a lot of managed services lately so it doesn't feel like they're going for the simple, well implemented commodity play for the long run.
- zwily 6y agoManaged services are where the money is. :)
- RonanTheGrey 6y agoManaged services are where the lock-in is; or perhaps more generously, where the "increased friction to change providers" arises. If your deployment is nothing more than scp from the post-build products on Github, you can use literally any server anywhere with SSH access. No lock in. But if your deployment is a button click from inside a DO managed service, well... you're SOL if you want to move. You have to build all the stuff you avoided building before (the time savings and therefore money savings). I really feel like some combination of the two should be possible. I've not yet seen a host come along that offers it. No large company would because they want reliable revenue generated due to lock in. I've thought about building it. The older I get the more it interests me. I've got all the basic scripts to make it work. Maybe I'll dive in one of these days..
- nonbirithm 6y agoTwo things this essay made me think about. First: Why don't more programs or services go the `make-obsolete` route and allow people to use deprecated APIs forever? If maintaining compatibility is the goal then I can't see how removing a function in a new API version will ever work. Maybe it's because companies are expecting people to be dumb and call support when they use this deprecated API that was specifically designated as unsupported. "But I can use it," they'd say, and still complain that it breaks or something. Maybe that workload is what they're trying to avoid. But maybe they'd silently move away instead if continuing to use the platform meant rewriting everything. Second: Why don't people usually have automated API refactoring tools? When I was trying to port a Minecraft mod to a later version I found a bunch of things had changed in the engine. Okay, go to MCP and look at what changed. Guess what? It's all a bunch of Markdown. They painstakingly went through the process of labeling every single API change and method renaming and so on, and they put it all in Markdown. There was so much missed potential there. Imagine if you had a policy encouraging your developers to put down every API change you make in your program in a machine-readable, schematized format that could be printed to a webpage or Markdown or something else, but could also be combined with a static analysis tool to at least print out the parts that need changing, if not refactor them, just like Google's internal tooling? If developers don't notate those changes by hand then that information is going to be permanently confined to unparseable changelogs and obscure IRC conversations. That's the kind of thing that a semver increment can never capture the nuance of. Why guess what broke or manually parse changelogs based on a major version increment when you can have a computer do all the work for you? Maybe it's because a changelog is "information to throw away," that you'd have the painful time trying to read through the moment things break and then can forget about a couple of days later when the refactoring is done. But the changelogs and migration steps are essentially a bridge closing a chasm, with your entire userbase on one end trying to get to the other, and if it's not made easy enough for them to cross they will either give up and leave or stay on the other side forever.
- k__ 6y agoWeren't GCP users running around telling everyone "Google only shuts down consumer products and not its cloud services!!"
- tedd4u 6y agoWe’ve been in GCP for 5 years and this really hasn’t been an issue for us. Good price, solid performance and reliability, some fancy stuff you can’t get elsewhere.
- crazygringo 6y agoThis very long article doesn't describe even a single instance of anything GCP has deprecated. It's a long rant with a bunch of f-words, and the claim that he gets deprecation e-mails "about once a month". Can someone who is informed point to actual GCP services that have been, or are being, deprecated? From the article, I have no idea whatsoever if this is some huge actual problem with core services... or pulling support for ancient versions of Linux... or sunsetting experimental/beta services that never had guarantees to begin with. I'd find it pretty surprising for a platform as relatively new as GCP to already be deprecating anything meaningful, so I'd really appreciate if anyone has actual facts here. (Also I know a lot of people who use GCP, and I've never heard anyone complaining about services being deprecated, so to hear someone complaining about it happening monthly is pretty surprising.)
- mplanchard 6y agoCan’t blame you for missing it given the length of the article, but there’s this paragraph towards the end: > I know I haven’t gone into a lot of specific details about GCP’s deprecations. I can tell you that virtually everything I’ve used, from networking (legacy to VPC) to storage (Cloud SQL v1 to v2) to Firebase (now Firestore with a totally different API) to App Engine (don’t even get me started) to Cloud Endpoints to… I dunno, everything, has forced me to rewrite it all after at most 2–3 years, and they never automate it for you, and often there is no documented migration path at all. It’s just crickets.
- gundmc 6y agoI just created a new firebase database for a personal project a couple months ago. They recommend using firestore now, but as far as I can tell there is nothing stopping you from using firebase and it still works fine. This seems to be the type of deprecation he is advocating for. Similarly, there was tooling released to upgrade Cloud SQL versions: > In 2016, we started offering Second Generation instances to Cloud SQL customers. Second Generation instances offer improved performance, availability, and storage capacity. In October, 2018, we released a tool for upgrading First Generation instances to Second Generation. On January 29, 2019, we deprecated First Generation instances in favor of Second Generation. I think maybe Steve's past experiences from within Google are causing him to project the same behaviors onto GCP products, when it doesn't seem to be the case. Though, admittedly I did get bit by the Python 2 issue as well.
- micimize 6y agoThere are other tradeoffs between cloud providers that are important to keep in mind here. In my experience, GCP has been easier to get started with, and has offerings that are by-and-large more comprehensible. One thing I really appreciate is that a lot of their client libs have automatic auth within GCP (last time I used AWS this wasn't the case or I didn't know about it). As someone who hasn't been burned by it personally, it is hard to quantify the actual risk and maintenance cost of GCP's deprecation policy, but I know decision makers at larger organizations that are rightfully afraid of it.
- manquer 6y agoEasier to get started ? Their UI , IAM architecture and firebase being kind of separate is so confusing . Aws used to be simpler , while they are screwing it up now, the recent route53 upgrade was terrible , a single click action has now become 4-5 clicks they are still better than GCP. Azure has the really the best interface (outside of DO) , it is easy to go to related and nested resource in one freaking app. Both google and aws end up forcing you to open three four tabs to setup interconnected apps . DO interface is really really good ,however they don’t have the complexity of features that the big three do , so not a fair comparison
- micimize 6y agoThat's just been my experience – I remember having much more pains trying to get AWS IAMs and permissions to work, and I really like that they give you suggestions like "this machine could be smaller" or "this role never actually uses all these permissions." Also I haven't worked _that_ much with firebase, but it seems like a great example of the benefit of using GCP. Firebase is a cohesive and accessible solution to a lot of what can be fairly nightmarish technical problems. This kind of thing will always depend on the project/team/team size, but I'm just trying to say that there are significant benefits to GCP that should be considered.
- manquer 6y agoGoogle are not competing with DO for developer mindspace, for large enterprises stability matters a lot more than new features and enterprise support matters too, for startups serving enterprises they don't do much either, what's left is consumer focused companies like SnapChat who can thrive on just innovative new tech. I can get Microsoft on a call anytime, I have account managers responsible who talk to me atleast once a month, reach their product teams, get preview access, get the MS account manager of my customer to help with a deal, put them in front of my customer, help with compliance, even get their sales guys to recommend my product. To a lesser extent I can do a lot of that with AWS too, with even sub $100k/year spends they will still put an account manager for you. I am not sure any of this was possible with GCP for most customers. It is extremely hard to get a human from Google to talk to you even at $100k+/year GCP spends. Google has contracted a lot of partners to do all the heavy lifting in support for them so they don't have to do the hard work. It does not work, the partners can not do much beyond what is available on the portal or clarify beyond the documentation. Azure serves enterprises really well, and has really made effort with developers and their support for startups in fantastic, AWS is not as good yet, however it feels like they are really trying and their tech popularity works in their favour and they care about backward compatibility a lot S3 API from 2006 still works. With Google and GCP it does not even look as though they are trying at all.
- lowlevel 6y agoI've been saying this about Google for a decade... everyone thinks I'm nuts.
- xenihn 6y ago>Businesses are taking a mercenary’s accounting of their dual mobile teams (iOS and Android), and starting to realize that those phony-sounding dog-and-pony-show cross-platform development systems like Flutter and React Native have real teeth, and using them could cut their mobile team sizes in half, or alternately, make them twice as productive. Is there much Flutter and React Native dev going on at big companies outside of Google and Facebook? I know plenty of smaller companies are using them because they don't have what sometimes feels like near-infinite money to throw at mobile engineers, but I can't think of a single Big Name On Blind with iOS or Android position listings that mention Flutter or RN. They're all native. Even at Google and Facebook, usage of either of their respective frameworks seems to be an exception and not the norm, and they're still just components in a larger native project. I wonder if the goal is to eventually re-write everything? But that seems impossible given the size of these applications' source.
- jedberg 6y agoAnd then there is AWS, which has depreciated exactly one service, SDB, but only after they created a much better replacement (DynamoDB) and offered to help migrate all of their large customers, so they could get the usage percent so low that almost no one was affected by the shutdown.
- Aperocky 6y agoDisclaimer: AWS SDE The focus on consistent behavior and once launch, never deprecate practice has caused many headaches, I personally know of control planes specifically written to accommodate old behaviors that a few customers had years ago even when the entire service has been updated. But IMO this is still much better than deprecating production services and behaviors on the fly.
- yjftsjthsd-h 6y agoBut by making in Amazon's problem, the customer never experiences breakage, and that's a huge win.
- jedberg 6y agoWhich, I would argue, is an important lesson for Google to learn if they ever want to be #2.
- znpy 6y agoI would like to offer some kind words for the author of this post but in all honesty I can't. Why is that guy still giving money to GCP if it's so bad? Go back to AWS. There's a reason if AWS is still the market leader.
- tschellenbach 6y agoAndroid is the top example of this by far, everything is half finished & deprecated.
- deleted 6y ago[deleted]
- lordleft 6y agoThis is why Microsoft, for all its faults, has huge mindshare in the enterprise: they don't give up on anything, and when they do, they give you years to make the transition.
- irrational 6y agoThis puts into words what I have suspected for a long time. When we were considering which cloud platform to move onto, we considered Google Cloud for about five seconds before someone said “How long until they kill it?”. And all of us knew exactly what they meant. It feels like Google’s main mode of operation is killing projects. We ended up going with AWS.
- sabujp 6y agoGoogle messed up when it sold boston dynamics (where's my cooking, dishwashing, and laundry (folding) robot?), didn't buy github, and sold motorola (i just bought my wife a motorola edge)
- antoncohen 6y agoPeople are confusing new versions of things, or new APIs, or new products, or not recommenced anymore, with actually removing products. From this thread people are complaining about: - Datastore -> Firestore in Datastore Mode: This was a seamless transition with no API change, Google changed the underlying tech. - Firebase -> Firestore: Never happened. They are different products. The Firebase Realtime Database still exists. - gcloud CLI updates: It is a CLI tool, it gets new versions. - App Engine with Python 2.7: It still exists, you can still use it. There is a new App Engine v2 that supports Python 3. - Cloud SQL v1 to v2: They had a tool to automatically upgrade, it set up replication and switched over. AWS has new versions too. RDS Aurora v1 (MySQL 5.6) can't be upgraded in-place to RDS Aurora v2 (MySQL 5.7)[1]. AWS Lambda runtimes get deprecated[2]. [1] https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.20180206.html https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide... [2] https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html https://docs.aws.amazon.com/lambda/latest/dg/runtime-support...
- bilater 6y agoAm I in the minority being a GCP fan? Articles like these leave me conflicted because on the one hand he's right but on the other hand I actually really like GCP and Firebase is a godsend. It would really suck if GCP goes under.
- dangoor 6y agoWhile I agree that GCP's deprecation policy is painful, I don't think he's painting a compelling picture that the deprecation policy, specifically, is the reason GCP isn't ranked higher. Taking two of the examples of "bad platform moves": Python 3 and Apple. Where I work, we are simultaneously dealing with Python 3 and GCP deprecations[1], and it sucks. But Python is more popular than ever![2] Yes, some people (including us, at least for our website code) left Python, but lots and lots of people have moved to Python 3. I've seen lots of people say "oh, the move from 2 to 3 wasn't that bad because of the tooling." That's probably true, and we probably wouldn't be moving to Go were it not for the fact that we had API changes _and_ Python's changes to deal with (and Go gives us other benefits). And then there's Apple. Apple has a long history of maintaining compatibility for a time, and then getting rid of the bits that are holding them back. There are tradeoffs. Maybe Android doesn't break things for developers, but Apple makes it so that iPhone users can keep updating their phones to the latest OS (and apps) for much longer than the typical Android phone. Because of deprecations and a general desire to make apps that fit the platform, developers of popular apps on iOS put the time into updating them, and these apps are really nice to use as a result. I think fit and finish on non-first-party native Mac apps tends to be better than those on average on Windows, though that's just my opinion. Carrying backwards compatibility comes with tradeoffs, and it's possible to be successful by making different tradeoffs than maximizing backward compatibility. [1]: https://blog.khanacademy.org/go-services-one-goliath-project/ https://blog.khanacademy.org/go-services-one-goliath-project... [2]: https://redmonk.com/sogrady/2020/07/27/language-rankings-6-20/ https://redmonk.com/sogrady/2020/07/27/language-rankings-6-2...
- pragmatic 6y agoWhat is the fourth cloud offering that may be number 3 soon. I've used AWS and Azure gig.current uses GCP (don't get me started on that) but what is the fourth?
- doonesbury 6y agoWell, hmmm, if only there was one or two more FUs then I would have agreed with the Op.(sarcasm). A phd quit my employer and went to google. On last week we were discussing relative differences. He pointed out searching for X really had no wrong results and even if you didn't like it who you gonna call? Google probably is a little siloed from customers in a way many other business are not. Our IT systems deal in money. There's nowhere to run and hide from customers.
- sukilot 6y agoThe main problem of Google Cloud is simply that that no amount of money can pay off a 10 year late start in a race against the #1 incumbent. Microsoft still wins on the desktop. The only way to beat them was to compete in new emerging markets.
- neop1x 6y agoThat's the price you pay for being lazy and using closed, proprietary technologies and acting on their marketing. Like GCP and AWS were the only clouds there. Like you had to have everything hosted by them under "planet-scale" buzzword.
- luord 6y agoOne thing I was left curious about after reading this is, what is that third cloud that Google could fall behind of? I know they're after AWS and Azure, but there are several candidates for that fourth place.
- hyperdimension 6y agoAlibaba, I think. Probably the 'natural' choice for Chinese-facing developers, but I think Azure has a region there as well.