Fatskills
Practice. Master. Repeat.
Study Guide: Billing, Migration, and Support
Source: https://www.fatskills.com/google-professional-cloud-architect-certification/chapter/billing-migration-and-support

Billing, Migration, and Support

By Fatskills Exam Guides Team — the exam nerds behind 28,500+ quizzes and 2.1M practice questions across 500+ global exams.

⏱️ ~15 min read

Billing can be incredibly complicated. Every organization follows a different cost model. If you’re running a startup with ten people, you’re probably charging everything to your CEO’s credit card. If you’re running a large enterprise with one source of business, one division probably funnels all the money your way. If you’re working for a company like Disney, which is a massive conglomerate and where each business takes its cloud migration journey in its own way, you probably want each business to pay for its own venture. Within the topmost billing aspect, your finance team probably needs to find a way to do accounting in a way that lets them understand who is spending all of the cloud money. This is where you need to have proper organization and labeling of your GCP account. The shift to operating expenses in the cloud can definitely be incredibly less expensive than all of the capital expenses and operating expenses required to manage everything in your on-premises environment. But when you get one massive bill versus many smaller bills, it can feel like shell shock.
Migrations are also an incredibly complex and costly event. Planning a migration will take dozens of individuals directly working on the effort to shift the organization-wide philosophy toward the cloud. While each organization has its own approach to migrating to the cloud, we’ll cover migration at a high level here, including some things you may see on your test.
Lastly, support is going to be your best friend in your journey to Google Cloud and beyond. You cannot run a multimillion-dollar business in the cloud without having a proper support team behind it. Issues and challenges come up every day in unexplainable ways—from the cloud service provider undergoing outages, upgrades, and maintenance, to issues that your own developers cause by wreaking havoc in your environment and beyond. Having a strong support team can be the X factor in improving your overall reliability and in building applications in the cloud according to best practices.

Billing Fundamentals
When it comes to billing in the cloud, your costs are determined by resource usage. In the Google Cloud Platform (GCP), you know that a resource can refer to many things, including virtual machines, databases, storage buckets, projects, folders, and so on. As you can imagine, with this level of cost granularity, it can be really difficult to understand your costs if you are not organized properly and do not have a strong labeling strategy. It’s also important that you understand your overall costs so that you can better budget and forecast across your teams and organization, and so that you can take advantage of the variety of discounts available to you as a GCP customer. Lastly, time is of the essence. Being unorganized in how you’ve structured your billing setup costs more in labor hours for teams working on cost-related issues.
In GCP, you can set up a single billing account or multiple accounts. For most organizations, having a single billing account is ideal, and it’s the easiest of the options to manage. Support contracts can attach themselves only to one billing account. So if you pay for enterprise support, you’ll need to buy one enterprise support contract for each billing account if you’re running more than one account. Multiple billing accounts are necessary for large multinational companies. Think of the Disney example: This massive conglomerate consists of many different companies, with each having its own business models and objectives, and some of which seemingly even compete against others. It doesn’t make sense to have one entity footing the bill for such an enormous organization.
A billing account defines who pays for a given set of resources, including Google Cloud resources and use of the Google Maps platform APIs. You can control access to the billing account by Cloud IAM. You’ll get a single invoice per billing account, and it operates in a single currency. So, in this instance, if you need to pay with multiple currencies, you’d probably want to have multiple billing accounts.
All projects should be linked to a billing account. If a project is not linked to a billing account, it won’t be able to use anything outside of the free services available. An online account enables you to manage your payments online, using credit, debit, or ACH Direct Debit. If you use an offline account, invoices are sent and payment is collected by check or wire transfer.

The key roles in Cloud Billing are as follows:
- Billing account: admin Managed inside of Cloud IAM, this user can enable Billing Export, view cost/spend, set budgets and alerts, and link/unlink projects. Typically someone on your finance team.
- Billing user: Managed inside of Cloud IAM, this user can link projects to billing accounts but cannot unlink them. It’s usually linked to project creators in your organization so they can ensure their projects are linked to a billing account.
- Payment profiles admin: Managed outside of GCP in the Google Payments Center, this is where you can manage how you pay for all Google products and services, including cloud, ads, and more.

Cost Control
When it comes to managing your costs, you should follow a strong naming convention so that you can query your costs effectively. This should not be manual work. If you follow infrastructure as code (IaC) best practices, your templates should be inclusive of these labels so that you don’t have to worry about discovering any rogue projects that are missing labels. Oftentimes, teams will be tracking their budget in Cloud Billing. When more fine-grained analysis is required, you can set up billing exports to BigQuery and run custom queries to find more granular billing-related data. Doing this is as simple as a one-click export in the Cloud Billing console, and your billing data will be set up as a BigQuery dataset.
Having awareness of your costs is very important, and managing the company wallet is everyone’s responsibility. Like security, you can’t just pass off cost control to the finance team alone. With tools like BigQuery, you can run petabyte-size queries. Imagine if an inexperienced data scientist runs enormous queries without realizing how much money they’re racking up for the organization. Someone’s going to be really mad! If their queries end up costing the organization ten times their salary, who knows how their management team is going to react! There are ways to ensure that this sort of activity doesn’t happen, and the most important one is to set up proper cost alerts. When you set up alerts, you can trigger budget alerts based on a threshold.

