Persistent Disks in Google Compute Engine allow you to take point-in-time snapshots of your disks. Once a snapshot is taken, it’s globally available and can be restored to any zone, even if the zone where the disk was originated is hit by a meteor. On top of that, it’s easy to create and manage snapshots. These two features make snapshots very appealing as a backup solution. However, there are some details you need to take into account in order to use snapshots safely for backup.
Persistent Disks in Google Compute Engine allow you to take point-in-time snapshots of your disks. Once a snapshot is taken, it’s globally available and can be restored to any zone, even if the zone where the disk was originated is hit by a meteor. On top of that, it’s easy to create and manage snapshots. These two features make snapshots very appealing as a backup solution. However, there are some details you need to take into account in order to use snapshots safely for backup.



First, let’s take a peek on how snapshots work. A snapshot is an exact copy of your disk at a point in time. A snapshot can be taken at the same time reads and writes are happening to the disk. In physical terms, it’s like stopping the disk head while the disk is in use and copying all disk sectors out, except that, thanks to Persistent Disk design, it takes only a fraction of a second to create the snapshot. The rest of the time is spent uploading the bits to Google Cloud Storage and there is no performance impact to your disks.



Snapshots are guaranteed to be consistent at the block level (block size=4KiB). This means that snapshots never contain a partially written block (no torn writes). However, if application is making a write operation that spans multiple blocks, it’s possible that only the first portion of the write operation is stored in the snapshot. In addition, writes made to the file system cache will not be present in the snapshot, meaning a snapshot is equivalent to a disk that underwent an unclean shutdown. While most file systems and server applications can handle this just fine (due to journaled file systems, redo logs, etc.), it may require time-consuming steps to restore the disk back to a consistent state. Certain applications may not be able to handle this situation gracefully.



There are a few simple steps you can take to ensure your snapshot is consistent. First, we strongly recommend using mounted volumes for application data (not boot disk). Among other things, it’s easier and safer to take snapshots in a running instance. These are the steps you need to follow before snapshots are taken:

  1. Pause IOs coming from the application if possible. Certain applications have explicit commands to pause and resume IOs, e.g. Oracle, MySQL. If your application doesn’t support pause/resume, make sure that your application can survive unclean shutdowns (e.g. MongoDB).

  2. Flush the file system cache (sync), and

  3. Pause IOs coming from file system. You can use fsfreeze command for Ext3/4, ReiserFS, JFS, and XFS.

Once there are no more IOs being sent to disk, it’s safe to start the snapshot. Note that IOs need to be paused for just the fraction of second that it takes to create the snapshot. IO operations can then be resumed while snapshot data is copied to Cloud Storage in the background.



Here is an example where we snapshot the disk “my-disk” using gcutil tool:

> # freeze IOs in application
> sudo sync
> sudo fsfreeze -f /mnt/my-disk
> gcutil addsnapshot --source_disk=my-disk my-snapshot --nosynchronous_mode


After issuing those commands, we wait until the snapshot operation transitions to either UPLOADING or READY state:

> gcutil getsnapshot my-snapshot
+----------------------+-------------------------------+
| name | my-snapshot |
| description | |
| creation-time | 2013-09-30T19:34:24.354-07:00 |
| status | UPLOADING |
| disk-size-gb | 10 |
| storage-bytes | 3802018 |
| storage-bytes-status | UP_TO_DATE |
| source-disk | disks/my-disk |
+----------------------+-------------------------------+


We can now safely resume IOs to the disk while the upload process completes in the background:

> sudo fsfreeze -u /mnt/my-disk
> # resume IOs in application


To restore the snapshot, wait until snapshot operation completes, and execute:

> gcutil adddisk --source_snapshot=my-snapshot my-disk-copy


Mount your disk and verify that it is working as expected. I can’t stress enough how important it is to test your backups regularly and to ensure your backup procedure is correct.



