An Easier Way for Everyone to Improve the Customer Experience: Meet Google Optimize

Nearly 9 in 10 business leaders in a recent survey said that improving the customer experience is fundamental to their future success and brand reputation.1

Yet less than half of business leaders say they have actually taken action around their customer experience activities.2

Today, consumers have higher expectations for businesses to deliver more personalized site experiences based on the information they’ve shared. Businesses need to be able to quickly discover useful insights from their data and act on what they’ve learned.

To help those leaders (and everyone else) take action to deliver more personalized site experiences, we're happy to introduce Google Optimize. It's a free version of our popular enterprise-class testing and personalization product, Google Optimize 360, which was announced earlier this year.

Google Optimize will start rolling out globally next month. If you’d like to be one of the first to use it, visit our signup page. We'll send you an invitation by email as soon as it is available.

Making it easy … 

Google Optimize helps any business test and deliver better website experiences. And to help guide you through the process, we’ve made it easy every step of the way:
  • It’s easy to implement. Test new and engaging web experiences across your entire site in minutes. Google Optimize is built on top of Google Analytics and Google Tag Manager so you can either add a single line of code to your existing Google Analytics implementation, or serve the Google Optimize tag directly using Google Tag Manager. 
  • It's easy to use. Use the Google Optimize WYSIWYG (What-You-See-Is-What-You-Get) editor, to change just about anything on your site – text, images, layouts, and more – just click to edit! There is no need to recode your site each time you want to test a new experience. 
  • It's easy to understand and act on results. Google Optimize calculates results based on your existing Google Analytics metrics and business objectives. It’s clear to see what you should do next to drive even more impact for your business.
… And powerful 

With Google Optimize you can create and deploy a variety of experiment types: Choose from A/B, multivariate, or redirect. For any experiment, Google Optimize offers powerful capabilities:
  • Native integration with Google Analytics. Test what matters to your business. Because Google Optimize is built on Google Analytics, you can more quickly and easily identify areas of your site that can be improved upon. Then in Google Optimize you can use your existing Google Analytics goals and metrics as your experiment objective. 
  • Advanced statistical modeling. Google Optimize uses Bayesian statistical methods to model the real-world performance of your experiments. We’ll show you how much more effective one variant is over the others, leading to more accurate results that you can trust. 
  • Sophisticated targeting tools. Google Optimize will help you deliver the right experiences to the right customers at the right moments.
Ready to deliver better site experiences? 

With Google Optimize, you’ll have all the basic capabilities you need to get started with site testing – making it perfect for any business. Google Optimize is free for anyone to use, so why not give it a try? Visit our signup page today.

And if you are part of a larger enterprise or business with more sophisticated testing and support needs, check out Google Optimize 360, part of the Google Analytics 360 Suite. With Google Optimize 360, you’ll be able to take your site experiments even further by delivering custom experiences to your Google Analytics audiences. You’ll also be able to run more experiments across your site at the same time and add additional experiment objectives — even after an experiment has started. Talk to a sales representative to learn more.

Happy testing!

1"Two Years' Warning: The Customer Centricity Crisis." The Storytellers, March 15, 2016. Quoted on eMarketer.com. 
2"Data Elevates the Customer Experience." Forbes Insights / SAS, May 2, 2016. Quoted on eMarketer.com.


The Native Way: 4 Ways to Make UX a Priority with Native Ads

At AdMob, we know how important user experience is to creating a great app. Consistent patterns, refreshing simplicity and polished, thoughtful design make for happy users and potentially higher ad engagement rates. Native advertising is the next step in meeting user’s UX expectations. Native ads are less jarring than traditional ads and fit in with app content more naturally, providing a better user experience. Now, that’s smart business.

Here are four ways you can make UX a priority both within your app and ad experience.

1. Consistency

Sometimes it’s good to be predictable. By sticking to consistent UX patterns in your app, you can help users focus less on navigating and more on your app’s content and value. Don’t surprise your user with new elements – stick to a steady user flow like swiping left on a news app to exit an article or navigate the headline feed. Use consistent design elements like dedicated font sizes, colors, buttons, and screen sizes.

Same goes for your users’ ad experience. With reliable UX patterns, you’ll form clear breaks in your apps where users are expecting to see engaging ads. In the example of the news app, you might also want to use that swipe left feature to allow users to seamlessly dismiss ads. This also applies to ad styling. For example, if you use 14px, Lato, bold, dark grey for prominent text, then use that font for your ad’s headline, as well. The result? Users will expect that styling is dedicated to important text.