Budget alerts aren’t just useful for your cost purposes. They can also be a detective security control. Here’s an example: One of my customers had a Dataproc cluster that used up more than $100,000 of usage in two days, when it normally uses less than $1000 a day. This was the result of an attacker taking advantage of an open firewall port, attacking a vulnerable Hadoop cluster, and injecting crypto-mining malware. Had budget alerts been set up, this activity could’ve been detected and mitigated much sooner. Granted, the open firewall rule should’ve been the first misconfiguration detected.
You can view console reports, invoices, and BigQuery exports, and you can set up Google Data Studio to your BigQuery dataset to create a custom dashboard for interpreting your costs any way you want. Data Studio is an incredibly powerful visualization tool, and many online templates are available to help you create a predefined dashboard for common billing use cases.
Taking advantage of the available discounts is helpful for organizations of all sizes. There are two main types of discounts available for customers: committed use discounts and sustained use discounts. For committed use discounts (CUDs), you’ve purchased committed use contracts in exchange for deeply discounted prices. For example, let’s say you’ve forecasted your consumer demand for the next three years on GCE. Rather than paying on-demand, you decide to buy a committed use contract so that you’ll have significant discounts on your resources since you’re committing to X resources for Y years. Sustained use discounts (SUDs) are discounts that everyone will automatically get based on how long they’ve been running a resource per month. An example of this is on GCE: If you’ve run your VMs for 90 percent of the month, you may get up to 30 percent off based on the machine type you’re running. This is Google’s way of saying thank you for using its products. You can also get discounts by using preemptible VMs, and lastly, you can get contractual discounts when you’re negotiating a deal with Google Cloud Sales. Pretty much every cloud customer on every cloud provider will negotiate some type of contractual discounts based on its commitment deals.

If you can forecast your usage, why not save money? In GCP, discounts apply to the aggregate number of virtual CPUs, memory, graphics processing units (GPUs), and local solid-state drives (SSDs) within a region, so they are not affected by changes to your instance’s machine setup. Plan and forecast your spending where you can, and you can take advantage of the great savings that come with CUDs.

Migration Planning
Planning a migration to GCP is no easy feat.
It can take dozens, or hundreds of employees working on this initiative, and it will involve your entire organization undergoing a cultural adoption of cloud-first. You can imagine the people that are involved at every stage of the organization: the board of directors, C suite executives, executive sponsors, senior leaders, architects, engineers, program managers, project managers, and more. For most enterprises, migrating to Google Cloud or any cloud is a first, so they may even hire contractors and new employees who are directly focused on the effort. On Google’s side, sales teams are working on building the foundation for your enterprise transformation. And Google Cloud’s Professional Services Organization team focuses on mobilizing your migration efforts from the time the sales cycle wraps up to the processes required in planning, coordinating, executing, and managing the migration end to end.

Google Cloud’s methodology focuses on migrations in four stages: assess, plan, migrate, and optimize:
- Assess and evaluate your IT landscape and workloads.
- Plan what can move, what should move, and in what order.
- Migrate by picking a path, and get started.
- Optimize your operations and save on costs.

Resource Quotas vs. Capacity
In your migration planning efforts, you’ll need to forecast all sorts of things: what services you’ll be using, which business applications will be getting migrated, your usage, your spending, and beyond. When it comes to usage, you must understand the difference between a resource quota and capacity. Resource quotas are usage-based restrictions to prevent abuse and accidental usage of resources. Everyone gets a default resource quota. Capacity is the total amount of the actual resource that is available to you to be provisioned in your environment.
Imagine, for example, that you have requested to increase your quota to a total of 2 petabytes of SSD storage in the us-east-1 region. By doing this, you’re preventing your development team from intentionally or unintentionally going above this 2PB limit. Now you can imagine that there are thousands of GCP customers operating in a single region, and this is where capacity comes in. Even though you set that limit on your environment, it doesn’t mean that 2PB is actually available for you to use. There’s only so much SSD storage that one region can handle (until additional data centers open and they expand existing centers’ storage sizes). So it’s entirely possible that even if you set a resource quota, the region may run out of capacity sooner than your team hits that quota. That’s the intention behind reserving capacity. By reserving capacity, you are paying for resources, whether you currently use them or not, that will be reserved for your organization so that you don’t run into resource constraints at any time. Marketers talk about “infinite scalability” in the cloud, but that is factually incorrect. Only so many sticks of memory, disk, CPU, GPU, and networking can exist in one physical location. If you’re planning a massive deployment, work with your Google Cloud support team to understand the resource availability and forecast of a region. Then you can accurately predict your resource usage and align your resource quotas and capacity to it.

