<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">>
  <channel>
    <title>gcp on Daniel Compton</title>
    <link>https://danielcompton.net/tags/gcp/index.xml</link>
    <description>Recent content in gcp on Daniel Compton</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 15 May 2024 14:00:00 +1300</lastBuildDate><atom:link href="https://danielcompton.net/tags/gcp/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>What went wrong with UniSuper and Google Cloud?</title>
      <link>https://danielcompton.net/google-cloud-unisuper</link>
      <pubDate>Wed, 15 May 2024 14:00:00 +1300</pubDate>
      
      <guid>https://danielcompton.net/google-cloud-unisuper</guid>
      <description>Update 2024-05-21: Miles Ward has an update with more details in this X thread:
UniSuper&amp;rsquo;s production Google Cloud VMware Engine (GCVE) private cloud was automatically deleted one year after it&amp;rsquo;s creation due to a misconfiguration in how it was created. When it was created, there was a bug in the creation script which passed a null value. This caused the private cloud to be created with a one year subscription, rather than a perpetual one.</description>
      <content:encoded><![CDATA[<p><strong>Update 2024-05-21:</strong> Miles Ward has an update with more details in this <a href="https://x.com/milesward/status/1792909048830214607">X thread</a>:</p>
<p>UniSuper&rsquo;s production Google Cloud VMware Engine (GCVE) private cloud was automatically deleted one year after it&rsquo;s creation due to a misconfiguration in how it was created. When it was created, there was a bug in the creation script which passed a null value. This caused the private cloud to be created with a one year subscription, rather than a perpetual one. After one year passed, Google Cloud dutifully deleted the private cloud.</p>
<p>The rest of this post is still relevant for more context, but it is now clear that this was indeed a Google Cloud bug. I remain puzzled why the communication over this incident was so bad. By their silence, Google Cloud let millions of people think that they had deleted a company&rsquo;s entire Google Cloud environment. I&rsquo;m also confused why this information came out via a non-employee on Twitter rather than through official channels.</p>
<hr>
<p><strong>Update 2:</strong> Google Cloud has <a href="https://cloud.google.com/blog/products/infrastructure/details-of-google-cloud-gcve-incident/">published a blog post</a> explaining exactly what happened. The details do bear out that this was entirely a Google Cloud issue from start to finish, with no fault on the part of UniSuper.</p>
<p>Over the past two weeks, UniSuper, an Australian superannuation fund, faced every cloud user&rsquo;s nightmare: their cloud provider deleted their data. From May 2nd to 13th, UniSuper experienced a major outage and in several updates <a href="https://www.unisuper.com.au/contact-us/outage-update">blamed Google Cloud</a> for the incident.</p>
<blockquote>
<p>The disruption of UniSuper services was caused by a combination of rare issues at Google Cloud that resulted in an inadvertent misconfiguration during the provisioning of UniSuper’s Private Cloud, which triggered a previously unknown software bug that impacted UniSuper’s systems. This was an unprecedented occurrence, and measures have been taken to ensure this issue does not happen again.</p>
</blockquote>
<p>This culminated in a <a href="https://www.unisuper.com.au/about-us/media-centre/2024/a-joint-statement-from-unisuper-and-google-cloud">press release</a>, jointly signed by Google Cloud CEO Thomas Kurian.</p>
<blockquote>
<p>Google Cloud CEO, Thomas Kurian has confirmed that the disruption arose from an unprecedented sequence of events whereby an inadvertent misconfiguration during provisioning of UniSuper’s Private Cloud services ultimately resulted in the deletion of UniSuper’s Private Cloud subscription.</p>
<p>This is an isolated, ‘one-of-a-kind occurrence’ that has never before occurred with any of Google Cloud’s clients globally. This should not have happened. Google Cloud has identified the events that led to this disruption and taken measures to ensure this does not happen again.</p>
<p>UniSuper had duplication in two geographies as a protection against outages and loss. However, when the deletion of UniSuper’s Private Cloud subscription occurred, it caused deletion across both of these geographies.</p>
<p>Restoring UniSuper’s Private Cloud instance has called for an incredible amount of focus, effort, and partnership between our teams to enable an extensive recovery of all the core systems. The dedication and collaboration between UniSuper and Google Cloud has led to an extensive recovery of our Private Cloud which includes hundreds of virtual machines, databases and applications.</p>
</blockquote>
<p>The press release uses vague language, obscuring the technical details of what happened. Given the lack of precision, I assumed this was written solely by UniSuper. Gergely Orosz <a href="https://x.com/GergelyOrosz/status/1788531368701346100">checked</a> with Google Cloud, and they confirmed that this was an official joint statement.</p>
<p>Given the few details provided, I did more research to try to understand what exactly happened.</p>
<h2 id="what-was-deleted">What was deleted?</h2>
<p>Google Cloud doesn&rsquo;t have a resource called a &ldquo;Subscription&rdquo;; the closest concept would probably be a &ldquo;Billing Account.&rdquo; While Google has a Virtual Private Cloud (VPC), you wouldn&rsquo;t describe it as an instance, and deleting a VPC doesn&rsquo;t seem like it would have the drastic effects described.</p>
<p>However, if you research UniSuper&rsquo;s Google Cloud migration, you will see that they use <a href="https://cloud.google.com/vmware-engine?hl=en">Google Cloud VMWare Engine</a> (GCVE). From <a href="https://www.itnews.com.au/news/unisuper-60-percent-complete-in-cloud-shift-596583">June 2023</a>:</p>
<blockquote>
<p>The superannuation fund has shifted almost all non-production workloads out of its data centres and into Google Cloud so far.</p>
<p><strong>UniSuper used the Google VMware Engine (GCVE) managed service</strong> and engaged partner Kasna to assist with the migration.</p>
</blockquote>
<p>GCVE has a resource called a <a href="https://cloud.google.com/vmware-engine/docs/concepts-private-cloud">private cloud</a>. A private cloud contains the hosts, management server, storage, and networking for a <a href="https://docs.vmware.com/en/VMware-Cloud-Provider-Stack/index.html">VMware stack</a>.</p>
<p>Let&rsquo;s look at the <a href="https://cloud.google.com/vmware-engine/docs/reference/rest/v1/projects.locations.privateClouds/delete">API method</a> for <a href="https://cloud.google.com/vmware-engine/docs/private-clouds/howto-delete-private-cloud#delete_a_private_cloud">deleting a private cloud</a>:</p>
<blockquote>
<p>A PrivateCloud resource scheduled for deletion has PrivateCloud.state set to DELETED and expireTime set to the time when deletion is final and can no longer be reversed. The delete operation is marked as done as soon as the PrivateCloud is successfully scheduled for deletion (this also applies when delayHours is set to zero), and the operation is not kept in pending state until PrivateCloud is purged. PrivateCloud can be restored using privateClouds.undelete method before the expireTime elapses. <strong>When expireTime is reached, deletion is final and all private cloud resources are irreversibly removed and billing stops.</strong></p>
</blockquote>
<p>All private cloud resources being irreversibly removed sounds a lot like the outage that UniSuper had. Some people have said that Google deleted their entire Google Cloud account. This seems less likely to me because Google has a number of safeguards and delays when <a href="https://cloud.google.com/resource-manager/docs/creating-managing-projects#shutting_down_projects">deleting projects</a>:</p>
<blockquote>
<p>Warning: You can recover most resources if you restore a project within the 30-day period. Some services have delays in restoring and you might need to wait some time for services to be restored. Some resources, such as Cloud Storage or Pub/Sub resources, are deleted much sooner. These resources might not be fully recoverable even if you restore the project within the 30-day period.</p>
</blockquote>
<p><strong>Update:</strong> User smcwhtdtmc on HN <a href="https://news.ycombinator.com/item?id=40366867">pointed out</a> the Terraform resource for <code>vmwareengine_private_cloud</code> <a href="https://github.com/hashicorp/terraform-provider-google/blob/b956f357e58360a4d09372b4fe0fc83560b6e26f/google/services/vmwareengine/resource_vmwareengine_private_cloud.go#L631">hard-codes</a> the <code>delayHours</code> parameter to 0, i.e. immediate deletion. All private cloud resources being immediately irreversibly deleted sounds a lot like the outage that UniSuper had.</p>
<h2 id="how-did-everything-get-deleted">How did everything get deleted?</h2>
<p>UniSuper&rsquo;s press release says:</p>
<blockquote>
<p>UniSuper had duplication in two geographies as a protection against outages and loss. However, when the deletion of UniSuper’s Private Cloud subscription occurred, it caused deletion across both of these geographies.</p>
</blockquote>
<p>Again, the language here is frustratingly vague and passive but implies that Google Cloud deleted multiple independent private clouds in separate regions. Google Cloud doesn&rsquo;t have a &ldquo;geography&rdquo;; it has <a href="https://cloud.google.com/about/locations">zones and regions</a>. At first read, it sounds like they are describing a multi-region setup. Google Cloud has two Australian regions, Sydney and Melbourne, which would make sense.</p>
<p>Looking closer at the docs, though, GCVE offers two kinds of private clouds: a standard private cloud hosted in a single zone or a &ldquo;<a href="https://cloud.google.com/vmware-engine/docs/private-clouds/howto-create-stretched-private-cloud">stretched private cloud</a>&rdquo;. A stretched private cloud runs in a single region across two zones, with a third zone as a witness zone for failover. A close reading of the press release doesn&rsquo;t rule out UniSuper having a single stretched private cloud running in a single region.</p>
<p>So we either have a single stretched private cloud being deleted or two separate private clouds being deleted. A single stretched private cloud seems more likely to me, but I can&rsquo;t be definitive.</p>
<h2 id="how-was-it-deleted">How was it deleted?</h2>
<p>So we come to the big question: How were the private cloud(s) deleted? The press release makes heroic use of the passive voice to obscure the actors: &ldquo;an unprecedented sequence of events whereby an inadvertent misconfiguration during provisioning of UniSuper’s Private Cloud services ultimately resulted in the deletion of UniSuper’s Private Cloud subscription.&rdquo;</p>
<p><strong>Update: 2024-05-21</strong> Miles Ward has the details on what actually happened in this <a href="https://x.com/milesward/status/1792909048830214607">X thread</a>. My guesses were close, but not quite right.</p>
<p>Based on my experiences with Google Cloud&rsquo;s professional services team, they, and presumably their partners, recommend Terraform for defining infrastructure as code. This leads to several possible interpretations of this sentence:</p>
<ol>
<li>UniSuper ran a <code>terraform apply</code> with Terraform code that was &ldquo;misconfigured&rdquo;. This triggered a bug in Google Cloud, and Google Cloud accidentally deleted the private cloud.</li>
</ol>
<p>This is what UniSuper has implied or stated throughout the outage.</p>
<ol start="2">
<li>UniSuper ran a <code>terraform apply</code> with a bad configuration or perhaps a <code>terraform destroy</code> with the prod <a href="https://developer.hashicorp.com/terraform/language/values/variables#variable-definitions-tfvars-files">tfvar file</a>. The Terraform plan showed &ldquo;delete private cloud,&rdquo; and the operator approved it.</li>
</ol>
<p>Automation errors like this happen every day, although they aren&rsquo;t usually this catastrophic. This seems more plausible to me than a rare one-in-a-million bug that only affected UniSuper.</p>
<ol start="3">
<li>UniSuper ran an automation script provided by Google Cloud&rsquo;s professional services team with a bug. A misconfiguration caused the script to go off the rails. The operator was asked whether to delete the production private cloud, and they said yes.</li>
</ol>
<p>I find this less plausible, but it is one way to interpret Google Cloud as being at fault for what sounds like a customer error in automation.</p>
<h2 id="maybe-it-was-a-google-cloud-bug">Maybe it was a Google Cloud bug?</h2>
<p>There are a few holes in my theory that this was primarily UniSuper&rsquo;s fault:</p>
<ol>
<li>On <a href="https://www.unisuper.com.au/contact-us/outage-update">Tuesday, 7 May</a>, UniSuper attributed a statement to Google Cloud in which Google Cloud admitted fault for the outage:</li>
</ol>
<blockquote>
<p>The disruption of UniSuper services was caused by a combination of rare issues at Google Cloud that resulted in an inadvertent misconfiguration during the provisioning of UniSuper’s Private Cloud, which triggered a previously unknown software bug that impacted UniSuper’s systems. This was an unprecedented occurrence, and measures have been taken to ensure this issue does not happen again.</p>
</blockquote>
<ol start="2">
<li>
<p>Thomas Kurian (apparently) signed off on a joint statement with UniSuper. This statement is less accusatory than UniSuper&rsquo;s other statements but doesn&rsquo;t clarify which party was at fault.</p>
</li>
<li>
<p>Google Cloud hasn&rsquo;t released any pushback to the story, either directly or through proxies in the media.</p>
</li>
</ol>
<p>Why would Google Cloud not respond to this story if it was UniSuper&rsquo;s fault? It&rsquo;s hard to say, but putting out a competing statement blaming or contradicting your customer is a bad look with that customer and <a href="https://x.com/patio11/status/1789061633865597309">with all future customers</a>.</p>
<h2 id="conclusion">Conclusion</h2>
<p>Given how little detail was communicated, it is difficult to make a conclusive statement about what happened, though I personally suspect UniSuper operator error was a large factor. Hopefully, <a href="https://www.apra.gov.au">APRA</a>, Australia&rsquo;s superannuation regulator, will investigate further and release a public report with more details.</p>
]]></content:encoded>
    </item>
    
    <item>
      <title>Penny Wise and Cloud Foolish</title>
      <link>https://danielcompton.net/penny-wise-cloud-foolish</link>
      <pubDate>Mon, 21 Mar 2022 20:37:50 +1300</pubDate>
      
      <guid>https://danielcompton.net/penny-wise-cloud-foolish</guid>
      <description>The two iron rules of cloud pricing introduced by AWS are:
 Prices never go up1 2. We will absolutely soak you on data transfer charges.  Last week Google Cloud published a post explaining how they were ignoring the first rule in favour of adopting the second.