2. Clarity

Nobody likes clutter. Simplicity in your app says you’re not wasting your user’s time by throwing every possible option at them, without thinking about what they really need. Simplify your app by uncluttering your screen, writing concise copy, keeping design legible and well-spaced and providing single call-to-action buttons where possible. Likewise, clean, beautiful, single call-to-action ads will communicate that you understand your users and help gain their trust.

3. No tricks

Let’s be clear, a native ad is still an ad. Don’t try to distort or overlap ad components (there’s no quicker way to offend a user!). At Google, we care about building trust in the app advertising ecosystem. For instance, we have extended our accidental click protections to native ad formats (including fast clicks and edge clicks) in order to prevent users from a slip of the finger and deliver greater value to advertisers.

4. Thoughtful design

Thoughtful details in your app are important to let your users know you care. That means sharp imagery, curated fonts, specced margins and quick loading times. It’s important to use the same level of care and polish for small details in your native ads design. Simple, intuitive and well-designed native ads can help you say; ‘thanks’ to your valuable user base.

Until next time, be sure to stay connected on all things AdMob by following our Twitter, LinkedIn and Google+ pages.

Posted by Chris Jones, Social Team, AdMob.

Source: Inside AdMob


Try these new Google Maps voice commands on your next road trip

As we approach the end of the year, many travelers will set out on holiday road trips to visit family and friends, near and far. Whether you’re driving solo, or don’t want to assign navigator duties to your passengers, it just got easier to get around while keeping your eyes on the road with new voice commands that are simpler than ever to use.

For the ultimate hands-free and eyes-free experience, first make sure you’ve got the latest versions of the Google Maps app and Google app for Android. Then, the next time you enter navigation mode or driving mode, you can simply say “Ok Google” followed by a voice command, without needing to tap or even look at the screen. You’ll always know when voice commands can be used in Google Maps by looking for a white microphone icon in the top right corner.


When you say “Ok Google”, the microphone will activate and you’ll see a circle with bouncing dots – indicating that your voice command is being heard. For example, try saying “Ok Google, find gas stations”, and see what happens. You can tap the circle to cancel an ongoing command. If for some reason you want to use a non-hands-free alternative to saying “Ok Google”, tap the microphone and simply say “Find gas stations”.

To make sure you have things set up correctly, tap the overflow menu (the button with three dots), then tap “Settings”, and finally, tap ““Ok Google” detection”. The “While driving” setting allows you to say “Ok Google” during navigation in Google Maps. If you’d like to do this anywhere on your device, you’ll need to enable the “Always on” setting (on some devices, the setting is called “From any screen”). And if for some reason you’d like to turn off “Ok Google” detection entirely throughout your device, you can do so by toggling the settings to the off position.


Once you’re all set up, the possibilities are endless. In addition to tried-and-true voice commands like “What’s my next turn?” and “What’s my ETA?”, you can now do things like “Show / Hide traffic”, “Mute / Unmute voice guidance”, and even “Avoid tolls / highways / ferries”, with just the sound of your voice. If you anticipate traffic, you can say “How’s traffic ahead?” or “Show alternate routes”. And if you want to add a little fun to your drive, you can say “Play some jazz”, “Send a text”, or maybe even “Call mom”. Here’s a cheat sheet with more of the voice commands you can use in Google Maps. Safe driving, and happy road tripping!

Posted by Raghu Simha, Product Manager, Google Maps




Source: Google LatLong


A sizzling open source release for the Australian Election site

Originally posted on the Geo Developers Blog

One of the best parts of my job at Google is 20 percent time. While I was hired to help developers use Google’s APIs, I value the time I'm afforded to be a student myself—to learn new technologies and solve real-world problems. A few weeks prior to the recent Australian election an opportunity presented itself. A small team in Sydney set their sights on helping the 15 million voters stay informed of how to participate, track real-time results, and (of course) find the closest election sausage sizzle!


Our team of designers, engineers and product managers didn't have an immediate sense of how to attack the problem. What we did have was the power of Google’s APIs, programming languages, and Cloud hosting with Firebase and Google Cloud Platform.



The result is a mish-mash of some technologies we'd been wanting to learn more about. We're open sourcing the ausvotes.withgoogle.com repository to give developers a sense of what happens when you get a handful of engineers in a room with a clear goal and a immovable deadline.