Remember that you can have all the resource quotas in the world, but if you don’t have reserved capacity, another cloud customer could be eating up any of the remaining capacity in resource-constrained regions. Plan, forecast, and work with your Google Cloud support team to ensure that you’re preparing for the quarter, half, and year ahead.

Transferring Applications and Data
So, you have an existing on-premises data center with 220 applications on VMs and 25PB of data. How do you plan on migrating all of this to GCP? When you’re doing a migration, there are always thousands of time, money, security, and resource variables that affect your planning strategy. What if it’s going to take two months before your dedicated interconnect pipe is set up from your ISP to Google Cloud and you need to get data over to it immediately? Do you do this over the Web? Do you attach a USB drive to a pigeon and fly it over?
For migrating applications, here are three things to note:
- Rehosting: This is the concept of “lift and shift,” migrating any of your existing applications into GCP without making changes to the platform or applications. For example, you can use GCP VMware Engine to run your existing VMware workloads on GCP without having to make any changes.
- Replatforming: This is the concept of “lift and optimize,” migrating your applications and workloads without rewriting them, but running them on a GCP cloud-native platform. For example, you can use Migrate for Compute Engine to move VM-based workloads to GCE.
- Refactoring: This is the concept of “move and improve,” converting any of your existing applications and workloads to run on modern form factors without modifying code. For example, you can use Migrate for Anthos to convert applications that run on VMs into container-based applications on Google Kubernetes Engine (GKE).

You also need to consider how fast you want to transfer all of your data. For anything using your existing network, having a proper interconnect setup between your data centers and GCP can expedite this greatly. Consider the following:
- Online transfer: Use the GUI, gsutil, or JSON API to transfer files to GCS using your existing network.
- Storage transfer service: Perform large-scale online data transfers from your on-premises environment or from other cloud providers to GCS using your existing network, taking advantage of the logic the tool provides to optimize for the size and performance of the transfer.
- Transfer appliance: Securely store, ship, and upload your data to GCS using one or multiple physical 100TB or 480TB disk drives. If you need to securely migrate terabytes of volume without disrupting your business operations, this is your best bet.

If you need to transfer less than 1TB from on-premises, use gsutil. If you need to transfer data between clouds, use the Storage Transfer Service. If your data size is over 10TB, use a transfer appliance. Expect to see a question around the optimal mechanism to transfer a certain size of data.

Training and Enablement
Some of the most overlooked and underestimated elements of a successful cloud transformation are training and enablement. It’s like buying a Lamborghini without a warranty, without understanding how to drive it properly, and without having supercar experience. It’s great that you’ve got the money to buy the car, but if you don’t know how to drive it, and you aren’t prepared to maintain it to optimize its lifespan and efficiency, you’re going to have trouble.

When it comes to GCP, the extra money that you spend on training your organization should not be an afterthought. When you invest in your team, you’re investing in the following:
- Increasing productivity
- Improving confidence and morale for users interacting with GCP
- Increasing the speed of innovation
- Saving costs and labor hours on users who need to invest the extra time trying to figure things out on their own
- Building stronger relationships with your employees by showing your unconditional commitment to their learning and growth
- Creating a faster journey to the cloud

If you didn’t value training, why else would you be reading this book? There are so many resources available for training—certifications, self-paced courses like Coursera and QwikLabs, books (like this one!), professional training courses offered by instructors both virtually and in person, and more. If you’re working in a large organization and a technical account manager is assigned to your support plan, that individual will typically be curating a learning plan tailored to your organization’s needs and will recommend targeted training. It’s not rocket science. An untrained team will operate poorly, will make an unacceptable number of mistakes, and will bring a ton of risk to your organization if the deployment and operations in GCP are not carefully managed.

Google Cloud Support
Google Cloud offers two support offerings that typically align to the size and budget of your organization. If you’re working in a large enterprise that spends millions of dollars on GCP, you’d certainly want to have the best support possible. In smaller organizations, you’d need a more cost-effective solution that could provide the support you need in critical times. Role-based support and Premium support are the two key support offerings by Google Cloud. We won’t dive into the details of all the differences, but you can take a look at the Google Cloud Support site to get an idea. Key things to note include whether the offerings vary in terms of 24/5 or 24/7 support; whether the response times are guaranteed on high-priority tickets; whether support includes case, phone, or chat support; and how escalations are handled. With Premium support, you also get a technical account manager—essentially a dedicated Googler who helps bridge the gap between your organization’s strategic and tactical goals and all things inside Google.

A technical account manager is an incredibly valuable resource for large enterprises. This is essentially like getting a dedicated Googler to be your company’s eyes and ears. Account managers focus on helping you plan, create strategies with leadership, and unblock major hurdles, and they advocate and drive your organization’s success at Google Cloud. Most features that exist in Google Cloud today were built around customers, and those who have technical account managers get direct access to feature requests and a multitude of ways to make the cloud fulfill their needs.



ADVERTISEMENT