Once your application data is successfully backed up, you may still want to backup the root volume to save machine configuration and tools that you have installed. It’s not safe to use fsfreeze against your root volume because any command that requires write access to disk will be blocked. For example, logging on to a machine requires write access to disk, therefore you might get locked out if your ssh session disconnects while root is frozen. The safest way to snapshot root volume is to shut down your instance and then take the snapshot. If that is not possible, reduce the number of writes to root as much as possible to reduce recovery time, and take the snapshot. Your journaled file system will be able to recover safely after your disk is restored.



-Posted by Fabricio Voznika, Software Engineer

Google Cloud SQL is a fully managed MySQL service hosted on Google Cloud Platform. Today, we are embracing open standards and expanding customers’ choice of tools, technologies and architectures by adding support for ...
Google Cloud SQL is a fully managed MySQL service hosted on Google Cloud Platform. Today, we are embracing open standards and expanding customers’ choice of tools, technologies and architectures by adding support for native MySQL connections.



MySQL Wire Protocol is the standard connection protocol for MySQL databases. It lets you access your replicated, managed, Cloud SQL database from just about any application, running anywhere. Here are some of the top features enabled by the MySQL Wire Protocol:




Native connectivity also gives you great flexibility and control over managing and deploying your cloud databases. For example, you can use DBMoto from HiTSW to replicate data between Cloud SQL and on-premise databases -- including Oracle, SQL Server, and DB2. And you can use DBShards from CodeFutures to manage sharding across Cloud SQL instances, and migrate on- and off-cloud with no downtime.



Genoo, a SaaS provider of online marketing tools, has already put wire protocol support to use. They were outgrowing their existing cloud services provider, but were worried about migrating a live application to another environment. So Kim Albee, Genoo’s founder and President, turned to DBShards who used native connectivity to migrate Genoo’s database without any service disruption. She said, "I've been amazed by what Cloud SQL's support for native connections can do. Before this feature, migrating between cloud providers would have been too costly."



You can read more about how they did it in this case study, or learn more about Cloud SQL.



-Posted by Joe Faith, Product Manager

Did you know that every Google Compute Engine instance, regardless of region and zone, can communicate to every other instance over a project private network? It really is very simple to execute “ping my-european-instance” from a US virtual machine and have it work without any complex cross region configurations.
Did you know that every Google Compute Engine instance, regardless of region and zone, can communicate to every other instance over a project private network? It really is very simple to execute “ping my-european-instance” from a US virtual machine and have it work without any complex cross region configurations.



If you're an experienced developer who has deployed Cloud apps before, but not yet on Google Compute Engine, you might not know that all n1 Compute Engine instances use the same hardware configuration and provide a consistent level of performance. No longer do you need to spin up many machines, run performance test, and throw away poor performing machines.



To help experienced cloud developers transition to Compute Engine, we have published an article, Overview of Google Compute Engine for Cloud Developers, that highlights the key differentiators of Compute Engine and discusses the features that allow you to architect scalable and globally distributed systems.



In addition to the overview, we have also published a deeper dive technical look at deploying apps on Compute Engine, along with a sample application that you can download and run.



The article Building High Availability Applications on Google Compute Engine introduces you to building distributed applications on Google Compute Engine. It provides implementation details of the following web application architecture that utilizes common software packages for load balancers, web servers, and databases.




High availability application on Google Compute Engine

Google Compute Engine provides tools such as startup scripts and meta data that can be used to automate the deployment of key components across multiple zones. Many of the technologies developers are familiar with deploying on virtual machines are a great fit on Compute Engine and can benefit from advanced features such as the global project private network. As Google continues to build out managed services to abstract the complexities involved in a self managed implementation, developers will always have the freedom to use their preferred technology.



Get the Code!

Our High Availability LAMP Stack sample application is ready for you to download from Github, and the tutorial guides you through using it. The sample application contains a Python tool for automatically creating a LAMP stack with load balancers, web servers, and database servers. It demonstrates how Google Compute Engine tools and features can be used to automate deployments across multiple zones.