The Election AU 2016 repository uses:

  • Go from Google App Engine instances to serve the appropriate level of detail for users' viewport queries from memory at very low latency, and
  • Dart to render the live result maps on top of Google Maps JavaScript API using Firebase real time database updates.

A product is only as good as the attention and usage is receives. Our team was really happy with the results of our work:

  • 406,000 people used our maps, including 217,000 on election day.
  • We had 139 stories in the media.
  • Our map was also embedded in major news websites, such as Sky News.

Complete setup and installation instructions are available in the GitHub README.

By Brett Morgan, Developer Programs Engineer

Beta Channel Update for Desktop

The beta channel has been updated to 54.0.2840.41 for Windows, Mac, and Linux.


A partial list of changes is available in the log. Interested in switching release channels? Find out how. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.



Richard Bustamante
Google Chrome

Announcing YouTube-8M: A Large and Diverse Labeled Video Dataset for Video Understanding Research



Many recent breakthroughs in machine learning and machine perception have come from the availability of large labeled datasets, such as ImageNet, which has millions of images labeled with thousands of classes. Their availability has significantly accelerated research in image understanding, for example on detecting and classifying objects in static images.

Video analysis provides even more information for detecting and recognizing objects, and understanding human actions and interactions with the world. Improving video understanding can lead to better video search and discovery, similarly to how image understanding helped re-imagine the photos experience. However, one of the key bottlenecks for further advancements in this area has been the lack of real-world video datasets with the same scale and diversity as image datasets.

Today, we are excited to announce the release of YouTube-8M, a dataset of 8 million YouTube video URLs (representing over 500,000 hours of video), along with video-level labels from a diverse set of 4800 Knowledge Graph entities. This represents a significant increase in scale and diversity compared to existing video datasets. For example, Sports-1M, the largest existing labeled video dataset we are aware of, has around 1 million YouTube videos and 500 sports-specific classes--YouTube-8M represents nearly an order of magnitude increase in both number of videos and classes.
In order to construct a labeled video dataset of this scale, we needed to address two key challenges: (1) video is much more time-consuming to annotate manually than images, and (2) video is very computationally expensive to process and store. To overcome (1), we turned to YouTube and its video annotation system, which identifies relevant Knowledge Graph topics for all public YouTube videos. While these annotations are machine-generated, they incorporate powerful user engagement signals from millions of users as well as video metadata and content analysis. As a result, the quality of these annotations is sufficiently high to be useful for video understanding research and benchmarking purposes.

To ensure the stability and quality of the labeled video dataset, we used only public videos with more than 1000 views, and we constructed a diverse vocabulary of entities, which are visually observable and sufficiently frequent. The vocabulary construction was a combination of frequency analysis, automated filtering, verification by human raters that the entities are visually observable, and grouping into 24 top-level verticals (more details in our technical report). The figures below depict the dataset browser and the distribution of videos along the top-level verticals, and illustrate the dataset’s scale and diversity.
A dataset explorer allows browsing and searching the full vocabulary of Knowledge Graph entities, grouped in 24 top-level verticals, along with corresponding videos. This screenshot depicts a subset of dataset videos annotated with the entity “Guitar”.
The distribution of videos in the top-level verticals illustrates the scope and diversity of the dataset and reflects the natural distribution of popular YouTube videos.
To address (2), we had to overcome the storage and computational resource bottlenecks that researchers face when working with videos. Pursuing video understanding at YouTube-8M’s scale would normally require a petabyte of video storage and dozens of CPU-years worth of processing. To make the dataset useful to researchers and students with limited computational resources, we pre-processed the videos and extracted frame-level features using a state-of-the-art deep learning model--the publicly available Inception-V3 image annotation model trained on ImageNet. These features are extracted at 1 frame-per-second temporal resolution, from 1.9 billion video frames, and are further compressed to fit on a single commodity hard disk (less than 1.5 TB). This makes it possible to download this dataset and train a baseline TensorFlow model at full scale on a single GPU in less than a day!

We believe this dataset can significantly accelerate research on video understanding as it enables researchers and students without access to big data or big machines to do their research at previously unprecedented scale. We hope this dataset will spur exciting new research on video modeling architectures and representation learning, especially approaches that deal effectively with noisy or incomplete labels, transfer learning and domain adaptation. In fact, we show that pre-training models on this dataset and applying / fine-tuning on other external datasets leads to state of the art performance on them (e.g. ActivityNet, Sports-1M). You can read all about our experiments using this dataset, along with more details on how we constructed it, in our technical report.

