Category Archives: Google Cloud Platform Blog

Product updates, customer stories, and tips and tricks on Google Cloud Platform

Commvault and Google Cloud partner on cloud-based data protection and simpler “lift and shift” to the cloud



Today at Commvault Go 2017, we announced a new strategic alliance with Commvault to enable you to benefit from advanced data protection in the cloud as well as on-premises, and to make it easier to “lift-and-shift” workloads to Google Cloud Platform (GCP).

At Google Cloud, we strive to provide you with the best offerings not just to store but also to use your data. For example, if you’re looking for data protection, you can benefit from our unique Coldline class as part of Google Cloud Storage, which provides immediate access to your data at archival storage prices. You can test this for free. Try serving an image or video directly from the Coldline storage tier and it will return within milliseconds. Then there’s our partner Forsythe, whose data analytics-as-a-service offering allows you to bring your backup data from Commvault to Google Cloud Storage and then analyze it using GCP machine learning and data loss prevention services.

We work hard with our technology partners to deliver solutions that are easy to use and cost-effective. We're working with Commvault on a number of initiatives, specifically:
  • Backup to Google Cloud Storage Coldline: If you use Commvault, you can now use Coldline in addition to Regional and Nearline classes as your storage target. Check out this video to see how easy it is to set up Cloud Storage with Commvault.
  • Protect workloads in the cloud: As enterprises move their applications to Google Compute Engine, you can use the same data protection policies that you use on-premises with Commvault’s data protection software. Commvault supports a wide range of common enterprise applications from SAP, Exchange, SQL, DB2, and PostgreSQL, to big data applications such as GPFS, MongoDB, Hadoop and many more.
  • G Suite backup with Commvault: You can now use the Commvault platform to backup and recover data from G Suite applications such as Gmail and Drive.
We're excited to work with Commvault to bring more capabilities to our joint customers in the future, such as enhanced data visibility via analytics and the ability to migrate and/or recover VMs in Compute Engine for on-premises workloads.

If you’re planning to attend Commvault Go this week, visit our booth to learn more about our partnership with Commvault and how to use GCP for backup and disaster recovery with Commvault!

Cloud SQL for PostgreSQL adds high availability and replication


Cloud SQL for PostgreSQL users, we heard you loud and clear, and added support for high availability (HA) and read replicas, helping you ensure your database workloads are fault tolerant.

The beta release of high availability provides isolation from failures, and read replicas provide additional read performance requirements for demanding workloads.
"As a global retail company, who uses digital innovation and data collaboration to enrich consumers' experiences with retailers and venues, we have very high availability requirements and we trust Cloud SQL for PostgreSQL with our data." 
— Peter McInerney, Senior Director of Technical Operations at Westfield Retail Solutions
"We love Postgres and rely upon it for many production workloads. While our Compute Engine VMs running Postgres have never gone down, the added peace of mind provided by HA and read replicas combined with reduction in operations makes the decision to move to the new Cloud SQL for PostgreSQL a simple one." 
— Jason Vertrees, CTO at RealMassive
Additional enhancements include database instance cloning and higher performance instances with up to 64 vCPU cores and 416GB of RAM. Cloud SQL for PostgreSQL is also now part of the Google Cloud Business Associates Agreement (BAA) for HIPAA covered customers. And in case you missed it, we added support for 19 extensions this summer.


Understanding the high availability configuration


The high availability configuration on Cloud SQL for PostgreSQL is backed by Google's new Regional Disks, which synchronously replicate data at the block-level between two zones in a region. Cloud SQL continuously health-checks HA instances and automatically fails over if an instance is not healthy. The combination of synchronous disk replication and automatic failover provides isolation from many types of infrastructure, hardware and software failures.

What triggers a failover?

Both primary and standby instances of Cloud SQL for PostgreSQL send a heartbeat signal, which is evaluated to define an availability state for the master instance. Cloud SQL monitors the heartbeats, and if it doesn’t detect multiple heartbeats from the primary instance (and the standby instance is healthy), starts a failover operation.

What happens during and after a failover?