The post was called &amp;ldquo;Unlock more choice with updates to Google Cloud’s infrastructure capabilities and pricing&amp;rdquo;, though the &amp;lt;title&amp;gt; was more straightforward: &amp;ldquo;Updates to Google Cloud’s Infrastructure pricing&amp;rdquo;.</description>
      <content:encoded><![CDATA[<p>The two iron rules of cloud pricing introduced by AWS are:</p>
<ol>
<li>Prices never go up<sup><a href="https://twitter.com/0xdabbad00/status/1503420432413724675">1</a></sup> <sup><a href="https://twitter.com/__steele/status/1506108007037374468">2</a></sup>.</li>
<li>We will absolutely soak you on data transfer charges.</li>
</ol>
<p>Last week Google Cloud published a <a href="https://cloud.google.com/blog/products/infrastructure/updates-to-google-clouds-infrastructure-pricing">post</a> explaining how they were ignoring the first rule in favour of adopting the second.</p>
<p>The post was called &ldquo;Unlock more choice with updates to Google Cloud’s infrastructure capabilities and pricing&rdquo;, though the <code>&lt;title&gt;</code> was more straightforward: &ldquo;Updates to Google Cloud’s Infrastructure pricing&rdquo;. The main announcements in the post were:</p>
<ul>
<li>Prices were being raised on Cloud Storage (some decreases on Storage too), Persistent Disk Snapshots, Cloud Load Balancing, Network Intelligence Center, and Cloud Ops Monitoring (Weirdly, the Monitoring price increase was only mentioned in customer emails, not in the blog post).</li>
<li>A new, cheaper archive snapshot option for persistent disks is coming later this year.</li>
<li>Storage Transfer Service will be free for the rest of the year to let customers move files into different buckets.</li>
</ul>
<p>The common theme with the price changes is the introduction of data transfer fees, an increase in fees for active storage tiers, and a decrease in archive storage cost.</p>
<blockquote>
<p>So, today, we are announcing we will adjust our infrastructure product and pricing structure &hellip; [These changes] are also designed to better align with how other leading cloud providers charge for similar products, so customers can more easily compare services between leading cloud providers.</p>
</blockquote>
<p>The main alignment here is Google adding data transfer charges to match AWS and breaking architectural promises they&rsquo;ve made to their customers in the process. This is an incredibly short-sighted move and will damage customer trust in Google Cloud for many years.</p>
<h2 id="cloud-cost-and-cloud-architecture">Cloud Cost and Cloud Architecture</h2>
<p>As Corey Quinn so eloquently put it, <a href="https://www.lastweekinaws.com/blog/the-key-to-unlock-the-aws-billing-puzzle-is-architecture/">&ldquo;all cloud cost is fundamentally about architecture&rdquo;</a>. When designing for the cloud, pricing is one of the most important signals to take into account. Pricing and quotas indicate how the Cloud provider has designed the product, how they want you to think about the product, and how you should use it.</p>
<p>The pricing changes Google is making strike at the heart of their customer&rsquo;s applications and will force many customers to rearchitect their applications, or pay a much larger amount to keep their existing architecture.</p>
<p>One of GCP&rsquo;s most differentiated features has been their <a href="https://cloud.google.com/docs/geography-and-regions">multi-region</a> and <a href="https://cloud.google.com/about/locations#global-products">global services</a> like <a href="https://cloud.google.com/load-balancing">Cloud Load Balancing</a>, <a href="https://cloud.google.com/storage/docs/locations">Cloud Storage</a>, <a href="https://cloud.google.com/bigquery/docs/locations">BigQuery</a>, <a href="https://cloud.google.com/blog/topics/developers-practitioners/demystifying-cloud-spanner-multi-region-configurations">Cloud Spanner</a>, and <a href="https://cloud.google.com/kms/docs/locations#global">Cloud KMS</a>. These let you operate on the same resources in multiple regions, giving you more resilience to an outage in a single region. As a bonus, Google&rsquo;s multi-region services often come with strong consistency across regions so customers don&rsquo;t have to deal with consistency at the application layer.</p>
<p>In contrast, most AWS services are region oriented, and when AWS provides multi-region services like <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.conflict-resolution">DynamoDB Global Tables</a> and <a href="https://aws.amazon.com/premiumsupport/knowledge-center/s3-crr-replication-time/">S3 Cross-Region Replication</a>, you need to handle eventual consistency yourself.</p>
<p>Google&rsquo;s <a href="https://cloud.google.com/docs/geography-and-regions#application_deployment_considerations">message</a> was that multi-region services would give you higher availability. <em>You too can run like Google</em>. From the <a href="https://cloud.google.com/blog/products/storage-data-transfer/store-it-analyze-it-back-it-up-cloud-storage-updates-bring-new-replication-options">announcement</a> of dual-region buckets:</p>
<blockquote>
<p>With this new option, you write to a single dual-regional bucket without having to manually copy data between primary and secondary locations. No replication tool is needed to do this and <strong>there are no network charges associated with replicating the data</strong>, which means less overhead for you storage administrators out there. <strong>In the event of a region failure, we transparently handle the failover</strong> and ensure continuity for your users and applications accessing data in Cloud Storage.</p>
</blockquote>
<p>People can argue about whether Google&rsquo;s global/multi-regional control-plane provides more availability than AWS&rsquo;s region-first approach, but it was a distinctive set of features that only Google had.</p>
<h3 id="storage-changes">Storage changes</h3>
<p>The deepest architectural changes Google is making are to <a href="https://cloud.google.com/storage/pricing-announce">storage</a>:</p>
<ul>
<li>Increasing free internet egress from 1GB to 100GB per month. This matches AWS&rsquo; <a href="https://aws.amazon.com/blogs/aws/aws-free-tier-data-transfer-expansion-100-gb-from-regions-and-1-tb-from-amazon-">recent increase</a>, but is still a welcome change.</li>
<li>A mix of increases and decreases in multi-region pricing depending on the storage class and region (+50%, +25%, -40%, -25%). Standard storage pricing is unchanged.</li>
<li>A mix of increases and decreases in dual-region pricing, depending on the storage class and region. <code>nam4</code> (US) and <code>eur4</code> (Europe) are +22% on standard, +10% on nearline, -2% on coldline, and -44% on archive. <code>asia1</code> (Japan) is +10% for all storage classes except for -13% on archive storage.</li>
<li>Storage operation pricing changes have a lot of fine details, but at a high level the cost for Insert/Update/Delete operations in multi-region and dual-region buckets is doubling (100%).</li>
<li>Change in <a href="https://cloud.google.com/storage/pricing-announce#network">egress pricing</a>. If I&rsquo;m reading it correctly and the <a href="https://cloud.google.com/storage/pricing#network-pricing">existing exclusions</a> stay in place, it looks like a pretty large decrease in bucket egress for most uses. Previously 10TB of bucket egress (direct to the internet) would be charged at $0.11/GB to most of the world. Now that will be $0.02/GB from US buckets to the US, $0.05/GB to Europe, and $0.08/GB to Asia. This is a pretty large decrease, and I&rsquo;m surprised Google didn&rsquo;t make more of it in the announcement.</li>
<li>Changes to data replication pricing from <strong>$0.00 GB</strong> to <strong>$0.02/GB</strong> in <code>us</code>, <code>nam4</code>, <code>eu</code>, and <code>eur4</code>, and to <strong>$0.08/GB</strong> in <code>asia</code> and <code>asia1</code>. (These are the dual-region and multi-region bucket locations).</li>
<li><strong>Reading data from a multi-region bucket in the same continent will no longer be free</strong>, it will now be charged at the same rate as data replication. This will make many data-heavy workloads unviable with multi-region buckets.</li>
</ul>
<p>The last two changes in particular make dual-region and multi-region buckets a much less attractive offer and invalidate a lot of architectural assumptions developers will have made. Businesses that have built a high-availability architecture around multi-region buckets are now faced with the unappealing options of:</p>
<ol>
<li>Pay a lot more for replication + reading from their buckets.</li>
<li>Rearchitect their application and migrate to a single region, or perhaps a dual-region if they can make the data-replication pricing work.</li>
</ol>
<h3 id="load-balancing">Load balancing</h3>
<p>Google is also <a href="https://cloud.google.com/vpc/network-pricing#lb">increasing prices</a> on Cloud Load Balancing, adding a $0.008-$0.012/GB charge for outbound data processing.</p>
<blockquote>
<p>Starting October 1, 2022, we’ll apply an outbound data processing charge of $0.008 - $0.012 per GB (based on region) to all Cloud Load Balancing products in order to maintain consistency and alignment with the variable costs of the services across our Cloud Load Balancing portfolio.</p>
</blockquote>
<p>Depending on your <a href="https://cloud.google.com/vpc/network-pricing#internet_egress">egress rates</a> and network tier, this will amount to a 5-10% increase on internet egress, and an added cost for most kinds of internal load balancing.</p>
<h3 id="persistent-disks">Persistent disks</h3>
<p>Persistent disk snapshot pricing is <a href="https://cloud.google.com/compute/pricing-announce">also changing</a>.
I suspect this won&rsquo;t be as big a deal for most customers as the previous changes.</p>
<ul>
<li>Regional snapshots are increasing from $0.026 to $0.050 (92% increase).</li>
<li>Multi-region snapshots are increasing from $0.026 to $0.065 (150% increase).</li>
</ul>
<p>The price changes mention a &ldquo;<code>us-central1</code> baseline&rdquo; and &ldquo;United States multi-region baseline&rdquo;. This makes me think that prices in all other regions will be going up by an equivalent percentage.</p>
<p>Google also plans to introduce an archive snapshot tier later this year which will be priced at $0.019/GB/month, but with a minimum billing period of 90 days.</p>
<p>As with Cloud Storage, <strong>previously free data transfer for creation and restoration of multi-region snapshots will now be charged at inter-region rates</strong>. Restoring a 100GB multi-region snapshot will now cost $1 in the US and Europe, and more in other regions. Depending on your architecture, these charges could add up!</p>
<h2 id="why-now">Why now?</h2>
<p>On March 7th, 2022 <em>The Information</em> published <a href="https://www.theinformation.com/articles/why-aws-makes-money-and-google-cloud-doesnt">Why AWS Makes Money and Google Cloud Doesn’t</a></p>
<blockquote>
<p>[..] In a positive sign, Google Cloud CEO Thomas Kurian last month told colleagues during an internal all-hands meeting that he expects the cloud unit to be profitable later this year, according to a person who viewed the event.</p>
</blockquote>
<blockquote>
<p>Another issue is that Google Cloud has fewer high-margin services—such as cloud database and analytics software—to sell to customers than AWS does. [&hellip;] Former employees say AWS relies on these offerings for a large portion of its operating profit.</p>
</blockquote>
<p><em>The Information</em> doesn&rsquo;t mention it here, but the highest margin product AWS sells is bandwidth. Charging for data transfer is as close as you can get to pure profit in the cloud. As Cloudflare has previously <a href="https://blog.cloudflare.com/aws-egregious-egress/">demonstrated</a>, AWS likely marks up egress bandwidth by up to 8,000%, and it wouldn&rsquo;t surprise me if inter-AZ and inter-region charges were also in that vicinity.</p>
<p>If Google Cloud wants to get to profitability by the end of the year, then introducing data transfer pricing makes a lot of sense. The extra revenue from data transfer will be nearly 100% profit and go straight to Google Cloud&rsquo;s bottom line. It will be difficult for existing customers to rearchitect their applications, and most customers will probably just pay the extra charges.</p>
<p>However, if Google Cloud is trying to build the <a href="https://www.theinformation.com/articles/google-brass-set-2023-as-deadline-to-beat-amazon-microsoft-in-cloud?utm_source=hackernews&amp;utm_medium=unlock&amp;rc=ldxq7z">number two</a> cloud business behind AWS, this move is an unforced error that will damage their credibility for years.</p>
<h2 id="killed-by-google">Killed By Google</h2>
<p>Google has developed a <a href="https://killedbygoogle.com">reputation</a> for killing consumer products, and even Google Cloud has made several price increases which have changed architecture invariants, along with <a href="https://steve-yegge.medium.com/dear-google-cloud-your-deprecation-policy-is-killing-you-ee7525dc05dc">numerous deprecations</a>:</p>
<ul>
<li>2011 - <a href="http://highscalability.com/blog/2011/9/7/what-google-app-engine-price-changes-say-about-the-future-of.html">Increasing App Engine pricing</a> by 2x-10x</li>
<li>2018 - <a href="https://cloud.google.com/blog/products/maps-platform/introducing-google-maps-platform">Increasing Google Maps API pricing</a> by up to 1400%</li>
<li>2020 - <a href="https://www.theregister.com/2020/03/05/google_reintroduces_management_fee_for_kubernetes_clusters/">Reintroducing management fees for Kubernetes clusters</a></li>
<li>2020 - <a href="https://techcrunch.com/2019/08/27/google-will-kill-off-google-hire-in-2020/">Google Hire shut down</a></li>
</ul>
<p>These changes have damaged Google&rsquo;s credibility for many customers and undermined their commitment to building GCP to be an equal to AWS and Azure. Google has been trying to build customer trust with their <a href="https://cloud.google.com/blog/topics/inside-google-cloud/new-api-stability-tenets-govern-google-enterprise-apis">Enterprise API stability promise</a>, and signing many <a href="https://redmonk.com/jgovernor/2020/07/31/google-clouds-expanding-enterprise-footprint-and-the-rise-of-the-10-year-deal/">10-year deals</a> with large enterprises like Deutsche Bank, Mayo Clinic, and Sabre.</p>
<p>However the last few months have seen several shortsighted decisions:</p>
<ol>
<li><a href="https://9to5google.com/2022/01/19/g-suite-legacy-free-edition/">Charging for personal Google Workspace accounts</a> (Google Workspace comes under Google Cloud). Many of the people affected by this will be decision makers for Google Cloud purchasing decisions, and not people you want to remind about Google&rsquo;s reputation for shutting down products.</li>
<li><a href="https://www.datacenterdynamics.com/en/news/google-restructuring-and-laying-off-google-cloud-support-staff-as-it-buys-mandiant-for-54-billion/">Laying</a> <a href="https://www.reddit.com/r/googlecloud/comments/t5jp48/google_cloud_just_laid_off_its_entire_us_support/">off</a> some Cloud technical support staff and outsourcing support to third-party vendors.</li>
<li>Last week&rsquo;s Cloud price increases.</li>
</ol>
<p>Put together, it paints a picture of an organisation myopically focused on short-term profitability over long-term strategy. These changes show they don&rsquo;t understand customer perceptions of Google Cloud, and the &ldquo;rules&rdquo; of cloud pricing.</p>
<p>These changes are hard to even understand as a business strategy. Raising prices on locked-in customers feels like a move you&rsquo;d see from Oracle, not from the <a href="https://siliconangle.com/2020/07/13/google-cloud-rides-wave-remains-distant-third-place/">third-ranked</a> competitor in a rapidly expanding market.</p>
<p>My best guess as to why Google is doing this now is that Google Cloud set (or had set for them) an <a href="https://rework.withgoogle.com/guides/set-goals-with-okrs/steps/introduction/">OKR</a> to reach profitability. All of the teams are trying to increase profits, regardless of the long-term costs.</p>
<h2 id="a-different-future">A different future</h2>
<p>Google Cloud&rsquo;s strength has always been its technology. It has fewer products than AWS, but those products are more flexible and cohesive. Their IAM model is far simpler than AWS&rsquo;, and as previously outlined, Google&rsquo;s global infrastructure has offered many unique, differentiated products.</p>
<p>At a time when it&rsquo;s hard to even keep track of <a href="https://www.wiz.io/blog/chaosdb-explained-azures-cosmos-db-vulnerability-walkthrough/">Azure&rsquo;s</a> <a href="https://www.netspi.com/blog/technical/cloud-penetration-testing/azure-cloud-vulnerability-credmanifest/">many</a> <a href="https://unit42.paloaltonetworks.com/azure-container-instances/">multi-tenant</a> <a href="https://orca.security/resources/blog/autowarp-microsoft-azure-automation-service-vulnerability/">security</a> <a href="https://www.wiz.io/blog/secret-agent-exposes-azure-customers-to-unauthorized-code-execution/">vulnerabilities</a>, and multiple <a href="https://www.zdnet.com/article/aws-suffers-third-outage-of-the-month/">AWS outages</a> still in recent memory, Google Cloud should have been pressing their advantages.</p>
<p>Instead of raising prices, I think a better strategy would have been to cut prices on data transfer to nearby regions and lean into multi-region services. Google owns massive amounts of <a href="https://cloud.google.com/blog/products/networking/google-cloud-networking-in-depth-cloud-cdn">dark-fibre</a> and <a href="https://cloud.google.com/blog/products/infrastructure/learn-about-googles-subsea-cables">under-sea cables</a> connecting their data centres and could afford to lower their prices. Once inter-region transfer is cheaper, many more applications become feasible to run in high-availability, multi-region configurations. This would be a strong offering to sell, and one that is hard for Amazon and Microsoft to replicate. Customers running compute in multiple regions and using higher-margin services like <a href="https://cloud.google.com/spanner">Spanner</a> would help make back some of the revenue lost from lowering inter-region data transfer.</p>
<p>This would have been a compelling, differentiated offering, playing to Google&rsquo;s strengths. Instead, Google has altered the deal. Their customers will now be praying that they don&rsquo;t alter it further.</p>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