Strengthening the security of your Google account


Our users trust Google with some of their most precious data — family photos, emails, work documents, and more. It's our responsibility to keep your information safe and secure, and provide simple, useful ways for you to manage it.
We also have additional tools you can use to give your account extra protection. More than five years ago, we introduced two-step verification, a tool which offers an added layer of security to your account. With two-step verification, you need something more than just your password—a simple prompt on your phone, a code generated by an app, or a security key— in order to access your account. This makes it much tougher for the bad guys to get into your account, even if they’ve somehow gotten your password.
Today, the White House, in partnership with the National Cyber Security Alliance, launched the Lock Down Your Login campaign to educate Americans about better ways to keep their online accounts secure. It’s a great opportunity to remind everyone about the different two-step verification options available to protect your Google account. To enable two-step verification, go to the “Sign-in & Security” section of My Account or click here to learn more.

Using Google’s cloud networking products: a guide to all the guides




I’m a relative newcomer to Google Cloud Platform. After nine years working in Technical Infrastructure, I recently joined the team to work hand-in-hand with customers building out next-generation applications and services on the platform. In this role, I realized that my privileged understanding of how we build our systems can be hard to come by from outside the organization. That is, unless you know where to look.

I recently spent a bunch of time hopping around the Google Cloud Networking pages under the main GCP site, looking for materials that could help a customer better understand our approach.
What follows is a series of links for anyone who may want an introduction to Google Cloud Networking, presented in digestible pieces and ordered to build on previous content.

Getting started

First, for some quick 15-minute background, I recommend this Google Cloud Platform Overview. It’s a one-page survey of all the necessary concepts you need to work in Cloud Platform. Then, you may want to scan the related Cloud Platform Services doc, another one-pager that introduces the primary customer-facing services (including networking services) that you might need. It’s not obvious but Cloud Platform networking also lays the foundation for the newer managed services mentioned including Google Container Engine (Kubernetes) and Cloud Dataflow. After all that, you’ll have a good idea of the landscape and be ready to actually do something in GCP!

(click to enlarge)

Networking Codelabs

Google has an entire site devoted to Codelabs — my favorite way to learn nontrivial technical concepts. Within the Cloud Codelabs there are two really excellent networking Codelabs: Networking 101 and Networking 102. I recommend them highly for a few reasons. Each one only takes about 90 minutes end-to-end; each is a quick survey of a few of the most commonly used features in cloud networking; both include really helpful hints about performance and, most importantly, after completing these Codelabs, you’ll have a really good sandbox for experimenting in cloud networking on Google Cloud Platform.

Google Cloud Networking references

Another question you may have is what are the best Google Cloud Networking reference docs? The Google Cloud Networking feature docs are split between two main landing pages: the Cloud Networking Products page and the Compute Engine networking page. The products page introduces the main product feature areas: Cloud Virtual Network, Autoscaling and Load Balancing, Global DNS, Cloud Interconnect and Cloud CDN. Be sure to scroll down to the end, because there are some really valuable links to guides and resources at the very bottom of each page that a lot of people miss out on.
The Compute Engine networking page is a treasure trove of all kinds of interesting details that you won’t find anywhere else. It includes the picture I hold in my mind for how networks and subnetworks are related to regions and zones, details about quotas, default IP ranges, default routes, firewall rules, details about internal DNS, and some simple command line examples using gcloud.

An example of the kind of gem you’ll find on this page is a little blurb on measuring network throughput that links to the PerfKitBenchMarker tool, an open-source benchmark tool for comparing cloud providers (more on that below). I return to this page frequently and find things explained that previously confused me.

For future reference, the Google Cloud Platform documentation also maintains a list of networking tutorials and solutions documents with some really interesting integration topics. And you should definitely check out Google Cloud Platform for AWS Professionals: Networking, an excellent, comprehensive digest of networking features.

Price and performance

Before you do too much, you might want to get a sense for how much of your free quota it will cost you to run through more networking experiments. Get yourself acquainted with the Cloud Platform Pricing page as a reference (notice the “Free credits” link at the bottom of the page). Then, you can find the rest of what you need under Compute Engine Pricing. There, you can see rates for the standard machine types used in the Codelabs, and also a link to General network pricing. A little further down, you’ll find the IP address pricing numbers. Finally, you may find it useful to click through the link at the very bottom to the estimated billing charges invoice page for a summary of what you spent on the codelabs.