If you want to define the next generation of cloud applications and help developers build globally distributed applications on cutting edge technology, we are always hiring! Check out our job postings for Solutions Architects and Cloud Technology Managers if you are interested in joining our Solutions Team.






-Posted by Chris Elliott, Solutions Architect

Today's guest post comes from Michael Anthony, Technical Director at TwinStrata. TwinStrata is a Google Cloud Platform technology partner that simplifies storage expansion and disaster recovery by making cloud storage look and feel like local storage. ...
Today's guest post comes from Michael Anthony, Technical Director at TwinStrata. TwinStrata is a Google Cloud Platform technology partner that simplifies storage expansion and disaster recovery by making cloud storage look and feel like local storage.



One of the most common use cases for cloud infrastructure - and particularly cloud storage - is data backup and recovery. It’s logical, after all: If you have your data and infrastructure in the cloud - or at least backed up to it - the cloud serves as an ideal secondary location, immune to localized disasters or disruptions. In addition, by relying on cloud storage for your secondary location, you can eliminate the costs and maintenance required to keep a physical colocation facility up and running.



But what happens if you want to switch your cloud storage provider?



In the past few months, we’ve worked with a number of customers who had an immediate need to migrate their data from one cloud provider to another. Whatever the reason for the cloud migration, the process can seem daunting.



Based on working with these customers, we have identified five main tactics for seamless cloud migration, and have found that the right solution is based on your environment:


  1. Direct cloud-to-cloud migration: Some providers have direct, high-speed connections to other providers. For example, Google and TwinStrata have worked together to develop a way to migrate data from one cloud to the next using Google’s own high-speed connections, and without any impact on the customer’s network. Once the data is moved, it’s a fairly simple exercise to maintain access to the data using TwinStrata CloudArray - without having to modify any of your application settings. And in fact, that’s exactly what we did for customers such as IAC in the last few weeks.

  2. Cloud compute migration: One of the fundamental advantages of using cloud-integrated storage is the ability to spin up the software in the cloud. By spinning up your cloud gateway in a cloud compute environment, you can do the migration from one cloud to the other using without taxing your own network.

  3. Repoint the cache: For some organizations, an on-premise transfer is unnecessary. Some of our customers (particularly those using cloud for backup or application data) keep a full copy of everything they have in the cloud in their local cache. If you’re accessing the cloud through a cloud gateway, you should be able to just repoint the cache to the new provider, thereby limiting the impact on your network to just outgoing traffic.

  4. On-premise transfer: If the amount of data you have in the cloud is small, and your corporate network is large, you can bring the data back on premise and then send it to the new cloud of your choice. If you’re using a cloud enabler such as TwinStrata’s cloud-integrated storage software CloudArray, this exercise becomes significantly simpler because you can simply migrate the volume to another provider, but it can take a toll on your network.

  5. Start fresh: The final option is limited to those customers who use cloud storage to back up their on-premise data. A small number of organizations with which we’ve worked have elected to start fresh with a new cloud provider by copying their on-premise backups to the new cloud, Once it is safely migrated, they can then delete the data from their existing cloud (or in the case of Nirvanix, just throw away the encryption keys so it can’t be accessed). This option is viable only if you’re using the cloud for backups and have enough onsite copies of your backup to meet your retention policy.


There are a lot of folks right now who think the cloud should be approached with caution due to a perceived difficulty in cloud migration. But our experience so far has shown that that “difficulty” is a matter of perception, not reality.



Google Cloud Platform and TwinStrata have simplified the process of getting your data into the cloud - whether it’s from your on-premises storage or from another cloud provider - providing you with flexibility, simplicity and affordability in your storage strategy.



You can learn more about cloud-integrated storage at TwinStrata.com. We offer a free 14-day trial that includes access to unlimited Google Cloud Storage for the duration of the trial.