During failover, Cloud SQL transfers the IP address and name of the primary instance to the standby instance and initializes the database. After failover, an application resumes connection to the new master instance without needing to change its connection string because the IP address moved automatically. Regional disks, meanwhile, ensure that all previously committed database transactions, right up to the time of the failure, were persisted and available after failover.

How to create a high availability instance


Creating a new HA instance is easy, as is upgrading existing Cloud SQL for PostgreSQL single instances. When creating or editing an instance, expand the "Configuration options" and select "High availability (regional)" in the Availability section:


Quickly scale out with read replicas


Read replicas are useful for scaling out read load and for ad-hoc reporting. To create a read replica, select your primary Cloud SQL for PostgreSQL instance and click "Replicas" on the Instance details page.

By combining high availability instances and read replicas, you can build a fault-tolerant, high performance PostgreSQL database cluster:

Get started


Sign up for a $300 credit to try Cloud SQL and the rest of GCP. Start with inexpensive micro instances for testing and development, and then, when you’re ready, you can easily scale them up to serve performance-intensive applications. As a bonus, everyone gets the 100% sustained use discount during the beta period, regardless of usage.

With Cloud SQL, we still feel like we’re just getting started. We hope you’ll come along for the ride and let us know what you need to be successful at Issue Tracker and by joining the Cloud SQL discussion group. Please keep the feedback coming!

Demystifying ML: How machine learning is used for speech recognition


This is the second blog post in our series that looks at how machine learning can be used to solve common problems. In this article, we discuss how ML is used in speech recognition.

In our previous post, we talked about how email classification can be used to improve customer service. But emails are are just one way customers interact with businesses. When it comes to difficult issues, 48% of customers opt to speak with a customer service representative over the phone as opposed to text-based chat or email (source: American Express 2014 Global Customer Service Barometer). Additionally, in today’s business landscape, an increasing number of interactions are happening in real time.

Take the example of a commercial bank. For urgent matters — say, a customer reporting a stolen credit card — it doesn’t make sense to send an email. In these instances, a customer is more likely to call a customer service representative, and getting that customer to the right representative as fast as possible can be the difference between a minor inconvenience and a bigger problem. This means that speech recognition systems, with the ability to swiftly identify exact words and their context, are more important than ever.

Since speech recognition requires bridging the gap from the physical to digital world, there are many layers of engineering that go into the process. In layman's terms, you start with the input: the audio waveform. This waveform is digitized and converted using a Fourier transform — which converts a signal from a function of time into a function of frequency — similar to the spectrum display grid on certain audio equipment. We then use machine learning to find the most likely phonemes (distinct units of sound) and probable sequences of words based on the sequence of converted frequency graphs. Finally, depending on the application, an output in the form of a textual answer or result is returned. In the case of a customer service call center, this textual output (or its binary equivalent) allows your call to be routed typically in a matter of milliseconds.

Building your own speech recognition system is a complex process, and each layer involves its own interesting implementations and challenges. In this post, we’ll focus on phoneme modeling, i.e., isolated word recognition.

This is a simplified representation. The actual process contains all possible phonemes, and looks at matching not just discrete phonemes, but the beginning, middle and end of those waveforms. (A “k” sound, or the aspirated start of a certain vowel, for example.)

Returning to our example of the customer service call center for a moment, a HMM can construct a graph linking phonemes, or sometimes even consecutive words into a sequence, resulting in a histogram of possible outputs corresponding to various support teams in your company. With a large dataset of recorded customer statements and their call center destinations, you can build a robust AI-based routing system that gets customers to the right help as fast as possible.

As we noted earlier, building your own speech recognition system is a major undertaking. It requires a large dataset to train your model, and this sample data must be labeled through a fairly manual and laborious process. At scale, the data is costly to store on-site, and converting all the stored data into a functioning model requires multiple iterative attempts, as well as substantial computation resources, and sometimes multiple days or weeks for a training process. If you’re interested in quickly deploying a speech-based application, but want to avoid the ordeal of training your own model, you can always use a tool like Cloud Speech API.

There are also many more ways speech recognition can be helpful — from closed captioning to real-time transcription. If you’re interested in learning more, you can check out our best practices and sample applications.