Once you’ve done that, you can start thinking about the simple performance and latency tests you completed in the Codelabs. There’s a very helpful discussion on egress throughput caps buried in the Networking and Firewalls doc and you can run your own throughput experiments with PerfKitBenchMarker (sources). This tool does all the heavy lifting with respect to spinning up instances, and understands how different cloud providers define regions, making for relevant comparisons. Also, with PerfKitBenchmaker, someone else has already done the hard work of identifying the accepted benchmarks in various areas.


Real world use cases

Now that you understand the main concepts and features behind Google Cloud Networking, you might want to see how others put them all together. A common first question is how to set things up securely. Securely Connecting to VM Instances is a really good walkthrough that includes more overviews of key topics (firewalls, HTTPS/SSL, VPN, NAT, serial console), some useful gcloud examples and a nice picture that reflects the jumphost setup in the codelab.


Next you should watch two excellent videos from GCP Next 2016: Seamlessly Migrating your Networks to GCP and Load Balancing, Autoscaling & Optimizing Your App Around the Globe. What I like about these videos is that they hit all the high points for how people talk about public cloud virtual networking, and offer examples of common approaches used by large early adopters.
A common question about cloud networking technologies is how to distribute your services around the globe. The Regions and Zones document explains specifically where GCP resources reside, and Google’s research paper Software Defined Networking at Scale (more below) has pretty map-based pictures of Google’s Global CDN and inter-Datacenter WAN that I really like. This Google infrastructure page has zoomable maps with Google’s data centers around the world marked and you can read how Google uses its four undersea cables, with more ‘under’ the horizon, to connect them here.



Finally, you may want to check out this sneaky-useful collection of articles discussing approaches to geographic management of data. I plan to go through the solutions referenced at the bottom of this page to get more good ideas on how to use multiple regions effectively.

Another thing that resonated with me from both GCP Next 2016 videos was the discussion about how easy it is to setup and manage services in GCP to serve from closest, low-latency instances using a single global Anycast VIP. For more on this, the Load Balancing and Scaling concept doc offers a really nice overview of the topic. Then, for some initial exploration of load balancing, check out Setting Up Network Load Balancing.
And in case you were wondering from exactly where Google peers and serves CDN content, visit the Google Edge Network/Peering site and PeeringDB for more details. The peering infrastructure page has zoomable maps where you can see Google’s Edge PoPs and nodes.


Best practices

There’s also a wealth of documents about best practices for Google Cloud Networking. I really like the Best Practices for Networking and Security within the Best Practices for Enterprise Organizations document, and DDoS Best Practices doc provides more useful ways to think about building a global service.
Another key concept to wrap your head around is Cloud Identity & Access Management (IAM). In particular, check out the Understanding Roles doc for its introduction to network- and security-specific roles. Service accounts play a key role here. Understanding Service Accounts walks you through the considerations, and Using IAM Securely offers some best practices checklists. Also, for some insight into where this all leads, check out Access Control for Organizations using IAM [Beta].

A little history of Google Cloud Networking

All this research about Google Cloud Networking may leave you wanting to know more about its history. I checked out the research papers referenced in the previously mentioned video Seamlessly Migrating your Networks to GCP and — warning — they’re deep, but they’ll help you understand the fundamentals of how Google Cloud Networking has evolved over the past decade, and how its highly distributed services deliver the performance and competitive pricing for which it’s known.

Google’s network-related research papers fall into two categories:

Cloud Networking fundamentals

Networking background


The Andromeda network architecture (source)

I hope this post is useful, and that these resources help you better understand the ins and outs of Google Cloud Networking. If you have any other good resources, be sure to share them in the comments.


Using Google’s cloud networking products: a guide to all the guides




I’m a relative newcomer to Google Cloud Platform. After nine years working in Technical Infrastructure, I recently joined the team to work hand-in-hand with customers building out next-generation applications and services on the platform. In this role, I realized that my privileged understanding of how we build our systems can be hard to come by from outside the organization. That is, unless you know where to look.

I recently spent a bunch of time hopping around the Google Cloud Networking pages under the main GCP site, looking for materials that could help a customer better understand our approach.
What follows is a series of links for anyone who may want an introduction to Google Cloud Networking, presented in digestible pieces and ordered to build on previous content.

Getting started