-Posted by Michael Anthony, Technical Director, TwinStrata




At JetBrains we are building tools that aim to enhance developers’ productivity by automating routine tasks and helping you concentrate on coding.



Our IDE for PHP, PhpStorm, provides seamless integration with ...

Today’s guest post comes from Maarten Balliauw, Technical Evangelist at JetBrains, the vendor of smart developer tools such as IntelliJ IDEA, PyCharm, PhpStorm, Android Studio and many more.



At JetBrains we are building tools that aim to enhance developers’ productivity by automating routine tasks and helping you concentrate on coding.



Our IDE for PHP, PhpStorm, provides seamless integration with Google App Engine for PHP — allowing you to locally develop, debug and deploy your PHP applications on Google App Engine. When testing your application locally, we also support full emulation of App Engine services through the App Engine Development server.



The following video shows how to get started with Google App Engine for PHP in PhpStorm. We also have a comprehensive tutorial which covers Google App Engine with PhpStorm in detail.









When creating Google App Engine applications in PHP using PhpStorm, chances are that you’ll also be using Google Cloud SQL to store data. For these next steps, we will have assumed you have created a Cloud SQL instance from the Google Cloud Console.



PhpStorm, as well as IntelliJ IDEA and PyCharm, provides database management tools (see the right-hand side of the IDE or hit Ctrl+Alt+A (Cmd+Alt+A on Mac) and search for “Database”). You can use these built-in tools to create new tables, run arbitrary SQL commands and insert, update and delete data.



Opening the database pane, you can create a new connection or Data Source. You’ll have to specify the JDBC database driver to be used to connect to our database. Since Google Cloud SQL supports native MySQL connections, we can use the standard MySQL connector and enter connection details.




Connecting to a Google Cloud SQL database using PhpStorm database tools

The JDBC driver to use is com.mysql.jdbc.Driver, the database URL will be jdbc:mysql://:3306/ where cloudsql_ip_address is the IP address of our Google Cloud SQL instance, and database_name is the name of the specific database on that instance to which you want to connect.



As for database credentials, you can create a root user password through the Google Cloud Console or manually create a new user through PhpStorm using the following SQL statement:





CREATE USER 'user_here'@'%' IDENTIFIED BY 'password_here';
GRANT ALL PRIVILEGES ON *.* TO 'user_here'@'%' WITH GRANT OPTION;



You can now make use of these new credentials to connect to Google Cloud SQL and do things like create tables.






Creating a table in Google Cloud SQL using PhpStorm database tools

Now, from our PHP code, you can easily create a new connection to our Google Cloud SQL instance using PDO:




Connecting to a Google Cloud SQL database using PDO

Give it a try (a trial version is available for PhpStorm) and let us know your thoughts through the comments below.



-Contributed by Maarten Balliauw, Technical Evangelist, JetBrains

Apps Script started out as a simple tool to let developers add new features to Google Apps, but it’s grown into a programming platform that thousands of professional coders use every day. We hear a couple common requests from developers when they’re building complex projects with Apps Script: they want a full-featured IDE, and they want to sync to external version-control systems like GitHub.
Apps Script started out as a simple tool to let developers add new features to Google Apps, but it’s grown into a programming platform that thousands of professional coders use every day. We hear a couple common requests from developers when they’re building complex projects with Apps Script: they want a full-featured IDE, and they want to sync to external version-control systems like GitHub.



Today, we’re introducing support for Apps Script in the Google Plugin for Eclipse. You can now sync with your existing Apps Script files on Google Drive, edit them in Eclipse — offline, if necessary, and with all the benefits of autocomplete — then write your code back to Drive so you can run it in the cloud. Because the plugin stores a copy of each script in a local workspace, you can manage Apps Script projects with your favorite version-control system.