First, for some quick 15-minute background, I recommend this Google Cloud Platform Overview. It’s a one-page survey of all the necessary concepts you need to work in Cloud Platform. Then, you may want to scan the related Cloud Platform Services doc, another one-pager that introduces the primary customer-facing services (including networking services) that you might need. It’s not obvious but Cloud Platform networking also lays the foundation for the newer managed services mentioned including Google Container Engine (Kubernetes) and Cloud Dataflow. After all that, you’ll have a good idea of the landscape and be ready to actually do something in GCP!

(click to enlarge)

Networking Codelabs

Google has an entire site devoted to Codelabs — my favorite way to learn nontrivial technical concepts. Within the Cloud Codelabs there are two really excellent networking Codelabs: Networking 101 and Networking 102. I recommend them highly for a few reasons. Each one only takes about 90 minutes end-to-end; each is a quick survey of a few of the most commonly used features in cloud networking; both include really helpful hints about performance and, most importantly, after completing these Codelabs, you’ll have a really good sandbox for experimenting in cloud networking on Google Cloud Platform.

Google Cloud Networking references

Another question you may have is what are the best Google Cloud Networking reference docs? The Google Cloud Networking feature docs are split between two main landing pages: the Cloud Networking Products page and the Compute Engine networking page. The products page introduces the main product feature areas: Cloud Virtual Network, Autoscaling and Load Balancing, Global DNS, Cloud Interconnect and Cloud CDN. Be sure to scroll down to the end, because there are some really valuable links to guides and resources at the very bottom of each page that a lot of people miss out on.
The Compute Engine networking page is a treasure trove of all kinds of interesting details that you won’t find anywhere else. It includes the picture I hold in my mind for how networks and subnetworks are related to regions and zones, details about quotas, default IP ranges, default routes, firewall rules, details about internal DNS, and some simple command line examples using gcloud.

An example of the kind of gem you’ll find on this page is a little blurb on measuring network throughput that links to the PerfKitBenchMarker tool, an open-source benchmark tool for comparing cloud providers (more on that below). I return to this page frequently and find things explained that previously confused me.

For future reference, the Google Cloud Platform documentation also maintains a list of networking tutorials and solutions documents with some really interesting integration topics. And you should definitely check out Google Cloud Platform for AWS Professionals: Networking, an excellent, comprehensive digest of networking features.

Price and performance

Before you do too much, you might want to get a sense for how much of your free quota it will cost you to run through more networking experiments. Get yourself acquainted with the Cloud Platform Pricing page as a reference (notice the “Free credits” link at the bottom of the page). Then, you can find the rest of what you need under Compute Engine Pricing. There, you can see rates for the standard machine types used in the Codelabs, and also a link to General network pricing. A little further down, you’ll find the IP address pricing numbers. Finally, you may find it useful to click through the link at the very bottom to the estimated billing charges invoice page for a summary of what you spent on the codelabs.

Once you’ve done that, you can start thinking about the simple performance and latency tests you completed in the Codelabs. There’s a very helpful discussion on egress throughput caps buried in the Networking and Firewalls doc and you can run your own throughput experiments with PerfKitBenchMarker (sources). This tool does all the heavy lifting with respect to spinning up instances, and understands how different cloud providers define regions, making for relevant comparisons. Also, with PerfKitBenchmaker, someone else has already done the hard work of identifying the accepted benchmarks in various areas.


Real world use cases

Now that you understand the main concepts and features behind Google Cloud Networking, you might want to see how others put them all together. A common first question is how to set things up securely. Securely Connecting to VM Instances is a really good walkthrough that includes more overviews of key topics (firewalls, HTTPS/SSL, VPN, NAT, serial console), some useful gcloud examples and a nice picture that reflects the jumphost setup in the codelab.


Next you should watch two excellent videos from GCP Next 2016: Seamlessly Migrating your Networks to GCP and Load Balancing, Autoscaling & Optimizing Your App Around the Globe. What I like about these videos is that they hit all the high points for how people talk about public cloud virtual networking, and offer examples of common approaches used by large early adopters.
A common question about cloud networking technologies is how to distribute your services around the globe. The Regions and Zones document explains specifically where GCP resources reside, and Google’s research paper Software Defined Networking at Scale (more below) has pretty map-based pictures of Google’s Global CDN and inter-Datacenter WAN that I really like. This Google infrastructure page has zoomable maps with Google’s data centers around the world marked and you can read how Google uses its four undersea cables, with more ‘under’ the horizon, to connect them here.