Getting started is easy:


  1. Install Eclipse, if you don’t already use it. If you already have Eclipse, make sure it’s at least version 3.7 (Indigo) for either Java or Java EE.

  2. In Eclipse, select Help > Eclipse Marketplace, then install the Google Plugin for Eclipse (or see our Getting Started guide for alternate installation instructions).

  3. Click Sign in to Google in the bottom-right corner of Eclipse, then enter your username and password.

  4. Select File > Import to transfer your projects into Eclipse. Whenever you’re online, the plugin will automatically sync your local edits with Google Drive.




For step-by-step instructions on installation and use, see the documentation on using Apps Script with the Google Plugin for Eclipse.



Just in case you were wondering, the plugin uses the public Google Drive SDK to sync Apps Script files between your local file system and Google’s servers. We’ve previously covered the techniques it uses in our documentation on importing and exporting projects and the recent episode of Apps Script Crash Course on Google Developers Live below.







-Posted by Norman Cohen, Software Engineer


The App Engine team had a great time at Zendcon last week. Watch Peter Magnusson’s keynote, titled “The Rise of the Cloud Native Developer”. In case you missed it, he announced that the ...
The App Engine team had a great time at Zendcon last week. Watch Peter Magnusson’s keynote, titled “The Rise of the Cloud Native Developer”. In case you missed it, he announced that the PHP runtime is now in Preview.



The new SDK for the October release of App Engine 1.8.6 is now available for download. This release focuses on improvements and bug fixes, which you can read about in the release notes.



-Posted by Chris Ramsdale, Product Manager

We believe that building in the cloud is a quicker way to build new apps, but just how quick? Michael Piccuirro, director at R/GA, told us, “things that we would have taken years to build, we’ll be able to produce in weeks or months.”
We believe that building in the cloud is a quicker way to build new apps, but just how quick? Michael Piccuirro, director at R/GA, told us, “things that we would have taken years to build, we’ll be able to produce in weeks or months.”



R/GA is an international digital marketing agency that develops large, interactive experiences for its clients, working with brands such as Nike, Johnson & Johnson and MasterCard. In Michael’s words, R/GA chose Google Cloud Platform “because it’s a great tool that allows us to build solutions very quickly and deploy them somewhere that can scale to whatever we need.”



Check out this video to hear it all in Michael’s own words:







- Posted by Benjamin Bechtolsheim, Product Marketing Manager

Storing and analyzing billions of records is complicated. That’s why we try to make it as easy as possible to simplify your analytics needs.



Watch this video to see how ...
Storing and analyzing billions of records is complicated. That’s why we try to make it as easy as possible to simplify your analytics needs.



Watch this video to see how Tableau and Leanplum tackle Big Data using Google’s infrastructure. Both of these companies are using BigQuery on Google Cloud Platform. You’ll hear from Francois Ajenstat, Director of Product Management at Tableau, about what he thinks is the “difference between the old way and the Google Cloud Platform way.”



-Posted by Benjamin Bechtolsheim, Product Marketing Manager

In June, we unveiled the new Google Cloud Console, bringing together all of Google’s APIs, Services, and Infrastructure in a single interface. Across Google, we want to make sure that you have an easy way to work and build across all of our platforms. That’s why we’re focusing on improvements to the Cloud Console so you can get things done faster.
In June, we unveiled the new Google Cloud Console, bringing together all of Google’s APIs, Services, and Infrastructure in a single interface. Across Google, we want to make sure that you have an easy way to work and build across all of our platforms. That’s why we’re focusing on improvements to the Cloud Console so you can get things done faster.



We’re introducing a new navigation bar, making it easier to switch between pages. The new bar is designed to automatically resize- expanding sections as you need them and collapsing them when you don’t.



Our URL design got some love as well. In addition to being user-visible, URLs are useful permalinks to specific views for bookmarking and sharing. We’ve heard this feedback from several developers, and our response is our new RESTful, human-readable URL structure.