Finally, you may want to check out this sneaky-useful collection of articles discussing approaches to geographic management of data. I plan to go through the solutions referenced at the bottom of this page to get more good ideas on how to use multiple regions effectively.

Another thing that resonated with me from both GCP Next 2016 videos was the discussion about how easy it is to setup and manage services in GCP to serve from closest, low-latency instances using a single global Anycast VIP. For more on this, the Load Balancing and Scaling concept doc offers a really nice overview of the topic. Then, for some initial exploration of load balancing, check out Setting Up Network Load Balancing.
And in case you were wondering from exactly where Google peers and serves CDN content, visit the Google Edge Network/Peering site and PeeringDB for more details. The peering infrastructure page has zoomable maps where you can see Google’s Edge PoPs and nodes.


Best practices

There’s also a wealth of documents about best practices for Google Cloud Networking. I really like the Best Practices for Networking and Security within the Best Practices for Enterprise Organizations document, and DDoS Best Practices doc provides more useful ways to think about building a global service.
Another key concept to wrap your head around is Cloud Identity & Access Management (IAM). In particular, check out the Understanding Roles doc for its introduction to network- and security-specific roles. Service accounts play a key role here. Understanding Service Accounts walks you through the considerations, and Using IAM Securely offers some best practices checklists. Also, for some insight into where this all leads, check out Access Control for Organizations using IAM [Beta].

A little history of Google Cloud Networking

All this research about Google Cloud Networking may leave you wanting to know more about its history. I checked out the research papers referenced in the previously mentioned video Seamlessly Migrating your Networks to GCP and — warning — they’re deep, but they’ll help you understand the fundamentals of how Google Cloud Networking has evolved over the past decade, and how its highly distributed services deliver the performance and competitive pricing for which it’s known.

Google’s network-related research papers fall into two categories:

Cloud Networking fundamentals

Networking background


The Andromeda network architecture (source)

I hope this post is useful, and that these resources help you better understand the ins and outs of Google Cloud Networking. If you have any other good resources, be sure to share them in the comments.


How to set up Ads on your AMP Pages

Posted by Arudea Mahartianto, Google AMP Specialist

From conception, the open source Accelerated Mobile Pages Project has had a clear goal --- to make the mobile web experience better and faster for users. This extends beyond content to creating a user-first approach to advertising as well.

To realize this vision, the AMP team created an advertising solution that follows four core principles:

  • Faster is better - There is no reason ads in AMP can’t be as fast as the AMP document itself.
  • Beautiful matters - Ensure ads in AMP are beautiful and relevant.
  • Security is a must - Require all creatives to utilize the HTTPS protocol.
  • We’re better together - AMP isn’t about supporting a single advertising entity, but an entire industry. Success requires broad industry participation.

Ads in AMP are delivered using the amp-ad component. Using this component you can configure your ads in a number of ways such as the width, length, layout mode and ad loading strategy. Different ad networks might allow even more options.

Here is an example of an DoubleClick responsive ad implementation in AMP:

<amp-ad
width="414"
height="457"
layout=”responsive”
type="doubleclick"
data-slot="/35096353/amptesting/image/flex">
</amp-ad>

The type attribute informs the amp-ad component which ad platform to use. In this case we want DoubleClick and therefore the type value is doubleclick. For above the fold responsive ad implementation please use layout="fixed-height" instead and limit the ad height so users will get a fast loading content-focused experience from the very start.

Any attributes starting with data- in amp-ad are ad platform-specific attributes, including the data-slot attribute in the snippet above. Each ad platform will have different attributes available to configure. For example, compare the above DoubleClick example with another AMP ad example that uses the Rubicon platform:

<amp-ad width=320 height=50
type="rubicon"
data-method="smartTag"
data-account="14062"
data-site="70608"
data-zone="335918"
data-size="43">
</amp-ad>

For more amp-ad implementation examples, please check out AMP By Example. You can also check out the amp-ad documentation for the complete list of supported ad networks and their configuration semantics.

The team is also developing newer, better ways to bring the benefits of AMP to the ads ecosystem with initiatives like AMP for Ads and AMP Ad Landing Pages. These solutions will enable advertisers to design creatives and ad landing pages that are more consistent with the AMP experience publishers are bringing to users. We believe this will bring us closer to the goal of making the entire mobile web experience faster and better for everybody.