There are changes behind the scenes as well. The Google Cloud Console is implemented on Google App Engine, and as of this redesign we are now using Angular JS as well. App Engine makes it easy for us to build a RESTful, autoscaling backend to power our app, and Angular JS makes it simple to communicate with our backend to dynamically render content in the frontend.



This refresh is a first step towards improving your experience, and we are just getting started. Going forward, we’re working on a set of design standards and shared components that we’ll adopt throughout all of our services in the console. We’re also continually running user studies to study common developer workflows to see how we can improve them. If you would be interested in participating in any of these studies, please sign up here.



-Posted by Akshay Kannan, Product Manager

Modern web apps, such as online banking apps, often need to keep session information, which requires special support from the load balancing so that you keep getting connected to a server that has the necessary context information to help you. With the latest update to ...
Modern web apps, such as online banking apps, often need to keep session information, which requires special support from the load balancing so that you keep getting connected to a server that has the necessary context information to help you. With the latest update to Google Compute Engine Load Balancing, you now can spread the load while tracking sessions using the client IP address. When enabled, this feature ensures that all requests from the same IP (in a session) get forwarded to the same healthy Compute Engine instance.



In addition, we’re introducing backup pool, which can add more redundancy to your load balanced website or application. When the health of the servers in the primary pool drops to some configurable threshold, the servers in the backup pool will take over until the primary pool is healthy again. This feature can also give you more flexibility and convenience especially during patching and upgrading of your backend instances.



Both features are supported via the gcutil command line tool, RESTful API and the Cloud Console. Please read the documentation and start using load balancing today. Also check out the following tutorial demonstrating how quickly you can set up load balancing.







If you want to learn more, we’ve published an in-depth look at load balancing on Compute Engine that shows how easy it can be to set up for even complex apps. In addition to discussing use case scenarios, this article presents the results of running load tests with a half million requests to illustrate how our load balancing works. If you've been wondering whether load balancing is right for you, read the article to find out (spoiler alert: if your application scales to more than one Compute Engine instance, the answer is yes).






Web application using Compute Engine Load Balancing



Happy load balancing!



-Posted by Gary Ling, Product Manager

Mobile backends enable you to create connected mobile apps without writing server-side code. Today we are simplifying server-side development for iOS developers with Mobile Backend Starter for iOS. With our Mobile Backend and Objective-C client libraries you can ...
Mobile backends enable you to create connected mobile apps without writing server-side code. Today we are simplifying server-side development for iOS developers with Mobile Backend Starter for iOS. With our Mobile Backend and Objective-C client libraries you can:


  • Store data in the cloud and share between users

  • Send device-to-device push notifications

  • Use continuous queries to notify devices of data changes

  • Authenticate users using Google Accounts




Mobile developer Ryan Harter used Mobile Backend Starter to grow his Hashnote app usage from 3,000 users to 20,000:



“Mobile Backend Starter allowed me to focus on the Android app, while ensuring that I had an efficient backend. Most importantly, the backend isn't a black box that's intended to be the be all and end all, keeping me locked in. I was able to extend the backend to include Hashnote specific logic, while learning how Google implemented the initial feature set from the open source code.”



The Mobile Backend Starter is a Google App Engine application, so you can support hundreds of concurrent users at no charge. This source code for the entire app, both the backend as well as the Android and iOS clients, is available on Github, so you are free to explore and add specific customizations if you wish.







Getting Started

You can try out the Mobile Backend Starter on an iPhone or iPad in just a few steps (further details here):

1. Provision your backend on App Engine

2. Download the iOS client zip file (or clone from GitHub repository)

3. Run the sample on a physical device (note: the sample does not run on the iOS simulator)





You use our framework classes to interact with the deployed backend as if it was local to the device. We incorporated our recent work to deliver scalable, reliable push notifications to thousands of iOS devices via the Apple Push Notification Service.



The same set of features exists for both Android and iOS, and the backend manages the platform specifics such as using Google Cloud Messaging for Android and APNS for iOS devices. You can follow these instructions to set up the backend for Android, or watch our Google I/O session.



-Posted by Stuart Reavley, Product Manager

At Google I/O earlier this year, we added PHP, the fourth language runtime on Google App Engine in Limited Preview. Today we’re moving to Preview, making PHP on App Engine available for everyone immediately ...
At Google I/O earlier this year, we added PHP, the fourth language runtime on Google App Engine in Limited Preview. Today we’re moving to Preview, making PHP on App Engine available for everyone immediately. It is no longer necessary to whitelist your application for deployment.



PHP is one of the world’s most popular programming languages for web programming today. Since the runtime was launched at Google I/O earlier this year, thousands of developers around the world have started using App Engine for PHP, taking advantage App Engine’s legendary scalability and ease of use to run popular PHP products like phpMyAdmin, Drupal and phpBB and frameworks such as Laravel, Silex and CodeIgniter. And as you would expect, you can use Google APIs such as Drive and Google+ on App Engine.



One early adopter of App Engine for PHP was VICE.com, who run the popular Motherboard blog. Motherboard receives millions of visitors a month, and runs on a long serving in-house CMS powered by the popular Yii PHP framework. Having moved Motherboard fully over to Google App Engine recently, “It's our opinion at VICE that Google is building the next generation PaaS,” said VICE.com CTO, Jesse Knight. “We're extremely excited to be early adopters.”



Since introducing the PHP runtime, we’ve made many improvements, including:




And it’s never been easier to develop, test and deploy your App Engine PHP application. If you work in the cloud, you can create, test and deploy your project from your browser using DevTable or CodeEnvy cloud IDEs. If you prefer working from your desktop, you can now build, locally run and debug, and deploy Google App Engine PHP applications right from within JetBrain’s PHPStorm IDE.



Developers interested in the PHP runtime now can create an account and deploy PHP applications immediately. And don’t forget to share your experiences (and your projects) with our Google+ community.



-Posted by Andrew Jessup, Product Manager

“Finally she sat in the wee little chair and it was just right. But Goldilocks rocked so hard in the chair that it broke into pieces!” The Story of the Three Bears ...
“Finally she sat in the wee little chair and it was just right. But Goldilocks rocked so hard in the chair that it broke into pieces!” The Story of the Three Bears by Robert Southey (1837)



Getting auto scaling just right is one of the hardest things about cloud apps. Scale too slowly and you can't meet customer demand. Scale too quickly and you pay for more than you need. For new applications in particular, you might need to have strong prediction skills to provision the correct number of virtual machine (VM) instances to meet customer demand.



We don’t want your Google Compute Engine app to break when it faces increased demand but, just as importantly, we’d like to ensure you don’t pay for excess capacity when you don't need it.



Sure, you could estimate peak load and provision for it. However, if your application’s peak load only occurs during the holiday period, your infrastructure will be largely unused for the majority of the year. Alternatively, you could provision for estimated average use. But then, by definition, half the time your infrastructure will be over-provisioned and half the time it will be under-provisioned, so you end up disappointing either your customers or your managers all the time.



To learn how to automatically scale Compute Engine instances to meet demand, read the newly published article Auto Scaling on the Google Cloud Platform. In this paper, we explore a framework for a Google App Engine application that scales Compute Engine instances up or down as demand increases or decreases. We designed the framework to be extremely flexible, so that you can adjust it to meet your business needs.



To get started, download the sample apps:









Orchestrating an App Engine+ Compute Engine application



Unlike Goldilock’s adventures, this isn’t a fairy tale. You can download the apps and start implementing today.



-Posted by Kathrin Probst, Solutions Architect

Imagine: it's almost 3 AM and you would really like to speak with an expert about the best way to launch the new version of your application before your big event tomorrow. Who do you call?
Imagine: it's almost 3 AM and you would really like to speak with an expert about the best way to launch the new version of your application before your big event tomorrow. Who do you call?



Ever since we launched our support packages in February of this year, our support team has been helping our customers 24 hours per day seven days per week. And now we have made it even easier to sign up for a support package: starting now, you can instantly sign up for Silver or Gold support via the Google Cloud Console. That means that you no longer need to contact us to enable support on your cloud projects, and you will get instant access to our support center.



We have four support packages to choose from, to suit any need:



Bronze support – This package is available to all customers for free. We keep our documentation, white papers and best practice guides up to date to make sure anyone can make the most of our Cloud Platform, and we actively participate in the community forums to keep them relevant and useful. We are also available for any questions around billing that you might have.



Silver support – The Silver support package allows you to directly engage with one of our support engineers, and is particularly well suited for customers that just started developing on Cloud Platform. With this package, the support engineers can answer questions related to product functionality, service errors, and best practice architecture. The fee for Silver support is $150 per month.



Gold support – We created Gold support for customers that run critical, production-grade applications and services on our platform. This package comes with 24/7 coverage and direct access to our phone lines, just in case. Gold customers can discuss their specific use-case with us and questions related to application development, so that we provide a tailored solution to your issue. Gold support starts at $400 per month.



And if that is not enough, we also provide a Platinum support package that includes help from our team of technical account managers. They are experts on our products and platform and will take all the details of the specific solution into consideration to help design for top performance.



You can read further for more details, or if you’re ready, sign up for support now.



-Posted by Rolf Middendorp, Enterprise Program Manager

Developers come to Google Cloud Platform for a range of purposes - whether building a game that’s played by millions of users, crunching big data or sharing digital media around the world.
Developers come to Google Cloud Platform for a range of purposes - whether building a game that’s played by millions of users, crunching big data or sharing digital media around the world.



In this video, Rovio, Shutterfly, Leanplum, R/GA, Webfilings, Brightcove, Appscale and others tell us how they are harnessing the power of cloud computing at Google speed and scale.









-Posted by Benjamin Bechtolsheim, Product Marketing Manager

Once you get your data into Google BigQuery, you don’t have to worry about running out of machine capacity, because you use Google’s machines as if they were your own. But what if you want to transform your source data before putting it into BigQuery and you don’t have the server capacity to handle the transformation? In this case, how about using Google Compute Engine to run your Extract, Transform and Load (ETL) processing? To learn how, read our paper ...
Once you get your data into Google BigQuery, you don’t have to worry about running out of machine capacity, because you use Google’s machines as if they were your own. But what if you want to transform your source data before putting it into BigQuery and you don’t have the server capacity to handle the transformation? In this case, how about using Google Compute Engine to run your Extract, Transform and Load (ETL) processing? To learn how, read our paper Getting Started With Google BigQuery. To get started, download the sample ETL tool for Google Compute Engine from GitHub.



The sample ETL tool is an application that automates the steps of getting the Google Compute Engine instance up and running, and installing the software you need to rapidly design, create and execute the ETL workflow. The application includes a sample workflow that uses KNIME to help you understand the entire process, as shown here:







If you already have an established process for performing the ETL process to prepare the data and load it into Google Cloud Storage, but need a reliable way to load the data from there into BigQuery, we have a another sample application to help you. The Automated File Loader for BigQuery sample app demonstrates how to automate data loading from Google Cloud Storage to BigQuery.



This application uses the Cloud Storage Object Change Notification API to receive notifications that files have been uploaded to a bucket in Google Cloud Storage, then uses the BigQuery API to load the data from the bucket into BigQuery. Download it now from GitHub.









Both these sample applications accompany the article Getting Started With Google BigQuery, which provides an overview of the end-to-end process from loading data into BigQuery to visualization, and design practices that should be considered when using BigQuery.



-Posted by Wally Yau, Solutions Architect