CINXE.COM

Official Google Cloud Blog: google cloud storage

<!DOCTYPE html> <html class='v2 list-page' dir='ltr' itemscope='' itemtype='http://schema.org/Blog' lang='en' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'> <head> <link href='https://www.blogger.com/static/v1/widgets/3566091532-css_bundle_v2.css' rel='stylesheet' type='text/css'/> <title> Official Google Cloud Blog: google cloud storage </title> <meta content='width=device-width, height=device-height, minimum-scale=1.0, initial-scale=1.0, user-scalable=0' name='viewport'/> <meta content='IE=Edge' http-equiv='X-UA-Compatible'/> <meta content='Official Google Cloud Blog' property='og:title'/> <meta content='en_US' property='og:locale'/> <meta content='https://cloud.googleblog.com/search/label/google%20cloud%20storage' property='og:url'/> <meta content='Official Google Cloud Blog' property='og:site_name'/> <!-- Twitter Card properties --> <meta content='Official Google Cloud Blog' property='og:title'/> <meta content='summary' name='twitter:card'/> <meta content='@gsuite' name='twitter:creator'/> <link href='https://fonts.googleapis.com/css?family=Roboto:400italic,400,500,500italic,700,700italic' rel='stylesheet' type='text/css'/> <link href='https://fonts.googleapis.com/icon?family=Material+Icons' rel='stylesheet'/> <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js' type='text/javascript'></script> <!-- End --> <style id='page-skin-1' type='text/css'><!-- /* <Group description="Header Color" selector="header"> <Variable name="header.background.color" description="Header Background" type="color" default="#ffffff"/> </Group> */ .header-outer { border-bottom: 1px solid #e0e0e0; background: #ffffff; } html, .Label h2, #sidebar .rss a, .BlogArchive h2, .FollowByEmail h2.title, .widget .post h2 { font-family: Roboto, sans-serif; } .plusfollowers h2.title, .post h2.title, .widget h2.title { font-family: Roboto, sans-serif; } .widget-item-control { height: 100%; } .widget.Header, #header { position: relative; height: 100%; width: 100%; } } .widget.Header .header-logo1 { float: left; margin-right: 15px; padding-right: 15px; border-right: 1px solid #ddd; } .header-title h2 { color: rgba(0,0,0,.54); display: inline-block; font-size: 40px; font-family: Roboto, sans-serif; font-weight: normal; line-height: 56px; vertical-align: top; margin-left:5px; } .header-inner { background-repeat: no-repeat; background-position: right 0px; } .post-author, .byline-author { font-size: 14px; font-weight: normal; color: #757575; color: rgba(0,0,0,.54); } .post-content .img-border { border: 1px solid rgb(235, 235, 235); padding: 4px; } .header-title a { text-decoration: none !important; } pre { border: 1px solid #bbbbbb; margin-top: 1em 0 0 0; padding: 0.99em; overflow-x: auto; overflow-y: auto; } pre, code { font-size: 9pt; background-color: #fafafa; line-height: 125%; font-family: monospace; } pre, code { color: #060; font: 13px/1.54 "courier new",courier,monospace; } .header-left .header-logo1 { width: 128px !important; } .header-desc { line-height: 20px; margin-top: 8px; } .fb-custom img, .twitter-custom img, .gplus-share img { cursor: pointer; opacity: 0.54; } .fb-custom img:hover, .twitter-custom img:hover, .gplus-share img:hover { opacity: 0.87; } .fb-like { width: 80px; } .post .share { float: right; } #twitter-share{ border: #CCC solid 1px; border-radius: 3px; background-image: -webkit-linear-gradient(top,#ffffff,#dedede); } .twitter-follow { background: url(//4.bp.blogspot.com/-8O7VcmcY32o/VSYkC2vUj7I/AAAAAAAAHeU/7mzo-JFgTgk/s1600/twitter-bird.png) no-repeat left center; padding-left: 18px; font: normal normal normal 11px/18px 'Helvetica Neue',Arial,sans-serif; font-weight: bold; text-shadow: 0 1px 0 rgba(255,255,255,.5); cursor: pointer; margin-bottom: 10px; } .twitter-fb { padding-top: 2px; } .fb-follow-button { background: -webkit-linear-gradient(#4c69ba, #3b55a0); background: -moz-linear-gradient(#4c69ba, #3b55a0); background: linear-gradient(#4c69ba, #3b55a0); border-radius: 2px; height: 18px; padding: 4px 0 0 3px; width: 57px; border: #4c69ba solid 1px; } .fb-follow-button a { text-decoration: none !important; text-shadow: 0 -1px 0 #354c8c; text-align: center; white-space: nowrap; font-size: 11px; color: white; vertical-align: top; } .fb-follow-button a:visited { color: white; } .fb-follow { padding: 0px 5px 3px 0px; width: 14px; vertical-align: bottom; } .gplus-wrapper { margin-top: 3px; display: inline-block; vertical-align: top; } .twitter-custom, .gplus-share { margin-right: 12px; } .fb-follow-button{ margin: 10px auto; } /** CUSTOM CODE **/ --></style> <style id='template-skin-1' type='text/css'><!-- .header-outer { clear: both; } .header-inner { margin: auto; padding: 0px; } .footer-outer { background: #f5f5f5; clear: both; margin: 0; } .footer-inner { margin: auto; padding: 0px; } .footer-inner-2 { /* Account for right hand column elasticity. */ max-width: calc(100% - 248px); } .google-footer-outer { clear: both; } .cols-wrapper, .google-footer-outer, .footer-inner, .header-inner { max-width: 978px; margin-left: auto; margin-right: auto; } .cols-wrapper { margin: auto; clear: both; margin-top: 60px; margin-bottom: 60px; overflow: hidden; } .col-main-wrapper { float: left; width: 100%; } .col-main { margin-right: 278px; max-width: 660px; } .col-right { float: right; width: 248px; margin-left: -278px; } /* Tweaks for layout mode. */ body#layout .google-footer-outer { display: none; } body#layout .header-outer, body#layout .footer-outer { background: none; } body#layout .header-inner { height: initial; } body#layout .cols-wrapper { margin-top: initial; margin-bottom: initial; } --></style> <!-- start all head --> <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/> <meta content='blogger' name='generator'/> <link href='https://cloud.googleblog.com/favicon.ico' rel='icon' type='image/x-icon'/> <link href='https://cloud.googleblog.com/search/label/google%20cloud%20storage' rel='canonical'/> <link rel="alternate" type="application/atom+xml" title="Official Google Cloud Blog - Atom" href="https://cloud.googleblog.com/feeds/posts/default" /> <link rel="alternate" type="application/rss+xml" title="Official Google Cloud Blog - RSS" href="https://cloud.googleblog.com/feeds/posts/default?alt=rss" /> <link rel="service.post" type="application/atom+xml" title="Official Google Cloud Blog - Atom" href="https://www.blogger.com/feeds/6567687196385815607/posts/default" /> <!--Can't find substitution for tag [blog.ieCssRetrofitLinks]--> <meta content='https://cloud.googleblog.com/search/label/google%20cloud%20storage' property='og:url'/> <meta content='Official Google Cloud Blog' property='og:title'/> <meta content='Built in the cloud. Engineered for your enterprise.' property='og:description'/> <!-- end all head --> <base target='_self'/> <style> html { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; } body { padding: 0; /* This ensures that the scroll bar is always present, which is needed */ /* because content render happens after page load; otherwise the header */ /* would "bounce" in-between states. */ min-height: 150%; } h2 { font-size: 16px; } h1, h2, h3, h4, h5 { line-height: 2em; } html, h4, h5, h6 { font-size: 14px; } a, a:visited { color: #4184F3; text-decoration: none; } a:focus, a:hover, a:active { text-decoration: none; } .Header { margin-top: 15px; } .Header h1 { font-size: 32px; font-weight: 300; line-height: 32px; height: 42px; } .header-inner .Header .titlewrapper { padding: 0; margin-top: 30px; } .header-inner .Header .descriptionwrapper { padding: 0; margin: 0; } .cols-wrapper { margin-top: 56px; } .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 60px; } .header-inner { height: 256px; position: relative; } html, .header-inner a { color: #212121; color: rgba(0,0,0,.87); } .header-inner .google-logo { display: inline-block; background-size: contain; z-index: 1; height: 50px; overflow: hidden; margin-top: 4px; } .header-left { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); margin-top: 12px; width: 100%; } .google-logo { margin-left: -4px; } #google-footer { position: relative; font-size: 13px; list-style: none; text-align: right; } #google-footer a { color: #444; } #google-footer ul { margin: 0; padding: 0; height: 144px; line-height: 144px; } #google-footer ul li { display: inline; } #google-footer ul li:before { color: #999; content: "\00b7"; font-weight: bold; margin: 5px; } #google-footer ul li:first-child:before { content: ''; } #google-footer .google-logo-dark { left: 0; margin-top: -16px; position: absolute; top: 50%; } /** Sitemap links. **/ .footer-inner-2 { font-size: 14px; padding-top: 42px; padding-bottom: 74px; } .footer-inner-2 .HTML h2 { color: #212121; color: rgba(0,0,0,.87); font-size: 14px; font-weight: 500; padding-left: 0; margin: 10px 0; } .footer-inner-2 .HTML ul { font-weight: normal; list-style: none; padding-left: 0; } .footer-inner-2 .HTML li { line-height: 24px; padding: 0; } .footer-inner-2 li a { color: rgba(65,132,243,.87); } /** Archive widget. **/ .BlogArchive { font-size: 13px; font-weight: normal; } .BlogArchive .widget-content { display: none; } .BlogArchive h2, .Label h2 { color: #4184F3; text-decoration: none; } .BlogArchive .hierarchy li { display: inline-block; } /* Specificity needed here to override widget CSS defaults. */ .BlogArchive #ArchiveList ul li, .BlogArchive #ArchiveList ul ul li { margin: 0; padding-left: 0; text-indent: 0; } .BlogArchive .intervalToggle { cursor: pointer; } .BlogArchive .expanded .intervalToggle .new-toggle { -ms-transform: rotate(180deg); transform: rotate(180deg); } .BlogArchive .new-toggle { float: right; padding-top: 3px; opacity: 0.87; } #ArchiveList { text-transform: uppercase; } #ArchiveList .expanded > ul:last-child { margin-bottom: 16px; } #ArchiveList .archivedate { width: 100%; } /* Months */ .BlogArchive .items { max-width: 150px; margin-left: -4px; } .BlogArchive .expanded .items { margin-bottom: 10px; overflow: hidden; } .BlogArchive .items > ul { float: left; height: 32px; } .BlogArchive .items a { padding: 0 4px; } .Label { font-size: 13px; font-weight: normal; } .sidebar-icon { display: inline-block; width: 24px; height: 24px; vertical-align: middle; margin-right: 12px; margin-top: -1px } .Label a { margin-right: 4px; } .Label .widget-content { display: none; } .FollowByEmail { font-size: 13px; font-weight: normal; } .FollowByEmail h2 { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUBJREFUeNrMkSGLAlEUhb+ZB4JFi8mx2cz+ApvhRUGTcUCrNqNJDYIi+DO0GUwmQXDK2DSIoGgZcSaIjDrzwrK4ssvChj1w0733O+fdp+m6PozH4yQSCfb7Pa7r8pOi0SjJZBLP8zgej4gAIMvlMuPxmADIYrHger1+C6lUKmo+NJ/NZojb7SZDWiwWo1qtks1msW2bw+HwZdkwDHq9HvV6nel0SqvVYrvdIh6Ph3Qch+VyqRYLhQJSSjRNw7IsfN9XgGKxSLfbJZfL0e/3aTabrFYr7vc7IujLcOh8PqunrNdr0uk0pVKJVCpFJBJRgEajweVyod1uMxgM2O12BAGUgRbU8DV2JpOhVquRz+cRQii3+XxOp9NRN3jVR5LPOp1OjEYjlSL8hclkgmmabDabt4d+m+S30vkD/R/IU4ABAPTZgnZdmG/PAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-position: 0 50%; text-indent: 30px; } .FollowByEmail .widget-content { display: none; } .searchBox input { border: 1px solid #eee; color: #212121; color: rgba(0,0,0,.87); font-size: 14px; padding: 8px 8px 8px 40px; width: 164px; font-family: Roboto, sans-serif; background: url("https://www.gstatic.com/images/icons/material/system/1x/search_grey600_24dp.png") 8px center no-repeat; } .searchBox ::-webkit-input-placeholder { /* WebKit, Blink, Edge */ color: rgba(0,0,0,.54); } .searchBox :-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #000; opacity: 0.54; } .searchBox ::-moz-placeholder { /* Mozilla Firefox 19+ */ color: #000; opacity: 0.54; } .searchBox :-ms-input-placeholder { /* Internet Explorer 10-11 */ color: #757575; } .widget-item-control { margin-top: 0px; } .section { margin: 0; padding: 0; } #sidebar-top { border: 1px solid #eee; } #sidebar-top > div { margin: 16px 0; } .widget ul { line-height: 1.6; } /*main post*/ .post { margin-bottom:30px; } #main .post .title { margin: 0; } #main .post .title a { color: #212121; color: rgba(0,0,0,.87); font-weight: normal; font-size: 24px; } #main .post .title a:hover { text-decoration:none; color:#4184F3; } .message, #main .post .post-header { margin: 0; padding: 0; } #main .post .post-header .caption, #main .post .post-header .labels-caption, #main .post .post-footer .caption, #main .post .post-footer .labels-caption { color: #444; font-weight: 500; } #main .tr-caption-container td { text-align: left; } #main .post .tr-caption { color: #757575; color: rgba(0,0,0,.54); display: block; max-width: 560px; padding-bottom: 20px; } #main .post .tr-caption-container { line-height: 24px; margin: -1px 0 0 0 !important; padding: 4px 0; text-align: left; } #main .post .post-header .published{ font-size:11px; font-weight:bold; } .post-header .publishdate { font-size: 17px; font-weight:normal; color: #757575; color: rgba(0,0,0,.54); } #main .post .post-footer{ font-size:12px; padding-bottom: 21px; } .label-footer { margin-bottom: 12px; margin-top: 12px; } .comment-img { margin-right: 16px; opacity: 0.54; vertical-align: middle; } #main .post .post-header .published { margin-bottom: 40px; margin-top: -2px; } .post .post-content { color: #212121; color: rgba(0,0,0,.87); font-size: 17px; margin: 25px 0 36px 0; line-height: 32px; } .post-body .post-content ul, .post-body .post-content ol { margin: 16px 0; padding: 0 48px; } .post-summary { display: none; } /* Another old-style caption. */ .post-content div i, .post-content div + i { font-size: 14px; font-style: normal; color: #757575; color: rgba(0,0,0,.54); display: block; line-height: 24px; margin-bottom: 16px; text-align: left; } /* Another old-style caption (with link) */ .post-content a > i { color: #4184F3 !important; } /* Old-style captions for images. */ .post-content .separator + div:not(.separator) { margin-top: -16px; } /* Capture section headers. */ .post-content br + br + b, .post-content .space + .space + b, .post-content .separator + b { display: inline-block; margin-bottom: 8px; margin-top: 24px; } .post-content li { line-height: 32px; } /* Override all post images/videos to left align. */ .post-content .separator, .post-content > div { text-align: left; } .post-content .separator > a, .post-content .separator > span { margin-left: 0 !important; } .post-content img { max-width: 100%; height: auto; width: auto; } .post-content .tr-caption-container img { margin-bottom: 12px; } .post-content iframe, .post-content embed { max-width: 100%; } .post-content .carousel-container { margin-bottom: 48px; } #main .post-content b { font-weight: 500; } /* These are the main paragraph spacing tweaks. */ #main .post-content br { content: ' '; display: block; padding: 4px; } .post-content .space { display: block; height: 8px; } .post-content iframe + .space, .post-content iframe + br { padding: 0 !important; } #main .post .jump-link { margin-bottom:10px; } .post-content img, .post-content iframe { margin: 30px 0 20px 0; } .post-content > img:first-child, .post-content > iframe:first-child { margin-top: 0; } .col-right .section { padding: 0 16px; } #aside { background:#fff; border:1px solid #eee; border-top: 0; } #aside .widget { margin:0; } #aside .widget h2, #ArchiveList .toggle + a.post-count-link { color: #212121; color: rgba(0,0,0,.87); font-weight: 400 !important; margin: 0; } #ArchiveList .toggle { float: right; } #ArchiveList .toggle .material-icons { padding-top: 4px; } #sidebar .tab { cursor: pointer; } #sidebar .tab .arrow { display: inline-block; float: right; } #sidebar .tab .icon { display: inline-block; vertical-align: top; height: 24px; width: 24px; margin-right: 13px; margin-left: -1px; margin-top: 1px; color: #757575; color: rgba(0,0,0,.54); } #sidebar .widget-content > :first-child { padding-top: 8px; } #sidebar .active .tab .arrow { -ms-transform: rotate(180deg); transform: rotate(180deg); } #sidebar .arrow { color: #757575; color: rgba(0,0,0,.54); } #sidebar .widget h2 { font-size: 14px; line-height: 24px; display: inline-block; } #sidebar .widget .BlogArchive { padding-bottom: 8px; } #sidebar .widget { border-bottom: 1px solid #eee; box-shadow: 0px 1px 0 white; margin-bottom: 0; padding: 14px 0; min-height: 20px; } #sidebar .widget:last-child { border-bottom: none; box-shadow: none; margin-bottom: 0; } #sidebar ul { margin: 0; padding: 0; } #sidebar ul li { list-style:none; padding:0; } #sidebar ul li a { line-height: 32px; } #sidebar .archive { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAYCAYAAADzoH0MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAE1JREFUeNpiNDY23s9AAWBioBCwYBM8c+YMVsUmJibEGYBNMS5DaeMFfDYSZQA2v9I3FrB5AZeriI4FmnrBccCT8mhmGs1MwyAzAQQYAKEWG9zm9QFEAAAAAElFTkSuQmCC"); height: 24px; line-height: 24px; padding-left: 30px; } #sidebar .labels { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUxJREFUeNpiNDY23s9AAMycOfM7UF05kHkZmzwTMkdSUhKrIcXFxZy3bt3qBjIN8RrS09PDsHnzZjCNDr58+cKQlpbGDjSoHcg1w2oIyAUODg5gARCNzUVIBrUCuVYYhjx//pzhwIEDYAEQDeJjA1CDWIAGNQK59jBxRuSABbkAlwHIgIeHh2HWrFn/1NTU2oDcvSgBS4wBSC5iArqoCsj1YGIgEyAZVMoEchqlBjEB/cZAiUHg2AEGznpKDAImxOeM////B4VLKtBvEUCngZ1ILKivr3/u6+ubBzJAGZQ9gC5aQoqLgAY8BhkAZL4BuQQkxgXE34A4BuiiZEIuAhrwEGhAEZD5DpzYoIaA2UAM4kQADUrHZRDUgAIg8wO2XAwzbQXQa5OweQ1owB10AyA6gS7BgX1u3ry5397eHow3bdo0EyjGi00tQIABANPgyAH1q1eaAAAAAElFTkSuQmCC"); height: 20px; line-height: 20px; padding-left: 30px; } #sidebar .rss a { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAX5JREFUeNqsVDGSgkAQHL2rIiIikohIc/EBRkbwAIwuwgfwAXiAD9AHSI7kEkECRCb6AIyINDLx7K0aa6kT7uq0q7YYtnZ7umdnt7darXbr9Zpegeu61DNNc0dvwCcH4/GYJpMJnc9nOhwOVJbl/4hAAokMECZJQtvt9k+kH7qufyEYDAakqqqYxFdRFBqNRmTbNg2HQ0rTlK7XayvR0xqBdDqdkuM4dE/0ULhYLOh4PHYrknG5XGi/31MYhuL/nkwonM1mlGUZ1XXdrsiyLGEDhY7juJEZ1u5tIixDGdYhmYw+B7CAzPP5nDabjdgIAgCksMX1832/3drtdqPT6SQWapomiGEFNkDEdpDMMAzK81ys/7XYy+XyoQgq2WoURSIJ2iIIgp/WZCCTvFm2wgeAU31aI3Q2GhIDMeB53qPYPIcm5VrxXIOIOxsDMStjVawAc1VViRgN22lNBiuQN3GR+SY07hpOoStmFQAKXRRFY93bnpG+fONfedi+BRgAbkS8Fxp7QQIAAAAASUVORK5CYII="); } #sidebar .subscription a { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUBJREFUeNrMkSGLAlEUhb+ZB4JFi8mx2cz+ApvhRUGTcUCrNqNJDYIi+DO0GUwmQXDK2DSIoGgZcSaIjDrzwrK4ssvChj1w0733O+fdp+m6PozH4yQSCfb7Pa7r8pOi0SjJZBLP8zgej4gAIMvlMuPxmADIYrHger1+C6lUKmo+NJ/NZojb7SZDWiwWo1qtks1msW2bw+HwZdkwDHq9HvV6nel0SqvVYrvdIh6Ph3Qch+VyqRYLhQJSSjRNw7IsfN9XgGKxSLfbJZfL0e/3aTabrFYr7vc7IujLcOh8PqunrNdr0uk0pVKJVCpFJBJRgEajweVyod1uMxgM2O12BAGUgRbU8DV2JpOhVquRz+cRQii3+XxOp9NRN3jVR5LPOp1OjEYjlSL8hclkgmmabDabt4d+m+S30vkD/R/IU4ABAPTZgnZdmG/PAAAAAElFTkSuQmCC"); } #sidebar-bottom { background: #f5f5f5; border-top:1px solid #eee; } #sidebar-bottom .widget { border-bottom: 1px solid #e0e0e0; padding: 15px 0; text-align: center; } #sidebar-bottom > div:last-child { border-bottom: 0; } #sidebar-bottom .text { line-height: 20px; } /* Home, forward, and backward pagination. */ .blog-pager { border-top : 1px #e0e0e0 solid; padding-top: 10px; margin-top: 15px; text-align: right !important; } #blog-pager { margin-botom: 0; margin-top: -14px; padding: 16px 0 0 0; } #blog-pager a { display: inline-block; } .blog-pager i.disabled { opacity: 0.2 !important; } .blog-pager i { color: black; margin-left: 16px; opacity: 0.54; } .blog-pager i:hover, .blog-pager i:active { opacity: 0.87; } #blog-pager-older-link, #blog-pager-newer-link { float: none; } .gplus-profile { background-color: #fafafa; border: 1px solid #eee; overflow: hidden; width: 212px; } .gplus-profile-inner { margin-left: -1px; margin-top: -1px; } /* Sidebar follow buttons. */ .followgooglewrapper { padding: 12px 0 0 0; } .loading { visibility: hidden; } .detail-page .post-footer .cmt_iframe_holder { padding-top: 40px !important; } /** Desktop **/ @media (max-width: 900px) { .col-right { display: none; } .col-main { margin-right: 0; min-width: initial; } .footer-outer { display: none; } .cols-wrapper { min-width: initial; } .google-footer-outer { background-color: #f5f5f5; } } /** Tablet **/ @media (max-width: 712px) { .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 40px; } } /* An extra breakpoint accommodating for long blog titles. */ @media (max-width: 600px) { .header-left { height: 100%; top: inherit; margin-top: 0; -webkit-transform: initial; transform: initial; } .header-title { margin-top: 18px; } .header-inner .google-logo { height: 40px; margin-top: 3px; } .header-inner .google-logo img { height: 35px; } .header-title h2 { font-size: 32px; line-height: 36px; } .header-desc { bottom: 24px; position: absolute; } } /** Mobile/small desktop window; also landscape. **/ @media (max-width: 480px), (max-height: 480px) { .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 16px; } .cols-wrapper { margin-top: 0; } .post-header .publishdate, .post .post-content { font-size: 16px; } .post .post-content { line-height: 28px; margin-bottom: 30px; } .post { margin-top: 30px; } .byline-author { display: block; font-size: 12px; line-height: 24px; margin-top: 6px; } #main .post .title a { font-weight: 500; color: #4c4c4c; color: rgba(0,0,0,.70); } #main .post .post-header { padding-bottom: 12px; } #main .post .post-header .published { margin-bottom: -8px; margin-top: 3px; } .post .read-more { display: block; margin-top: 14px; } .post .tr-caption { font-size: 12px; } #main .post .title a { font-size: 20px; line-height: 30px; } .post-content iframe { /* iframe won't keep aspect ratio when scaled down. */ max-height: 240px; } .post-content .separator img, .post-content .tr-caption-container img, .post-content iframe { margin-left: -16px; max-width: inherit; width: calc(100% + 32px); } .post-content table, .post-content td { width: 100%; } #blog-pager { margin: 0; padding: 16px 0; } /** List page tweaks. **/ .list-page .post-original { display: none; } .list-page .post-summary { display: block; } .list-page .comment-container { display: none; } .list-page #blog-pager { padding-top: 0; border: 0; margin-top: -8px; } .list-page .label-footer { display: none; } .list-page #main .post .post-footer { border-bottom: 1px solid #eee; margin: -16px 0 0 0; padding: 0 0 20px 0; } .list-page .post .share { display: none; } /** Detail page tweaks. **/ .detail-page .post-footer .cmt_iframe_holder { padding-top: 32px !important; } .detail-page .label-footer { margin-bottom: 0; } .detail-page #main .post .post-footer { padding-bottom: 0; } .detail-page #comments { display: none; } } [data-about-pullquote], [data-is-preview], [data-about-syndication] { display: none; } </style> <noscript> <style> .loading { visibility: visible }</style> </noscript> <script type='text/javascript'> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-18038-3', 'auto', 'blogger'); ga('blogger.send', 'pageview'); </script> <link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=6567687196385815607&amp;zx=e76fb540-b24b-49b0-9255-53fe5dfedfeb' media='none' onload='if(media!=&#39;all&#39;)media=&#39;all&#39;' rel='stylesheet'/><noscript><link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=6567687196385815607&amp;zx=e76fb540-b24b-49b0-9255-53fe5dfedfeb' rel='stylesheet'/></noscript> <meta name='google-adsense-platform-account' content='ca-host-pub-1556223355139109'/> <meta name='google-adsense-platform-domain' content='blogspot.com'/> </head> <body> <script type='text/javascript'> //<![CDATA[ var axel = Math.random() + ""; var a = axel * 10000000000000; document.write('<iframe src="https://2542116.fls.doubleclick.net/activityi;src=2542116;type=gblog;cat=googl0;ord=ord=' + a + '?" width="1" height="1" frameborder="0" style="display:none"></iframe>'); //]]> </script> <noscript> <img alt='' height='1' src='https://ad.doubleclick.net/ddm/activity/src=2542116;type=gblog;cat=googl0;ord=1?' width='1'/> </noscript> <!-- Header --> <div class='header-outer'> <div class='header-inner'> <div class='section' id='header'><div class='widget Header' data-version='1' id='Header1'> <div class='header-left'> <div class='header-title'> <a class='google-logo' href='https://cloud.googleblog.com/'> <img height="50" src="//3.bp.blogspot.com/-a3v4BOp6LoU/V-y9lFzsb_I/AAAAAAAATGY/aD_EUNu9X4MHVu3ScQH38S2yvyNAVON9ACK4B/s1600/logo_lockup_cloud_color.png"> </a> <a href='/.'> <h2> Official Blog </h2> </a> </div> <div class='header-desc'> Built in the cloud. Engineered for your enterprise. </div> </div> </div></div> </div> </div> <!-- all content wrapper start --> <div class='cols-wrapper loading'> <div class='col-main-wrapper'> <div class='col-main'> <div class='section' id='main'><div class='widget Blog' data-version='1' id='Blog1'> <div class='post' data-id='8538970891931979367' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2016/02/Sports-Authority-handles-2000-transactions-per-second-with-Google-Cloud-Platform.html' itemprop='url' title='Sports Authority handles 2,000 transactions per second with Google Cloud Platform'> Sports Authority handles 2,000 transactions per second with Google Cloud Platform </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Friday, February 19, 2016 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> <span class="byline-author">Posted by Jon Byrum, Product Marketing Manager, Google Cloud Platform </span> <br /> <br /> <i>(Cross-posted on the Google Cloud Platform <a href="http://googlecloudplatform.blogspot.com/2016/02/Sports-Authority-handles-2000-transactions-per-second-with-Google-Cloud-Platform.html" target="_blank">Blog</a>.)</i> <br /> <br /> Athletic gear, much like all apparel categories, is quickly shifting to an online sales business. <a href="http://www.sportsauthority.com/home/index.jsp" target="_blank">Sports Authority</a>, seeing the benefits that cloud could offer around agility and speed, turned to <a href="https://cloud.google.com/" target="_blank">Google Cloud Platform</a> to help it respond to its customers faster. <br /> <br /> In 2014, Sports Authority&#8217;s technical team was asked to build a solution that would expose all in-store product inventory to its ecommerce site, <a href="http://sportsauthority.com/" target="_blank">sportsauthority.com</a>, allowing customers to see local store availability of products as they were shopping online. That&#8217;s nearly half a million products to choose from in over 460 stores across the U.S. and Puerto Rico. <br /> <br /> This use case posed a major challenge for the company. Its in-store inventory data was &#8220;locked&#8221; deep inside a mainframe. Exposing millions of products to thousands of customers, 24 hours a day, seven days a week would not be possible using this system. <br /> <br /> The requirements for a new solution included finding the customer&#8217;s location, searching the 90 million record inventory system and returning product availability in just the handful of stores nearest in location to that particular customer. On top of that, the API would need to serve at least 50 customers per second, while returning results in less than 200 milliseconds.<br /> <br /> <h3> Choosing the right cloud provider</h3> At the time this project began, Sports Authority had already been a <a href="https://apps.google.com/" target="_blank">Google Apps for Work</a> (Gmail, Google Sites, Docs) customer since 2011. However, it had never built any custom applications on <a href="https://cloud.google.com/" target="_blank">Google Cloud Platform</a>. <br /> <br /> After a period of due diligence checking out competing cloud provider options, Sports Authority decided that <a href="https://cloud.google.com/appengine/" target="_blank">Google App Engine</a> and <a href="https://cloud.google.com/datastore/" target="_blank">Google Cloud Datastore</a> had the right combination of attributes &#8212; elastic scaling, resiliency and simplicity of deployment &#8212; to support this new solution. <br /> <br /> Through the combined efforts of a dedicated project team, business partners and three or four talented developers, it was able to build a comprehensive solution on Cloud Platform in about five months. It consisted of multiple modules: 1) batch processes, using Informatica to push millions of product changes from its IBM mainframe to <a href="https://cloud.google.com/storage/" target="_blank">Google Cloud Storage</a> each night, 2) load processes &#8212; python code running on App Engine, which spawn task queue jobs to load Cloud Datastore, and 3) a series of SOAP and REST APIs to expose the search functionality to its ecommerce website. <br /> <br /> Sports Authority used tools including <a href="https://www.soapui.org/" target="_blank">SOAPUI</a> and <a href="https://www.loadui.org/" target="_blank">LOADUI</a> to simulate thousands of virtual users to measure the scalability of SOAP and REST APIs. It found that as the number of transactions grew past 2,000 per second, App Engine and Cloud Datastore continued to scale seamlessly, easily meeting its target response times. <br /> <br /> The company implemented the inventory locator solution just in time for the 2014 holiday season. It performed admirably during that peak selling period and continues to do so today.<br /> <table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody> <tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6wrCRu4-GLbhgbMWio4vpu3RQjDTyCZKMiAlNl3pLH-Wcc65mqfx98-i1pp1VLr6RaeFE_6N3A-9XpFexU8W7TgdC2TMR9_xglBrmCMqHqHaBbta8a_XkpqKk5O9FmihbIL71lu9qA3lm/s1600/sports-authority-1.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="472" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6wrCRu4-GLbhgbMWio4vpu3RQjDTyCZKMiAlNl3pLH-Wcc65mqfx98-i1pp1VLr6RaeFE_6N3A-9XpFexU8W7TgdC2TMR9_xglBrmCMqHqHaBbta8a_XkpqKk5O9FmihbIL71lu9qA3lm/s640/sports-authority-1.png" width="640" /></a></td></tr> <tr><td class="tr-caption" style="text-align: center;">This screenshot shows what customers see when they shop for products on the website &#8212; a list of local stores, showing the availability of any given product in each store</td></tr> </tbody></table> <br /> <br /> <br /> When a customer finds a product she's interested in buying, the website requests inventory availability from Sports Authority&#8217;s cloud API, which provides a list of stores and product availability to the customer, as exhibited in the running shoe example above.<br /> <br /> <h3> In-store kiosk</h3> As Sports Authority became comfortable building solutions on Cloud Platform, it opened its eyes to other possibilities for creating new solutions to better serve its customers. <br /> <br /> For example, it recently developed an in-store kiosk, which allows customers to search for products that may not be available in that particular store. It also lets them enroll in the loyalty program and purchase gift cards. This kiosk is implemented on a <a href="https://www.google.com/work/chrome/devices/for-meetings/" target="_blank">Google Chromebox</a>, connected to a web application running on App Engine.<br /> <table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody> <tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigtjGZS0JAOxXcu2dDnujMBrQubKZiXryIX9uLFhjiVaiWIXyjs4IiJmUKtOe6Ttk3Uj8lMVKLWZvt7QtIZVAisnTMYk7a8ju3Neys0FCnLsoiDCkXE35gUuqdLIppSHhyphenhyphenpteWfwhNkPp4/s1600/sports-authority-3.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigtjGZS0JAOxXcu2dDnujMBrQubKZiXryIX9uLFhjiVaiWIXyjs4IiJmUKtOe6Ttk3Uj8lMVKLWZvt7QtIZVAisnTMYk7a8ju3Neys0FCnLsoiDCkXE35gUuqdLIppSHhyphenhyphenpteWfwhNkPp4/s640/sports-authority-3.png" width="640" /></a></td></tr> <tr><td class="tr-caption" style="text-align: center;">This image shows the in-store kiosk that customers use to locate products available in other stores.&nbsp;</td></tr> </tbody></table> <br /> <div style="text-align: left;"> </div> <br /> <br /> <br /> <h3> Internal store portal</h3> Additionally, it built a store portal and task management system, which facilitates communication between the corporate office and its stores. This helps the store team members plan and execute their work more efficiently, allowing them to serve customers better when needs arise. This solution utilizes App Engine, Cloud Datastore and <a href="https://developers.google.com/custom-search/" target="_blank">Google Custom Search</a>, and was built with the help of a local Google partner, <a href="http://tempusnova.com/" target="_blank">Tempus Nova</a>.<br /> <table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody> <tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd4bBgLMdOP2ybnq_cR5kWKMc2z6HpHdnCNo6GXLRYo2qaJCOQt8EeNB4Dsg3Q6A7knXIdktJ7GG_dP5ZygEPaQPwazozrByf5RuGhkik2KvHmzT8J6k4M9mW2VvVHoBTZVITyD9VAElwF/s1600/sports-authority-2.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd4bBgLMdOP2ybnq_cR5kWKMc2z6HpHdnCNo6GXLRYo2qaJCOQt8EeNB4Dsg3Q6A7knXIdktJ7GG_dP5ZygEPaQPwazozrByf5RuGhkik2KvHmzT8J6k4M9mW2VvVHoBTZVITyD9VAElwF/s640/sports-authority-2.png" width="640" /></a></td></tr> <tr><td class="tr-caption" style="text-align: center;">This screenshot shows the internal store portal that employees use to monitor daily tasks.</td></tr> </tbody></table> <br /> <br /> <br /> <br /> Learning how to build software in any new environment such as Cloud Platform takes time, dedication and a willingness to learn. Once up to speed, the productivity and power of Google Cloud Platform allowed the Sports Authority team to work like a software company and build quickly while wielding great power.<br /> <br /></div> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> <span class="byline-author">Posted by Jon Byrum, Product Marketing Manager, Google Cloud Platform </span> <br /> <br /> <i>(Cross-posted on the Google Cloud Platform <a href="http://googlecloudplatform.blogspot.com/2016/02/Sports-Authority-handles-2000-transactions-per-second-with-Google-Cloud-Platform.html" target="_blank">Blog</a>.)</i> <br /> <br /> Athletic gear, much like all apparel categories, is quickly shifting to an online sales business. <a href="http://www.sportsauthority.com/home/index.jsp" target="_blank">Sports Authority</a>, seeing the benefits that cloud could offer around agility and speed, turned to <a href="https://cloud.google.com/" target="_blank">Google Cloud Platform</a> to help it respond to its customers faster. <br /> <br /> In 2014, Sports Authority&#8217;s technical team was asked to build a solution that would expose all in-store product inventory to its ecommerce site, <a href="http://sportsauthority.com/" target="_blank">sportsauthority.com</a>, allowing customers to see local store availability of products as they were shopping online. That&#8217;s nearly half a million products to choose from in over 460 stores across the U.S. and Puerto Rico. <br /> <br /> This use case posed a major challenge for the company. Its in-store inventory data was &#8220;locked&#8221; deep inside a mainframe. Exposing millions of products to thousands of customers, 24 hours a day, seven days a week would not be possible using this system. <br /> <br /> The requirements for a new solution included finding the customer&#8217;s location, searching the 90 million record inventory system and returning product availability in just the handful of stores nearest in location to that particular customer. On top of that, the API would need to serve at least 50 customers per second, while returning results in less than 200 milliseconds.<br /> <br /> <h3> Choosing the right cloud provider</h3> At the time this project began, Sports Authority had already been a <a href="https://apps.google.com/" target="_blank">Google Apps for Work</a> (Gmail, Google Sites, Docs) customer since 2011. However, it had never built any custom applications on <a href="https://cloud.google.com/" target="_blank">Google Cloud Platform</a>. <br /> <br /> After a period of due diligence checking out competing cloud provider options, Sports Authority decided that <a href="https://cloud.google.com/appengine/" target="_blank">Google App Engine</a> and <a href="https://cloud.google.com/datastore/" target="_blank">Google Cloud Datastore</a> had the right combination of attributes &#8212; elastic scaling, resiliency and simplicity of deployment &#8212; to support this new solution. <br /> <br /> Through the combined efforts of a dedicated project team, business partners and three or four talented developers, it was able to build a comprehensive solution on Cloud Platform in about five months. It consisted of multiple modules: 1) batch processes, using Informatica to push millions of product changes from its IBM mainframe to <a href="https://cloud.google.com/storage/" target="_blank">Google Cloud Storage</a> each night, 2) load processes &#8212; python code running on App Engine, which spawn task queue jobs to load Cloud Datastore, and 3) a series of SOAP and REST APIs to expose the search functionality to its ecommerce website. <br /> <br /> Sports Authority used tools including <a href="https://www.soapui.org/" target="_blank">SOAPUI</a> and <a href="https://www.loadui.org/" target="_blank">LOADUI</a> to simulate thousands of virtual users to measure the scalability of SOAP and REST APIs. It found that as the number of transactions grew past 2,000 per second, App Engine and Cloud Datastore continued to scale seamlessly, easily meeting its target response times. <br /> <br /> The company implemented the inventory locator solution just in time for the 2014 holiday season. It performed admirably during that peak selling period and continues to do so today.<br /> <table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody> <tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6wrCRu4-GLbhgbMWio4vpu3RQjDTyCZKMiAlNl3pLH-Wcc65mqfx98-i1pp1VLr6RaeFE_6N3A-9XpFexU8W7TgdC2TMR9_xglBrmCMqHqHaBbta8a_XkpqKk5O9FmihbIL71lu9qA3lm/s1600/sports-authority-1.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="472" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6wrCRu4-GLbhgbMWio4vpu3RQjDTyCZKMiAlNl3pLH-Wcc65mqfx98-i1pp1VLr6RaeFE_6N3A-9XpFexU8W7TgdC2TMR9_xglBrmCMqHqHaBbta8a_XkpqKk5O9FmihbIL71lu9qA3lm/s640/sports-authority-1.png" width="640" /></a></td></tr> <tr><td class="tr-caption" style="text-align: center;">This screenshot shows what customers see when they shop for products on the website &#8212; a list of local stores, showing the availability of any given product in each store</td></tr> </tbody></table> <br /> <br /> <br /> When a customer finds a product she's interested in buying, the website requests inventory availability from Sports Authority&#8217;s cloud API, which provides a list of stores and product availability to the customer, as exhibited in the running shoe example above.<br /> <br /> <h3> In-store kiosk</h3> As Sports Authority became comfortable building solutions on Cloud Platform, it opened its eyes to other possibilities for creating new solutions to better serve its customers. <br /> <br /> For example, it recently developed an in-store kiosk, which allows customers to search for products that may not be available in that particular store. It also lets them enroll in the loyalty program and purchase gift cards. This kiosk is implemented on a <a href="https://www.google.com/work/chrome/devices/for-meetings/" target="_blank">Google Chromebox</a>, connected to a web application running on App Engine.<br /> <table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody> <tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigtjGZS0JAOxXcu2dDnujMBrQubKZiXryIX9uLFhjiVaiWIXyjs4IiJmUKtOe6Ttk3Uj8lMVKLWZvt7QtIZVAisnTMYk7a8ju3Neys0FCnLsoiDCkXE35gUuqdLIppSHhyphenhyphenpteWfwhNkPp4/s1600/sports-authority-3.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigtjGZS0JAOxXcu2dDnujMBrQubKZiXryIX9uLFhjiVaiWIXyjs4IiJmUKtOe6Ttk3Uj8lMVKLWZvt7QtIZVAisnTMYk7a8ju3Neys0FCnLsoiDCkXE35gUuqdLIppSHhyphenhyphenpteWfwhNkPp4/s640/sports-authority-3.png" width="640" /></a></td></tr> <tr><td class="tr-caption" style="text-align: center;">This image shows the in-store kiosk that customers use to locate products available in other stores.&nbsp;</td></tr> </tbody></table> <br /> <div style="text-align: left;"> </div> <br /> <br /> <br /> <h3> Internal store portal</h3> Additionally, it built a store portal and task management system, which facilitates communication between the corporate office and its stores. This helps the store team members plan and execute their work more efficiently, allowing them to serve customers better when needs arise. This solution utilizes App Engine, Cloud Datastore and <a href="https://developers.google.com/custom-search/" target="_blank">Google Custom Search</a>, and was built with the help of a local Google partner, <a href="http://tempusnova.com/" target="_blank">Tempus Nova</a>.<br /> <table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody> <tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd4bBgLMdOP2ybnq_cR5kWKMc2z6HpHdnCNo6GXLRYo2qaJCOQt8EeNB4Dsg3Q6A7knXIdktJ7GG_dP5ZygEPaQPwazozrByf5RuGhkik2KvHmzT8J6k4M9mW2VvVHoBTZVITyD9VAElwF/s1600/sports-authority-2.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd4bBgLMdOP2ybnq_cR5kWKMc2z6HpHdnCNo6GXLRYo2qaJCOQt8EeNB4Dsg3Q6A7knXIdktJ7GG_dP5ZygEPaQPwazozrByf5RuGhkik2KvHmzT8J6k4M9mW2VvVHoBTZVITyD9VAElwF/s640/sports-authority-2.png" width="640" /></a></td></tr> <tr><td class="tr-caption" style="text-align: center;">This screenshot shows the internal store portal that employees use to monitor daily tasks.</td></tr> </tbody></table> <br /> <br /> <br /> <br /> Learning how to build software in any new environment such as Cloud Platform takes time, dedication and a willingness to learn. Once up to speed, the productivity and power of Google Cloud Platform allowed the Sports Authority team to work like a software company and build quickly while wielding great power.<br /> <br /></div> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2016/02/Sports-Authority-handles-2000-transactions-per-second-with-Google-Cloud-Platform.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Cloud Blog:Sports Authority handles 2,000 transactions per second with Google Cloud Platform&url=https://cloud.googleblog.com/2016/02/Sports-Authority-handles-2000-transactions-per-second-with-Google-Cloud-Platform.html&via=gsuite'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://cloud.googleblog.com/2016/02/Sports-Authority-handles-2000-transactions-per-second-with-Google-Cloud-Platform.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='comment-container'> <i class='comment-img material-icons'> &#57529; </i> <span class='cmt_count_iframe_holder' data-count='2' data-onclick='' data-post-url='https://cloud.googleblog.com/2016/02/Sports-Authority-handles-2000-transactions-per-second-with-Google-Cloud-Platform.html' data-url='https://cloud.googleblog.com/2016/02/Sports-Authority-handles-2000-transactions-per-second-with-Google-Cloud-Platform.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2016/02/Sports-Authority-handles-2000-transactions-per-second-with-Google-Cloud-Platform.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://cloud.googleblog.com/search/label/Chrome%20for%20Work' rel='tag'> Chrome for Work </a> , <a class='label' href='https://cloud.googleblog.com/search/label/customer%20love' rel='tag'> customer love </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Gone%20Google' rel='tag'> Gone Google </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20App%20Engine' rel='tag'> Google App Engine </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Apps%20for%20Work' rel='tag'> Google Apps for Work </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20Datastore' rel='tag'> Google Cloud Datastore </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20Platform' rel='tag'> Google Cloud Platform </a> , <a class='label' href='https://cloud.googleblog.com/search/label/google%20cloud%20storage' rel='tag'> google cloud storage </a> </span> </div> </div> </div> <div class='post' data-id='7237295379907042915' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2015/01/VMware-to-make-Google-Cloud-Platform-available-to-its-customers.html' itemprop='url' title='VMware to make Google Cloud Platform available to its customers'> VMware to make Google Cloud Platform available to its customers </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, January 29, 2015 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> <span class="byline-author">Posted by Murali Sitaram, Managing Director, Global Partner Strategy &amp; Alliances, Google for Work</span> <br /> <br /> <i>(Cross-posted on the <a href="http://googlecloudplatform.blogspot.com/2015/01/VMware-to-make-Google-Cloud-Platform-available-to-its-customers.html" target="_blank">Google Cloud Platform Blog</a>)</i> <br /> <br /> Many businesses around the world rely on VMware datacenter virtualization solutions to virtualize their infrastructure and optimize the agility and efficiency of their data centers. Today we&#8217;re excited to announce that we are teaming up with VMware to make select Google Cloud Platform services available to VMware customers via vCloud Air, VMware&#8217;s hybrid cloud platform. We know how valuable flexibility is to a business when determining its total infrastructure solution, and with <a href="http://blogs.vmware.com/tribalknowledge/2015/01/todays-vmware-google-announcement.html" target="_blank">today&#8217;s announcement</a>, enterprise businesses leveraging VMware&#8217;s datacenter virtualization solutions gain the flexibility to easily integrate Google Cloud Platform.<br /> <br /> Businesses can now use Google Cloud Platform tools and services &#8211; including Google BigQuery and Google Cloud Storage &#8211; to increase scale, productivity, and functionality. VMware customers will benefit from the security, scalability, and price performance of Google&#8217;s public cloud, built on the same <a href="//www.google.com/about/datacenters/" target="_blank">infrastructure</a> that allows Google to return billions of search results in milliseconds, serve 6 billion hours of YouTube video per month and provide storage for 425 million <a href="https://www.google.com/work/apps/business/products/gmail/" target="_blank">Gmail</a> users.<br /> <br /> With <a href="https://cloud.google.com/bigquery/" target="_blank">Google BigQuery</a>, <a href="https://cloud.google.com/datastore/" target="_blank">Google Cloud Datastore</a>, <a href="https://cloud.google.com/storage/" target="_blank">Google Cloud Storage</a>, and <a href="https://cloud.google.com/networking/#DNS" target="_blank">Google Cloud DNS</a> directly available via VMware vCloud Air, VMware customers will benefit from a single point of purchase and support for both vCloud Air and Google Cloud Platform:<br /> <br /> <ul> <li>vCloud Air customers will have access to Google Cloud Platform under their existing service contract and existing network interconnect with vCloud Air, and will simply pay for the Google Cloud Platform services they consume.</li> <li>Google Cloud Platform services will be available under the VMware vCloud Air terms of service, and will be fully supported by VMware&#8217;s Global Support and Services (GSS) team.</li> <li>Certain Google Cloud Platform services are also fully covered by VMware&#8217;s Business Associate Agreement (BAA) for US customers who require HIPAA-compliant cloud service.</li> </ul> <br /> Google Cloud Platform services will be available to VMware customers beginning later this year, so we&#8217;ll have more information very soon. In the near future, VMware is also exploring extended support for Google Cloud Platform as part of its vRealize Cloud Management Suite, a management tool for hybrid clouds.<br /> <br /> <a href="http://www.vmware.com/company/news/?sa=D&amp;sntz=1&amp;usg=AFQjCNE6YHN0UZ_j8Xhp-pwwC9MmQEylxg" target="_blank">Today&#8217;s announcement</a> bolsters our joint value proposition to customers and builds on our strong, existing relationship around <a href="http://googleforwork.blogspot.com/2014/02/vmware-to-bring-traditional-windows.html" target="_blank">Chromebooks and VMware View</a> and also around the recently announced <a href="http://googlecloudplatform.blogspot.com/2014/08/containers-vms-kubernetes-and-vmware.html" target="_blank">Kubernetes</a> open-source project. We look forward to welcoming VMware customers to Google Cloud Platform.<br /> <br /></div> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> <span class="byline-author">Posted by Murali Sitaram, Managing Director, Global Partner Strategy &amp; Alliances, Google for Work</span> <br /> <br /> <i>(Cross-posted on the <a href="http://googlecloudplatform.blogspot.com/2015/01/VMware-to-make-Google-Cloud-Platform-available-to-its-customers.html" target="_blank">Google Cloud Platform Blog</a>)</i> <br /> <br /> Many businesses around the world rely on VMware datacenter virtualization solutions to virtualize their infrastructure and optimize the agility and efficiency of their data centers. Today we&#8217;re excited to announce that we are teaming up with VMware to make select Google Cloud Platform services available to VMware customers via vCloud Air, VMware&#8217;s hybrid cloud platform. We know how valuable flexibility is to a business when determining its total infrastructure solution, and with <a href="http://blogs.vmware.com/tribalknowledge/2015/01/todays-vmware-google-announcement.html" target="_blank">today&#8217;s announcement</a>, enterprise businesses leveraging VMware&#8217;s datacenter virtualization solutions gain the flexibility to easily integrate Google Cloud Platform.<br /> <br /> Businesses can now use Google Cloud Platform tools and services &#8211; including Google BigQuery and Google Cloud Storage &#8211; to increase scale, productivity, and functionality. VMware customers will benefit from the security, scalability, and price performance of Google&#8217;s public cloud, built on the same <a href="//www.google.com/about/datacenters/" target="_blank">infrastructure</a> that allows Google to return billions of search results in milliseconds, serve 6 billion hours of YouTube video per month and provide storage for 425 million <a href="https://www.google.com/work/apps/business/products/gmail/" target="_blank">Gmail</a> users.<br /> <br /> With <a href="https://cloud.google.com/bigquery/" target="_blank">Google BigQuery</a>, <a href="https://cloud.google.com/datastore/" target="_blank">Google Cloud Datastore</a>, <a href="https://cloud.google.com/storage/" target="_blank">Google Cloud Storage</a>, and <a href="https://cloud.google.com/networking/#DNS" target="_blank">Google Cloud DNS</a> directly available via VMware vCloud Air, VMware customers will benefit from a single point of purchase and support for both vCloud Air and Google Cloud Platform:<br /> <br /> <ul> <li>vCloud Air customers will have access to Google Cloud Platform under their existing service contract and existing network interconnect with vCloud Air, and will simply pay for the Google Cloud Platform services they consume.</li> <li>Google Cloud Platform services will be available under the VMware vCloud Air terms of service, and will be fully supported by VMware&#8217;s Global Support and Services (GSS) team.</li> <li>Certain Google Cloud Platform services are also fully covered by VMware&#8217;s Business Associate Agreement (BAA) for US customers who require HIPAA-compliant cloud service.</li> </ul> <br /> Google Cloud Platform services will be available to VMware customers beginning later this year, so we&#8217;ll have more information very soon. In the near future, VMware is also exploring extended support for Google Cloud Platform as part of its vRealize Cloud Management Suite, a management tool for hybrid clouds.<br /> <br /> <a href="http://www.vmware.com/company/news/?sa=D&amp;sntz=1&amp;usg=AFQjCNE6YHN0UZ_j8Xhp-pwwC9MmQEylxg" target="_blank">Today&#8217;s announcement</a> bolsters our joint value proposition to customers and builds on our strong, existing relationship around <a href="http://googleforwork.blogspot.com/2014/02/vmware-to-bring-traditional-windows.html" target="_blank">Chromebooks and VMware View</a> and also around the recently announced <a href="http://googlecloudplatform.blogspot.com/2014/08/containers-vms-kubernetes-and-vmware.html" target="_blank">Kubernetes</a> open-source project. We look forward to welcoming VMware customers to Google Cloud Platform.<br /> <br /></div> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2015/01/VMware-to-make-Google-Cloud-Platform-available-to-its-customers.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Cloud Blog:VMware to make Google Cloud Platform available to its customers&url=https://cloud.googleblog.com/2015/01/VMware-to-make-Google-Cloud-Platform-available-to-its-customers.html&via=gsuite'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://cloud.googleblog.com/2015/01/VMware-to-make-Google-Cloud-Platform-available-to-its-customers.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='comment-container'> <i class='comment-img material-icons'> &#57529; </i> <span class='cmt_count_iframe_holder' data-count='6' data-onclick='' data-post-url='https://cloud.googleblog.com/2015/01/VMware-to-make-Google-Cloud-Platform-available-to-its-customers.html' data-url='https://cloud.googleblog.com/2015/01/VMware-to-make-Google-Cloud-Platform-available-to-its-customers.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2015/01/VMware-to-make-Google-Cloud-Platform-available-to-its-customers.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://cloud.googleblog.com/search/label/customer%20love' rel='tag'> customer love </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Gone%20Google' rel='tag'> Gone Google </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20BigQuery' rel='tag'> Google BigQuery </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20Datastore' rel='tag'> Google Cloud Datastore </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20DNS' rel='tag'> Google Cloud DNS </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20Platform' rel='tag'> Google Cloud Platform </a> , <a class='label' href='https://cloud.googleblog.com/search/label/google%20cloud%20storage' rel='tag'> google cloud storage </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Kubernetes' rel='tag'> Kubernetes </a> </span> </div> </div> </div> <div class='post' data-id='8414885862567896818' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2014/06/ci-uses-google-cloud-platform-to-power.html' itemprop='url' title='CI&amp;T uses Google Cloud Platform to power the Coca-Cola “Happiness Flag” unveiled on the pitch at the opening match of the 2014 FIFA World Cup™'> CI&amp;T uses Google Cloud Platform to power the Coca-Cola &#8220;Happiness Flag&#8221; unveiled on the pitch at the opening match of the 2014 FIFA World Cup&#8482; </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Saturday, June 14, 2014 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Daniel Viveiros, CI&amp;T&#8217;s Head of Technology</span> <br /><br /><i>(Cross-posted on the <a href="http://googlecloudplatform.blogspot.com/" target="_blank">Google Cloud Platform Blog</a>)</i> <br /><br /><i><b>Editor's note:</b> Today's guest post is from Daniel Viveiros, Head of Technology at <a href="http://www.ciandt.com/google" target="_blank">CI&amp;T</a>, a Google Cloud Platform Partner of the Year LATAM 2013. In this post, Daniel describes how CI&amp;T in partnership with Coca-Cola built the &#8216;Happiness Flag&#8217; for the Coca-Cola 2014 FIFA World Cup&#8482; campaign in Brazil. To learn more about the Happiness flag visit this <a href="http://www.ciandt.com/card/coca-cola-happiness-flag" target="_blank">website</a>. <br /></i> <br /><i><br /></i>As part of the &#8216;The World&#8217;s Cup&#8217; campaign, Coca-Cola wanted to do something that would visually illustrate soccer&#8217;s global reach. Coca-Cola invited fans around the world to share their photos to create the <a href="http://www2.happinessflag.com/?l=en" target="_blank">Happiness Flag</a> -- the world&#8217;s largest mosaic flag crafted from thousands of crowdsourced images submitted by people in more than 200 countries. The flag, 3,015 square meters in size, was unveiled during the opening ceremony of the 2014 FIFA World Cup&#8482;. <br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm-SCHFym9IrCF4snRompGpXIyc2TC8ck7BOnOO-5TMCmLNbpg8j9bZLiV6oXBwdAF2fnveXx_fUtGmOMd7PMsBe8E93d2S8Kpzm2DPkbIfEJuAg2sAUrWxfEN78WqsmXSg6DIooTRM8w/s1600/Screen+Shot+2014-06-14+at+10.51.56+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="355" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm-SCHFym9IrCF4snRompGpXIyc2TC8ck7BOnOO-5TMCmLNbpg8j9bZLiV6oXBwdAF2fnveXx_fUtGmOMd7PMsBe8E93d2S8Kpzm2DPkbIfEJuAg2sAUrWxfEN78WqsmXSg6DIooTRM8w/s1600/Screen+Shot+2014-06-14+at+10.51.56+AM.png" width="640" /></a></div>A project of this scale calls for high performing and reliable technology, so when we started working with Coca-Cola to build the infrastructure for the Happiness Flag campaign, we knew we had to use <a href="https://cloud.google.com/" target="_blank">Google Cloud Platform</a>. By using Google Cloud Platform, we turned a big, innovative idea into reality on a global scale.<br /><br />To create the <a href="http://www.thinkwithgoogle.com/campaigns/coca-cola-the-happiness-flag.html" target="_blank">Happiness Flag</a>, we leveraged the whole Google Cloud Platform stack as shown below:<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh90JkDDkqsbb5gHjnh_qatHRK3ZBdpXPlhuFkmOVfKyKshY8mo0pUV_agPNThLYzaTY5BhnGfxw9LgYy9rbh9NIYIomzoYkdoOOOAnHvGrU5jy1WvY4Oa4o0IC5tnmvRPpnUB6WNYUkUc/s1600/Screen+Shot+2014-06-14+at+10.50.20+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="491" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh90JkDDkqsbb5gHjnh_qatHRK3ZBdpXPlhuFkmOVfKyKshY8mo0pUV_agPNThLYzaTY5BhnGfxw9LgYy9rbh9NIYIomzoYkdoOOOAnHvGrU5jy1WvY4Oa4o0IC5tnmvRPpnUB6WNYUkUc/s1600/Screen+Shot+2014-06-14+at+10.50.20+AM.png" width="640" /></a></div><a href="https://cloud.google.com/products/app-engine/" target="_blank">Google App Engine</a> enabled us to handle the computing workload, capable of handling millions of images via Twitter, Facebook, Instagram and email, to the searches for images and view requests. The architecture was scalable to meet this kind of transaction demand and the fluctuations in traffic. We stored all the images in <a href="https://cloud.google.com/products/cloud-storage/" target="_blank">Google Cloud Storage</a>, where integrated edge caching support and image services made it an ideal choice for serving the images. Meanwhile, <a href="https://cloud.google.com/products/compute-engine/" target="_blank">Google Compute Engine</a> gave us the capability for long-running processes, such as the Twitter integration and advanced image transformations. We were able to show how powerful the creation of hybrid environments can be, using both Platform-as-a-Service (Google App Engine) and raw virtual machines (Google Compute Engine) in the cloud.<br /><br />We used other out-of-the-box Google Cloud Platform technologies like <a href="https://developers.google.com/appengine/docs/adminconsole/memcache" target="_blank">Memcache</a>, <a href="https://cloud.google.com/products/cloud-datastore/" target="_blank">Datastore</a> and Task Queues to ensure outstanding levels of performance and scalability. We know that many fans will be viewing the Happiness Flag on their mobile devices, so we needed a platform that would offer different capacities of computational power. The system provides amazing user experience with high performance and low latency, regardless of the device and its location. Using Google Cloud Platform, the campaign runs smoothly 24/7 and includes redundancy, failover techniques, backups and state-of-the-art monitoring. Plus, it&#8217;s affordable.<br /><br />After the physical flag was unveiled before the opening match, the digital mosaic was made available with a Google map-like zoom in and out with eleven levels of detail. Anyone who submitted an image can now search for themselves on the virtual flag and the search results will show up as pins in the mosaic, like locations found in a Google map. By clicking on the pin, their photos open up in an overlay and they are taken to the maximum level of zoom in to see the "neighborhood" around their image in the flag. After the match, a link to the <a href="http://www2.happinessflag.com/?l=en" target="_blank">Happiness Flag site</a> was sent to each participant as a souvenir. <br /><br />Our goal was to help Coca-Cola create a project that would celebrate the 2014 FIFA World Cup&#8482; by enabling fans from all over the world to express their creativity in a show of unity and art. What better way to open the games than by displaying the Happiness Flag, which is a symbol of the spirit of the game and its fans. <br /><br /><br /><br /></div> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Daniel Viveiros, CI&amp;T&#8217;s Head of Technology</span> <br /><br /><i>(Cross-posted on the <a href="http://googlecloudplatform.blogspot.com/" target="_blank">Google Cloud Platform Blog</a>)</i> <br /><br /><i><b>Editor's note:</b> Today's guest post is from Daniel Viveiros, Head of Technology at <a href="http://www.ciandt.com/google" target="_blank">CI&amp;T</a>, a Google Cloud Platform Partner of the Year LATAM 2013. In this post, Daniel describes how CI&amp;T in partnership with Coca-Cola built the &#8216;Happiness Flag&#8217; for the Coca-Cola 2014 FIFA World Cup&#8482; campaign in Brazil. To learn more about the Happiness flag visit this <a href="http://www.ciandt.com/card/coca-cola-happiness-flag" target="_blank">website</a>. <br /></i> <br /><i><br /></i>As part of the &#8216;The World&#8217;s Cup&#8217; campaign, Coca-Cola wanted to do something that would visually illustrate soccer&#8217;s global reach. Coca-Cola invited fans around the world to share their photos to create the <a href="http://www2.happinessflag.com/?l=en" target="_blank">Happiness Flag</a> -- the world&#8217;s largest mosaic flag crafted from thousands of crowdsourced images submitted by people in more than 200 countries. The flag, 3,015 square meters in size, was unveiled during the opening ceremony of the 2014 FIFA World Cup&#8482;. <br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm-SCHFym9IrCF4snRompGpXIyc2TC8ck7BOnOO-5TMCmLNbpg8j9bZLiV6oXBwdAF2fnveXx_fUtGmOMd7PMsBe8E93d2S8Kpzm2DPkbIfEJuAg2sAUrWxfEN78WqsmXSg6DIooTRM8w/s1600/Screen+Shot+2014-06-14+at+10.51.56+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="355" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm-SCHFym9IrCF4snRompGpXIyc2TC8ck7BOnOO-5TMCmLNbpg8j9bZLiV6oXBwdAF2fnveXx_fUtGmOMd7PMsBe8E93d2S8Kpzm2DPkbIfEJuAg2sAUrWxfEN78WqsmXSg6DIooTRM8w/s1600/Screen+Shot+2014-06-14+at+10.51.56+AM.png" width="640" /></a></div>A project of this scale calls for high performing and reliable technology, so when we started working with Coca-Cola to build the infrastructure for the Happiness Flag campaign, we knew we had to use <a href="https://cloud.google.com/" target="_blank">Google Cloud Platform</a>. By using Google Cloud Platform, we turned a big, innovative idea into reality on a global scale.<br /><br />To create the <a href="http://www.thinkwithgoogle.com/campaigns/coca-cola-the-happiness-flag.html" target="_blank">Happiness Flag</a>, we leveraged the whole Google Cloud Platform stack as shown below:<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh90JkDDkqsbb5gHjnh_qatHRK3ZBdpXPlhuFkmOVfKyKshY8mo0pUV_agPNThLYzaTY5BhnGfxw9LgYy9rbh9NIYIomzoYkdoOOOAnHvGrU5jy1WvY4Oa4o0IC5tnmvRPpnUB6WNYUkUc/s1600/Screen+Shot+2014-06-14+at+10.50.20+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="491" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh90JkDDkqsbb5gHjnh_qatHRK3ZBdpXPlhuFkmOVfKyKshY8mo0pUV_agPNThLYzaTY5BhnGfxw9LgYy9rbh9NIYIomzoYkdoOOOAnHvGrU5jy1WvY4Oa4o0IC5tnmvRPpnUB6WNYUkUc/s1600/Screen+Shot+2014-06-14+at+10.50.20+AM.png" width="640" /></a></div><a href="https://cloud.google.com/products/app-engine/" target="_blank">Google App Engine</a> enabled us to handle the computing workload, capable of handling millions of images via Twitter, Facebook, Instagram and email, to the searches for images and view requests. The architecture was scalable to meet this kind of transaction demand and the fluctuations in traffic. We stored all the images in <a href="https://cloud.google.com/products/cloud-storage/" target="_blank">Google Cloud Storage</a>, where integrated edge caching support and image services made it an ideal choice for serving the images. Meanwhile, <a href="https://cloud.google.com/products/compute-engine/" target="_blank">Google Compute Engine</a> gave us the capability for long-running processes, such as the Twitter integration and advanced image transformations. We were able to show how powerful the creation of hybrid environments can be, using both Platform-as-a-Service (Google App Engine) and raw virtual machines (Google Compute Engine) in the cloud.<br /><br />We used other out-of-the-box Google Cloud Platform technologies like <a href="https://developers.google.com/appengine/docs/adminconsole/memcache" target="_blank">Memcache</a>, <a href="https://cloud.google.com/products/cloud-datastore/" target="_blank">Datastore</a> and Task Queues to ensure outstanding levels of performance and scalability. We know that many fans will be viewing the Happiness Flag on their mobile devices, so we needed a platform that would offer different capacities of computational power. The system provides amazing user experience with high performance and low latency, regardless of the device and its location. Using Google Cloud Platform, the campaign runs smoothly 24/7 and includes redundancy, failover techniques, backups and state-of-the-art monitoring. Plus, it&#8217;s affordable.<br /><br />After the physical flag was unveiled before the opening match, the digital mosaic was made available with a Google map-like zoom in and out with eleven levels of detail. Anyone who submitted an image can now search for themselves on the virtual flag and the search results will show up as pins in the mosaic, like locations found in a Google map. By clicking on the pin, their photos open up in an overlay and they are taken to the maximum level of zoom in to see the "neighborhood" around their image in the flag. After the match, a link to the <a href="http://www2.happinessflag.com/?l=en" target="_blank">Happiness Flag site</a> was sent to each participant as a souvenir. <br /><br />Our goal was to help Coca-Cola create a project that would celebrate the 2014 FIFA World Cup&#8482; by enabling fans from all over the world to express their creativity in a show of unity and art. What better way to open the games than by displaying the Happiness Flag, which is a symbol of the spirit of the game and its fans. <br /><br /><br /><br /></div> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2014/06/ci-uses-google-cloud-platform-to-power.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Cloud Blog:CI&amp;T uses Google Cloud Platform to power the Coca-Cola “Happiness Flag” unveiled on the pitch at the opening match of the 2014 FIFA World Cup™&url=https://cloud.googleblog.com/2014/06/ci-uses-google-cloud-platform-to-power.html&via=gsuite'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://cloud.googleblog.com/2014/06/ci-uses-google-cloud-platform-to-power.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='comment-container'> <i class='comment-img material-icons'> &#57529; </i> <span class='cmt_count_iframe_holder' data-count='1' data-onclick='' data-post-url='https://cloud.googleblog.com/2014/06/ci-uses-google-cloud-platform-to-power.html' data-url='https://cloud.googleblog.com/2014/06/ci-uses-google-cloud-platform-to-power.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2014/06/ci-uses-google-cloud-platform-to-power.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://cloud.googleblog.com/search/label/Google%20App%20Engine' rel='tag'> Google App Engine </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20Platform' rel='tag'> Google Cloud Platform </a> , <a class='label' href='https://cloud.googleblog.com/search/label/google%20cloud%20storage' rel='tag'> google cloud storage </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Compute%20Engine' rel='tag'> Google Compute Engine </a> </span> </div> </div> </div> <div class='post' data-id='2829204252434095996' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2013/06/ocado-delivers-your-groceries-with.html' itemprop='url' title='Ocado Delivers Your Groceries with Automation... and the help of Google technology'> Ocado Delivers Your Groceries with Automation... and the help of Google technology </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, June 6, 2013 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Paul Clarke, Director of Technology of Ocado</span><br /><br /><i><b>Editor's note:</b> Our guest blogger this week is Paul Clarke, Director of Technology at <a href="http://www.ocado.com/webshop/startWebshop.do?dnr=y" target="_blank">Ocado</a>, the world&#8217;s largest online-only grocery retailer based in the UK. See what other organizations that have gone Google <a href="//www.google.com/enterprise/apps/business/customers.html?utm_campaign=entblog&amp;utm_source=Ocado06062013&amp;utm_medium=blog" target="_blank">have to say</a>.</i><br /><br /><div style="text-align: left;">Ocado isn&#8217;t your typical corner grocery store. For one thing, there&#8217;s no corner as we&#8217;re the world's largest online-only grocery retailer reaching over 70% of British households, and now with a fast growing non-food business alongside. Our customers shop online using our award winning webshop or mobile apps and then their orders are picked and packed in one of our huge automated warehouses, the largest of their kind in the world; hours later, our vans deliver to their kitchens in one hour delivery slots. On a normal week we ship over 150,000 orders - that's over 1.1 million items each day. Google Enterprise solutions are playing a major, and expanding, role in helping us run such a time critical 24/7 operation across multiple sites. </div><br />Google Apps allows us to do things our way, wherever and whenever we want. Our staff use Gmail, Google Calendar and Google Drive to stay on top of their day to day work, and Google+ is helping our teams stay in touch, share information and build local communities. Ultimately, all of these tools help to make sure our customers get the groceries they order, on time and in the best possible condition. <br /><br />But we didn&#8217;t stop there. We looked at other ways we could use Google&#8217;s technology to help us run our business and started using Google App Engine for building internal applications. For example, we used App Engine to create a new version of our "Where's My Order&#8221; application, which our customers will soon be using to find out where their orders are within our production cycle. Once their order is on the road, the integration with Google Maps allows them to see exactly where their delivery van is. So we&#8217;re taking what used to be a chore, grocery shopping, and making it a simple experience that you can do from the convenience of your own home, or wherever you may be. <br /><br /><iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/zn1RvJ_Hjbg" width="560"></iframe><br /><br />Our most recent project was on Google Compute Engine. Within our warehouses there are certain tasks that are repetitive and arduous for humans to do, like picking heavy six packs of bottled water into customer orders. So our robotics team is developing solutions that use robots to automate these sorts of tasks and thus release staff for other more important work. But these robots need sophisticated 3D vision systems to enable them to see what they are doing. These are very computationally intensive applications and by providing the instantly flexible and scalable computing power to crunch all those numbers, Compute Engine provided the perfect solution. And, we are already using the cloud to store and process some of the huge volumes of data that our business spits out every minute. But with an eye to future growth and international expansion, we have plans to use Compute Engine and Cloud Storage to move other parts of our production systems to the cloud. <br /><br />So walk into an Ocado warehouse in the future and you might run into a robot if you&#8217;re not careful. Like I said, we&#8217;re not your typical corner grocery store. </div> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Paul Clarke, Director of Technology of Ocado</span><br /><br /><i><b>Editor's note:</b> Our guest blogger this week is Paul Clarke, Director of Technology at <a href="http://www.ocado.com/webshop/startWebshop.do?dnr=y" target="_blank">Ocado</a>, the world&#8217;s largest online-only grocery retailer based in the UK. See what other organizations that have gone Google <a href="//www.google.com/enterprise/apps/business/customers.html?utm_campaign=entblog&amp;utm_source=Ocado06062013&amp;utm_medium=blog" target="_blank">have to say</a>.</i><br /><br /><div style="text-align: left;">Ocado isn&#8217;t your typical corner grocery store. For one thing, there&#8217;s no corner as we&#8217;re the world's largest online-only grocery retailer reaching over 70% of British households, and now with a fast growing non-food business alongside. Our customers shop online using our award winning webshop or mobile apps and then their orders are picked and packed in one of our huge automated warehouses, the largest of their kind in the world; hours later, our vans deliver to their kitchens in one hour delivery slots. On a normal week we ship over 150,000 orders - that's over 1.1 million items each day. Google Enterprise solutions are playing a major, and expanding, role in helping us run such a time critical 24/7 operation across multiple sites. </div><br />Google Apps allows us to do things our way, wherever and whenever we want. Our staff use Gmail, Google Calendar and Google Drive to stay on top of their day to day work, and Google+ is helping our teams stay in touch, share information and build local communities. Ultimately, all of these tools help to make sure our customers get the groceries they order, on time and in the best possible condition. <br /><br />But we didn&#8217;t stop there. We looked at other ways we could use Google&#8217;s technology to help us run our business and started using Google App Engine for building internal applications. For example, we used App Engine to create a new version of our "Where's My Order&#8221; application, which our customers will soon be using to find out where their orders are within our production cycle. Once their order is on the road, the integration with Google Maps allows them to see exactly where their delivery van is. So we&#8217;re taking what used to be a chore, grocery shopping, and making it a simple experience that you can do from the convenience of your own home, or wherever you may be. <br /><br /><iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/zn1RvJ_Hjbg" width="560"></iframe><br /><br />Our most recent project was on Google Compute Engine. Within our warehouses there are certain tasks that are repetitive and arduous for humans to do, like picking heavy six packs of bottled water into customer orders. So our robotics team is developing solutions that use robots to automate these sorts of tasks and thus release staff for other more important work. But these robots need sophisticated 3D vision systems to enable them to see what they are doing. These are very computationally intensive applications and by providing the instantly flexible and scalable computing power to crunch all those numbers, Compute Engine provided the perfect solution. And, we are already using the cloud to store and process some of the huge volumes of data that our business spits out every minute. But with an eye to future growth and international expansion, we have plans to use Compute Engine and Cloud Storage to move other parts of our production systems to the cloud. <br /><br />So walk into an Ocado warehouse in the future and you might run into a robot if you&#8217;re not careful. Like I said, we&#8217;re not your typical corner grocery store. </div> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2013/06/ocado-delivers-your-groceries-with.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Cloud Blog:Ocado Delivers Your Groceries with Automation... and the help of Google technology&url=https://cloud.googleblog.com/2013/06/ocado-delivers-your-groceries-with.html&via=gsuite'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://cloud.googleblog.com/2013/06/ocado-delivers-your-groceries-with.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='comment-container'> <i class='comment-img material-icons'> &#57529; </i> <span class='cmt_count_iframe_holder' data-count='8' data-onclick='' data-post-url='https://cloud.googleblog.com/2013/06/ocado-delivers-your-groceries-with.html' data-url='https://cloud.googleblog.com/2013/06/ocado-delivers-your-groceries-with.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2013/06/ocado-delivers-your-groceries-with.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://cloud.googleblog.com/search/label/%23tbt' rel='tag'> #tbt </a> , <a class='label' href='https://cloud.googleblog.com/search/label/%23throwbackthursday' rel='tag'> #throwbackthursday </a> , <a class='label' href='https://cloud.googleblog.com/search/label/customer%20love' rel='tag'> customer love </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Gone%20Google' rel='tag'> Gone Google </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Apps' rel='tag'> Google Apps </a> , <a class='label' href='https://cloud.googleblog.com/search/label/google%20cloud%20storage' rel='tag'> google cloud storage </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Compute%20Engine' rel='tag'> Google Compute Engine </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Startups' rel='tag'> Startups </a> </span> </div> </div> </div> <div class='post' data-id='5216910301644965407' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2013/05/round-up-google-io-news-for-business.html' itemprop='url' title='Round-up: Google I/O news for business, government and education customers'> Round-up: Google I/O news for business, government and education customers </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, May 16, 2013 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Amit Singh, President, Google Enterprise</span><br /><br />Yesterday, <a href="http://googleblog.blogspot.com/2013/05/live-from-google-io-mo-screens-mo.html">we kicked</a> off the 6th annual Google I/O developer conference, with over 6,000 people attending live in San Francisco and millions more around the world tuning in to the <a href="http://developers.google.com/io">livestream</a>. The conference this year focused on a growing trend that affects our lives at home, at work and at school: the move towards a multi-screen world. In this world, tablets and mobile phones are quickly becoming as commonplace&#8212;and as useful&#8212;as desktop and laptop computers. <br /><br />As you shift between devices, your experience should be seamless. And the same tools you use in your personal life should be available in the workplace, so you can work the way you live. To that end, here are some highlights from this week that are particularly relevant to our business, government and education customers&#8212;including tools for developers, features to simplify your life, and new ways to connect and collaborate with others. <br /><br /><b>Tools for developers:</b><br /><ul style="text-align: left;"><li><b>Google Cloud Platform</b>: We <a href="http://googlecloudplatform.blogspot.com/2013/05/ushering-in-next-generation-of.html" target="_blank">announced</a> that <a href="https://cloud.google.com/products/compute-engine" target="_blank">Google Compute Engine</a>&#8212;which provides a fast, consistently high-performance environment for running virtual machines&#8212;is now available to anyone by visiting <a href="https://cloud.google.com/products/compute-engine">cloud.google.com</a>. We also introduced <a href="http://developers.google.com/datastore">Google Cloud Datastore</a>, added <a href="http://cloud.google.com/appengine/php">the PHP runtime</a> to <a href="https://cloud.google.com/appengine">Google App Engine</a>, and added sub-hour billing charges so you don&#8217;t pay for compute minutes that you don&#8217;t use.&nbsp;</li><li><b>Admin SDK</b>: The new <a href="http://googleappsdeveloper.blogspot.com/2013/05/admin-sdk-and-google-apis-for-business.html">Admin SDK</a> lets developers build customized administrative tools for organizations that use Google Apps. The SDK consolidates many of the existing domain APIs into a new uniform structure and introduces new functionality with the Directory API and Reports API.&nbsp;</li><li><b>Google+ API for businesses</b>: The new <a href="http://googleappsdeveloper.blogspot.com/2013/05/admin-sdk-and-google-apis-for-business.html">Google+ API</a> for businesses is now available as a pilot for developers who want to build apps that handle tasks like auto-provisioning Circles and reading or writing posts.</li></ul><b>Simplify your life:</b><br /><ul style="text-align: left;"><li><b>Gmail</b>: New <a href="http://gmailblog.blogspot.com/2013/05/take-action-right-from-inbox.html">quick action buttons in Gmail</a> are designed to help you get things done faster and take action on an email without ever having to open it -- like opening a Google document that&#8217;s been shared with you or responding to a calendar invitation. And we&#8217;re beginning to roll out a new integration between Google Wallet and Gmail, so you can quickly and securely <a href="http://gmailblog.blogspot.com/2013/05/send-money-to-friends-with-gmail-and.html">send money to friends and colleagues directly within Gmail</a>&#8212;even if they don&#8217;t have a Gmail address.&nbsp;</li><li><b>Unified storage</b>: Google Apps customers will now have <a href="http://googleenterprise.blogspot.com/2013/05/bringing-it-all-together-for-google.html">30 GB of unified storage</a> to use between Drive, Gmail, and Google+ photos. Just as before, files created in Docs, Sheets and Slides don't count against your storage quota. As a result of this change, Gmail inboxes for Google Apps customers are no longer limited to 25 GB -- any additional storage you purchase can be shared and used by Gmail.&nbsp;</li><li><b>Nexus tablets and Google Play for Education</b>: There are now 25 million students, faculty and staff around the world using Google Apps for Education. Later this year, Google will expand its education offering beyond Chromebooks and Apps to include Nexus tablets and Google Play for Education. Schools will be able to efficiently manage tablets and discover, purchase and distribute content and applications with ease. Schools who want to receive information about the program when it launches later this year should complete the interest form available at <a href="//google.com/edu/android">google.com/edu/android</a>.</li></ul><b>Connect and collaborate with others:</b><br /><ul style="text-align: left;"><li><b>Google+</b>: The new look and feel for Google+ brings a modern design to the stream and makes it easier than ever for you to connect with colleagues and quickly learn more about topics or posts that interest you. The new Google+ also looks and feels the same across all your devices.</li><li><b>Hangouts</b>: Apps customers now have the <a href="http://support.google.com/a/bin/answer.py?hl=en&amp;answer=3094760">option to replace</a> chat in Gmail and Talk on Android with a <a href="http://gmailblog.blogspot.com/2013/05/try-out-new-hangouts-experience-in-gmail.html">new version of Hangouts</a> that combines text, photos and live video calls across desktops, laptops, as well as Android and iOS phones and tablets. The new Hangouts is designed to help bring all of your real-life conversations online, across any device or platform. Just as before, Apps customers can invite <a href="http://googleenterprise.blogspot.com/2012/11/larger-hangouts-in-google-for.html">up to 15 colleagues</a>&nbsp;to a video call.</li></ul><div style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWfmm9B1AgdnOEYRGxy97XHcKbX1bWUZdiA9VCSMQd2Cpsmh-Hxvd_iWibyqsYIhT9tCWm_fR01h0XySBS-qOPiTwFJ0CKmPQQWpJcIeine_jdsUhZ43yV4sCpSBUjI7P7fPwZv2AwMjs/s1600/Babel+image+for+IO+blog.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWfmm9B1AgdnOEYRGxy97XHcKbX1bWUZdiA9VCSMQd2Cpsmh-Hxvd_iWibyqsYIhT9tCWm_fR01h0XySBS-qOPiTwFJ0CKmPQQWpJcIeine_jdsUhZ43yV4sCpSBUjI7P7fPwZv2AwMjs/s400/Babel+image+for+IO+blog.png" width="382" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Hangouts brings video calls and messaging across all you devices</td></tr></tbody></table></div><br />Work doesn&#8217;t always need to feel like work. Technology should make your life easier, so you can get work done more efficiently and focus on what really matters: building your business, teaching your students, or serving your constituents. <br /><br />Google I/O continues through the end of tomorrow. Tune in to live sessions at <a href="//google.com/io">google.com/io</a>.</div> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Amit Singh, President, Google Enterprise</span><br /><br />Yesterday, <a href="http://googleblog.blogspot.com/2013/05/live-from-google-io-mo-screens-mo.html">we kicked</a> off the 6th annual Google I/O developer conference, with over 6,000 people attending live in San Francisco and millions more around the world tuning in to the <a href="http://developers.google.com/io">livestream</a>. The conference this year focused on a growing trend that affects our lives at home, at work and at school: the move towards a multi-screen world. In this world, tablets and mobile phones are quickly becoming as commonplace&#8212;and as useful&#8212;as desktop and laptop computers. <br /><br />As you shift between devices, your experience should be seamless. And the same tools you use in your personal life should be available in the workplace, so you can work the way you live. To that end, here are some highlights from this week that are particularly relevant to our business, government and education customers&#8212;including tools for developers, features to simplify your life, and new ways to connect and collaborate with others. <br /><br /><b>Tools for developers:</b><br /><ul style="text-align: left;"><li><b>Google Cloud Platform</b>: We <a href="http://googlecloudplatform.blogspot.com/2013/05/ushering-in-next-generation-of.html" target="_blank">announced</a> that <a href="https://cloud.google.com/products/compute-engine" target="_blank">Google Compute Engine</a>&#8212;which provides a fast, consistently high-performance environment for running virtual machines&#8212;is now available to anyone by visiting <a href="https://cloud.google.com/products/compute-engine">cloud.google.com</a>. We also introduced <a href="http://developers.google.com/datastore">Google Cloud Datastore</a>, added <a href="http://cloud.google.com/appengine/php">the PHP runtime</a> to <a href="https://cloud.google.com/appengine">Google App Engine</a>, and added sub-hour billing charges so you don&#8217;t pay for compute minutes that you don&#8217;t use.&nbsp;</li><li><b>Admin SDK</b>: The new <a href="http://googleappsdeveloper.blogspot.com/2013/05/admin-sdk-and-google-apis-for-business.html">Admin SDK</a> lets developers build customized administrative tools for organizations that use Google Apps. The SDK consolidates many of the existing domain APIs into a new uniform structure and introduces new functionality with the Directory API and Reports API.&nbsp;</li><li><b>Google+ API for businesses</b>: The new <a href="http://googleappsdeveloper.blogspot.com/2013/05/admin-sdk-and-google-apis-for-business.html">Google+ API</a> for businesses is now available as a pilot for developers who want to build apps that handle tasks like auto-provisioning Circles and reading or writing posts.</li></ul><b>Simplify your life:</b><br /><ul style="text-align: left;"><li><b>Gmail</b>: New <a href="http://gmailblog.blogspot.com/2013/05/take-action-right-from-inbox.html">quick action buttons in Gmail</a> are designed to help you get things done faster and take action on an email without ever having to open it -- like opening a Google document that&#8217;s been shared with you or responding to a calendar invitation. And we&#8217;re beginning to roll out a new integration between Google Wallet and Gmail, so you can quickly and securely <a href="http://gmailblog.blogspot.com/2013/05/send-money-to-friends-with-gmail-and.html">send money to friends and colleagues directly within Gmail</a>&#8212;even if they don&#8217;t have a Gmail address.&nbsp;</li><li><b>Unified storage</b>: Google Apps customers will now have <a href="http://googleenterprise.blogspot.com/2013/05/bringing-it-all-together-for-google.html">30 GB of unified storage</a> to use between Drive, Gmail, and Google+ photos. Just as before, files created in Docs, Sheets and Slides don't count against your storage quota. As a result of this change, Gmail inboxes for Google Apps customers are no longer limited to 25 GB -- any additional storage you purchase can be shared and used by Gmail.&nbsp;</li><li><b>Nexus tablets and Google Play for Education</b>: There are now 25 million students, faculty and staff around the world using Google Apps for Education. Later this year, Google will expand its education offering beyond Chromebooks and Apps to include Nexus tablets and Google Play for Education. Schools will be able to efficiently manage tablets and discover, purchase and distribute content and applications with ease. Schools who want to receive information about the program when it launches later this year should complete the interest form available at <a href="//google.com/edu/android">google.com/edu/android</a>.</li></ul><b>Connect and collaborate with others:</b><br /><ul style="text-align: left;"><li><b>Google+</b>: The new look and feel for Google+ brings a modern design to the stream and makes it easier than ever for you to connect with colleagues and quickly learn more about topics or posts that interest you. The new Google+ also looks and feels the same across all your devices.</li><li><b>Hangouts</b>: Apps customers now have the <a href="http://support.google.com/a/bin/answer.py?hl=en&amp;answer=3094760">option to replace</a> chat in Gmail and Talk on Android with a <a href="http://gmailblog.blogspot.com/2013/05/try-out-new-hangouts-experience-in-gmail.html">new version of Hangouts</a> that combines text, photos and live video calls across desktops, laptops, as well as Android and iOS phones and tablets. The new Hangouts is designed to help bring all of your real-life conversations online, across any device or platform. Just as before, Apps customers can invite <a href="http://googleenterprise.blogspot.com/2012/11/larger-hangouts-in-google-for.html">up to 15 colleagues</a>&nbsp;to a video call.</li></ul><div style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWfmm9B1AgdnOEYRGxy97XHcKbX1bWUZdiA9VCSMQd2Cpsmh-Hxvd_iWibyqsYIhT9tCWm_fR01h0XySBS-qOPiTwFJ0CKmPQQWpJcIeine_jdsUhZ43yV4sCpSBUjI7P7fPwZv2AwMjs/s1600/Babel+image+for+IO+blog.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWfmm9B1AgdnOEYRGxy97XHcKbX1bWUZdiA9VCSMQd2Cpsmh-Hxvd_iWibyqsYIhT9tCWm_fR01h0XySBS-qOPiTwFJ0CKmPQQWpJcIeine_jdsUhZ43yV4sCpSBUjI7P7fPwZv2AwMjs/s400/Babel+image+for+IO+blog.png" width="382" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Hangouts brings video calls and messaging across all you devices</td></tr></tbody></table></div><br />Work doesn&#8217;t always need to feel like work. Technology should make your life easier, so you can get work done more efficiently and focus on what really matters: building your business, teaching your students, or serving your constituents. <br /><br />Google I/O continues through the end of tomorrow. Tune in to live sessions at <a href="//google.com/io">google.com/io</a>.</div> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2013/05/round-up-google-io-news-for-business.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Cloud Blog:Round-up: Google I/O news for business, government and education customers&url=https://cloud.googleblog.com/2013/05/round-up-google-io-news-for-business.html&via=gsuite'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://cloud.googleblog.com/2013/05/round-up-google-io-news-for-business.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='comment-container'> <i class='comment-img material-icons'> &#57529; </i> <span class='cmt_count_iframe_holder' data-count='0' data-onclick='' data-post-url='https://cloud.googleblog.com/2013/05/round-up-google-io-news-for-business.html' data-url='https://cloud.googleblog.com/2013/05/round-up-google-io-news-for-business.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2013/05/round-up-google-io-news-for-business.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://cloud.googleblog.com/search/label/admin' rel='tag'> admin </a> , <a class='label' href='https://cloud.googleblog.com/search/label/admin%20sdk' rel='tag'> admin sdk </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Chrome' rel='tag'> Chrome </a> , <a class='label' href='https://cloud.googleblog.com/search/label/cloud%20datastore' rel='tag'> cloud datastore </a> , <a class='label' href='https://cloud.googleblog.com/search/label/gmail' rel='tag'> gmail </a> , <a class='label' href='https://cloud.googleblog.com/search/label/google%20cloud%20storage' rel='tag'> google cloud storage </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Compute%20Engine' rel='tag'> Google Compute Engine </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Hangouts' rel='tag'> Google Hangouts </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Maps' rel='tag'> Google Maps </a> , <a class='label' href='https://cloud.googleblog.com/search/label/google%20play%20for%20education' rel='tag'> google play for education </a> , <a class='label' href='https://cloud.googleblog.com/search/label/google%2B' rel='tag'> google+ </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%2B%20api' rel='tag'> Google+ api </a> , <a class='label' href='https://cloud.googleblog.com/search/label/wallet' rel='tag'> wallet </a> </span> </div> </div> </div> <div class='post' data-id='7907925342052770348' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2013/02/google-cloud-platform-introduces-new.html' itemprop='url' title='Google Cloud Platform introduces new support packages'> Google Cloud Platform introduces new support packages </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, February 21, 2013 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Brett McCully, Google Cloud Platform Team</span><br /><br />Support is as important as product features when choosing a platform for your applications. And let&#8217;s face it, sometimes we all need a bit of help. No matter which <a href="https://cloud.google.com/">Google Cloud Platform</a> services you are using&#8212;App Engine, Compute Engine, Cloud Storage, Cloud SQL, BigQuery, etc.&#8212;or what time of day, you should be able to get the answers you need. While you can go to Stack Overflow or Google Groups, we realize some of you may need 24x7 coverage, phone support or direct access to a Technical Account Manager team. <br /><br />To meet your support requirements, we&#8217;re introducing a comprehensive collection of support packages for services on Google Cloud Platform, so you can decide what level best fits your needs:<br /><br /><ul style="text-align: left;"><li><b>Bronze</b>: All customers get access to online documentation, community forums, and billing support. (Free)&nbsp;</li><li><b>Silver</b>: In addition to Bronze, you can email our support team for questions related to product functionality, best practices, and service errors. ($150/month)&nbsp;</li><li><b>Gold</b>: In addition to Silver, you'll receive 24x7 phone support and consultation on application development, best practices or architecture for your specific use case. (Starts at $400/month)&nbsp;</li><li><b>Platinum</b>: The most comprehensive and personalized support. In addition to Gold, you&#8217;ll get direct access to a Technical Account Manager team. (<a href="https://cloud.google.com/support/signup">Contact Sales</a> for more information)</li></ul><br /><a href="https://cloud.google.com/support/signup">Sign up</a> or click <a href="https://cloud.google.com/support/packages">here</a> to find out more information about the new Google Cloud Platform support options. </div> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Brett McCully, Google Cloud Platform Team</span><br /><br />Support is as important as product features when choosing a platform for your applications. And let&#8217;s face it, sometimes we all need a bit of help. No matter which <a href="https://cloud.google.com/">Google Cloud Platform</a> services you are using&#8212;App Engine, Compute Engine, Cloud Storage, Cloud SQL, BigQuery, etc.&#8212;or what time of day, you should be able to get the answers you need. While you can go to Stack Overflow or Google Groups, we realize some of you may need 24x7 coverage, phone support or direct access to a Technical Account Manager team. <br /><br />To meet your support requirements, we&#8217;re introducing a comprehensive collection of support packages for services on Google Cloud Platform, so you can decide what level best fits your needs:<br /><br /><ul style="text-align: left;"><li><b>Bronze</b>: All customers get access to online documentation, community forums, and billing support. (Free)&nbsp;</li><li><b>Silver</b>: In addition to Bronze, you can email our support team for questions related to product functionality, best practices, and service errors. ($150/month)&nbsp;</li><li><b>Gold</b>: In addition to Silver, you'll receive 24x7 phone support and consultation on application development, best practices or architecture for your specific use case. (Starts at $400/month)&nbsp;</li><li><b>Platinum</b>: The most comprehensive and personalized support. In addition to Gold, you&#8217;ll get direct access to a Technical Account Manager team. (<a href="https://cloud.google.com/support/signup">Contact Sales</a> for more information)</li></ul><br /><a href="https://cloud.google.com/support/signup">Sign up</a> or click <a href="https://cloud.google.com/support/packages">here</a> to find out more information about the new Google Cloud Platform support options. </div> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2013/02/google-cloud-platform-introduces-new.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Cloud Blog:Google Cloud Platform introduces new support packages&url=https://cloud.googleblog.com/2013/02/google-cloud-platform-introduces-new.html&via=gsuite'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://cloud.googleblog.com/2013/02/google-cloud-platform-introduces-new.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='comment-container'> <i class='comment-img material-icons'> &#57529; </i> <span class='cmt_count_iframe_holder' data-count='1' data-onclick='' data-post-url='https://cloud.googleblog.com/2013/02/google-cloud-platform-introduces-new.html' data-url='https://cloud.googleblog.com/2013/02/google-cloud-platform-introduces-new.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2013/02/google-cloud-platform-introduces-new.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://cloud.googleblog.com/search/label/bigquery' rel='tag'> bigquery </a> , <a class='label' href='https://cloud.googleblog.com/search/label/cloud%20computing' rel='tag'> cloud computing </a> , <a class='label' href='https://cloud.googleblog.com/search/label/cloud%20platform' rel='tag'> cloud platform </a> , <a class='label' href='https://cloud.googleblog.com/search/label/cloud%20services' rel='tag'> cloud services </a> , <a class='label' href='https://cloud.googleblog.com/search/label/cloud%20sql' rel='tag'> cloud sql </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20App%20Engine' rel='tag'> Google App Engine </a> , <a class='label' href='https://cloud.googleblog.com/search/label/google%20cloud%20storage' rel='tag'> google cloud storage </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Compute%20Engine' rel='tag'> Google Compute Engine </a> , <a class='label' href='https://cloud.googleblog.com/search/label/support' rel='tag'> support </a> </span> </div> </div> </div> <div class='post' data-id='1670329758267202093' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2012/11/google-cloud-storage-more-value-for.html' itemprop='url' title='Google Cloud Storage - more value for performance'> Google Cloud Storage - more value for performance </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, November 29, 2012 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Dave Barth, Product Manager</span><br /><br /><i>(Cross-posted to <a href="http://googledevelopers.blogspot.com/2012/11/google-cloud-storage-more-value-for.html">Google Developers Blog</a>)</i> <br /><br /><b id="internal-source-marker_0.7960947244428098" style="font-weight: normal;"><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Earlier this week, we <a href="http://googleenterprise.blogspot.com/2012/11/google-cloud-platform-new-features.html">announced</a> a collection of improvements across Google Cloud Platform including 36 new Compute Engine instances, Durable Reduced Availability (DRA) storage, Object Versioning, and European datacenter support. We also announced that we are reducing the price of standard Google Cloud Storage by over 20%. &nbsp;</span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">We are committed to delivering the best value in the marketplace to businesses and developers looking to operate in the cloud. &nbsp;That&#8217;s why today we are reducing the price of Google Cloud Storage by an additional 10%, resulting in a total price reduction of over 30%. &nbsp;This price reduction applies to all Cloud Storage regions and the new DRA Storage.</span></b><br /><b style="font-weight: normal;"><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b> <div class="separator" style="clear: both; text-align: center;"><a href="//4.bp.blogspot.com/-8UGvIbj95Cw/ULcGMCYF_QI/AAAAAAAAA7k/s7Mlq9_iCpw/s1600/Screen+shot+2012-11-28+at+10.33.40+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="246" src="//4.bp.blogspot.com/-8UGvIbj95Cw/ULcGMCYF_QI/AAAAAAAAA7k/s7Mlq9_iCpw/s400/Screen+shot+2012-11-28+at+10.33.40+PM.png" width="400"></a></div><b style="font-weight: normal;"><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Find out more about the new <a href="https://cloud.google.com/pricing/cloud-storage">Cloud Storage pricing</a> and <a href="https://cloud.google.com/console?getstarted=https://cloud.google.com">sign up</a> now to get started.</span></b></div> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Dave Barth, Product Manager</span><br /><br /><i>(Cross-posted to <a href="http://googledevelopers.blogspot.com/2012/11/google-cloud-storage-more-value-for.html">Google Developers Blog</a>)</i> <br /><br /><b id="internal-source-marker_0.7960947244428098" style="font-weight: normal;"><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Earlier this week, we <a href="http://googleenterprise.blogspot.com/2012/11/google-cloud-platform-new-features.html">announced</a> a collection of improvements across Google Cloud Platform including 36 new Compute Engine instances, Durable Reduced Availability (DRA) storage, Object Versioning, and European datacenter support. We also announced that we are reducing the price of standard Google Cloud Storage by over 20%. &nbsp;</span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">We are committed to delivering the best value in the marketplace to businesses and developers looking to operate in the cloud. &nbsp;That&#8217;s why today we are reducing the price of Google Cloud Storage by an additional 10%, resulting in a total price reduction of over 30%. &nbsp;This price reduction applies to all Cloud Storage regions and the new DRA Storage.</span></b><br /><b style="font-weight: normal;"><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b> <div class="separator" style="clear: both; text-align: center;"><a href="//4.bp.blogspot.com/-8UGvIbj95Cw/ULcGMCYF_QI/AAAAAAAAA7k/s7Mlq9_iCpw/s1600/Screen+shot+2012-11-28+at+10.33.40+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="246" src="//4.bp.blogspot.com/-8UGvIbj95Cw/ULcGMCYF_QI/AAAAAAAAA7k/s7Mlq9_iCpw/s400/Screen+shot+2012-11-28+at+10.33.40+PM.png" width="400"></a></div><b style="font-weight: normal;"><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Find out more about the new <a href="https://cloud.google.com/pricing/cloud-storage">Cloud Storage pricing</a> and <a href="https://cloud.google.com/console?getstarted=https://cloud.google.com">sign up</a> now to get started.</span></b></div> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2012/11/google-cloud-storage-more-value-for.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Cloud Blog:Google Cloud Storage - more value for performance&url=https://cloud.googleblog.com/2012/11/google-cloud-storage-more-value-for.html&via=gsuite'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://cloud.googleblog.com/2012/11/google-cloud-storage-more-value-for.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='comment-container'> <i class='comment-img material-icons'> &#57529; </i> <span class='cmt_count_iframe_holder' data-count='55' data-onclick='' data-post-url='https://cloud.googleblog.com/2012/11/google-cloud-storage-more-value-for.html' data-url='https://cloud.googleblog.com/2012/11/google-cloud-storage-more-value-for.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2012/11/google-cloud-storage-more-value-for.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://cloud.googleblog.com/search/label/cloud%20computing' rel='tag'> cloud computing </a> , <a class='label' href='https://cloud.googleblog.com/search/label/cloud%20platform' rel='tag'> cloud platform </a> , <a class='label' href='https://cloud.googleblog.com/search/label/cloud%20services' rel='tag'> cloud services </a> , <a class='label' href='https://cloud.googleblog.com/search/label/google%20cloud%20storage' rel='tag'> google cloud storage </a> </span> </div> </div> </div> <div class='post' data-id='2549519728227837872' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2012/11/google-cloud-platform-new-features.html' itemprop='url' title='Google Cloud Platform: new features, lower prices, extending European datacenters'> Google Cloud Platform: new features, lower prices, extending European datacenters </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, November 26, 2012 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <span class="byline-author">Posted by Jessie Jiang, Product Management Director</span><br><br><i>(Cross-posted on the <a href="http://googledevelopers.blogspot.com/">Google Developers Blog</a>.)</i> <br><br>We're constantly making updates to our Google Cloud Platform products&#8212;Google App Engine, Cloud Storage, Big Query, Compute Engine and others&#8212;based on user feedback and to improve the overall experience. For example, two weeks ago we <a href="http://googledevelopers.blogspot.com/2012/11/get-started-at-no-cost-with-faster.html">introduced</a> a major update to Google Cloud SQL providing faster performance, larger databases (100GB), an EU zone, and a <a href="http://cloud.google.com/sql">no-cost trial</a>. But, we know there is more to do. Today, we&#8217;re continuing to improve the platform with new storage and compute capabilities, significantly lower prices, and more European Datacenter support. <br><br><b>Lower storage prices and new Durable Reduced Availability (DRA) Storage</b><br>To give you more flexibility in your storage options and prices, we&#8217;re <a href="https://cloud.google.com/pricing/cloud-storage">reducing the price of standard Google Cloud Storage by over 20%</a> and introducing a limited preview of <a href="//goo.gl/AibNX">Durable Reduced Availability</a> (DRA) storage. DRA storage lowers prices by trading off some data availability while maintaining the same latency performance and durability as standard Google Cloud Storage. DRA can be used for things like batch compute jobs that can easily be rescheduled or for data back-up where quick access to your data is important. DRA achieves cost savings by keeping fewer redundant replicas of data. Unlike other reduced redundancy cloud storage offerings, DRA is implemented in a manner that maintains data durability so you don't have to worry about losing your data in the cloud. <br><br>And, to automatically keep a history of old versions of your data, we&#8217;re introducing <a href="https://developers.google.com/storage/docs/object-versioning">Object Versioning</a>. You can also use it to help protect against deleting or overwriting your data by mistake or due to an application error. <br><br><b>More European Datacenter support</b><br>We are continuing to roll out our <a href="https://docs.google.com/a/google.com/spreadsheet/viewform?formkey=dDllb3FHLS1IdXVIcjVKR3FScklka1E6MQ#gid=0">European Datacenter support</a>. Now, customers using Google App Engine, Google Cloud Storage, Google Cloud SQL and (soon) Google Compute Engine can deploy their applications, data and virtual machines to European Datacenters. This helps bring your solutions even closer to your customers for faster performance and enables international redundancy. <br><br><b>36 New Compute Engine instance types and overall reduced prices</b><br>Earlier this year we <a href="http://googleenterprise.blogspot.com/2012/06/google-compute-engine-computing-without.html">introduced</a> a Limited Preview of Google Compute Engine with four standard instance types. Today, we are announcing <a href="https://cloud.google.com/pricing/compute-engine">36 additional instance types</a> and are <a href="https://cloud.google.com/pricing/compute-engine">reducing the price of our original 4 standard instances</a> by about 5% for those currently in our preview. In the coming weeks, the following will be available: <br><br><ul><li><b>High Memory Instance</b> - High performance instances tailored for applications that demand large amounts of memory.</li><li><b>High CPU Instance</b> - Reduced cost option when applications don&#8217;t require as much memory.</li><li><b>Diskless Configurations</b> - Lower cost options for applications that do not require ephemeral disk and can exclusively utilize persistent disk. </li></ul><br> We are also introducing <a href="https://developers.google.com/compute/docs/reference/v1beta13/snapshots">Persistent Disk Snapshotting</a> which makes it simple to instantly create a backup of your disk, move it around Google datacenters, and use the snapshot to start up a new VM. <br><br>We want to thank you, the community of developers and businesses who are pushing the platform into new areas and building innovative applications. We look forward to seeing where you take it next. Find out more about the new <a href="https://cloud.google.com/pricing/cloud-storage">Cloud Storage pricing</a> and <a href="https://cloud.google.com/pricing/compute-engine">Compute Engine instances</a>. <a href="http://cloud.google.com/">Sign up now</a> and get started today. </script> <noscript> <span class="byline-author">Posted by Jessie Jiang, Product Management Director</span><br><br><i>(Cross-posted on the <a href="http://googledevelopers.blogspot.com/">Google Developers Blog</a>.)</i> <br><br>We're constantly making updates to our Google Cloud Platform products&#8212;Google App Engine, Cloud Storage, Big Query, Compute Engine and others&#8212;based on user feedback and to improve the overall experience. For example, two weeks ago we <a href="http://googledevelopers.blogspot.com/2012/11/get-started-at-no-cost-with-faster.html">introduced</a> a major update to Google Cloud SQL providing faster performance, larger databases (100GB), an EU zone, and a <a href="http://cloud.google.com/sql">no-cost trial</a>. But, we know there is more to do. Today, we&#8217;re continuing to improve the platform with new storage and compute capabilities, significantly lower prices, and more European Datacenter support. <br><br><b>Lower storage prices and new Durable Reduced Availability (DRA) Storage</b><br>To give you more flexibility in your storage options and prices, we&#8217;re <a href="https://cloud.google.com/pricing/cloud-storage">reducing the price of standard Google Cloud Storage by over 20%</a> and introducing a limited preview of <a href="//goo.gl/AibNX">Durable Reduced Availability</a> (DRA) storage. DRA storage lowers prices by trading off some data availability while maintaining the same latency performance and durability as standard Google Cloud Storage. DRA can be used for things like batch compute jobs that can easily be rescheduled or for data back-up where quick access to your data is important. DRA achieves cost savings by keeping fewer redundant replicas of data. Unlike other reduced redundancy cloud storage offerings, DRA is implemented in a manner that maintains data durability so you don't have to worry about losing your data in the cloud. <br><br>And, to automatically keep a history of old versions of your data, we&#8217;re introducing <a href="https://developers.google.com/storage/docs/object-versioning">Object Versioning</a>. You can also use it to help protect against deleting or overwriting your data by mistake or due to an application error. <br><br><b>More European Datacenter support</b><br>We are continuing to roll out our <a href="https://docs.google.com/a/google.com/spreadsheet/viewform?formkey=dDllb3FHLS1IdXVIcjVKR3FScklka1E6MQ#gid=0">European Datacenter support</a>. Now, customers using Google App Engine, Google Cloud Storage, Google Cloud SQL and (soon) Google Compute Engine can deploy their applications, data and virtual machines to European Datacenters. This helps bring your solutions even closer to your customers for faster performance and enables international redundancy. <br><br><b>36 New Compute Engine instance types and overall reduced prices</b><br>Earlier this year we <a href="http://googleenterprise.blogspot.com/2012/06/google-compute-engine-computing-without.html">introduced</a> a Limited Preview of Google Compute Engine with four standard instance types. Today, we are announcing <a href="https://cloud.google.com/pricing/compute-engine">36 additional instance types</a> and are <a href="https://cloud.google.com/pricing/compute-engine">reducing the price of our original 4 standard instances</a> by about 5% for those currently in our preview. In the coming weeks, the following will be available: <br><br><ul><li><b>High Memory Instance</b> - High performance instances tailored for applications that demand large amounts of memory.</li><li><b>High CPU Instance</b> - Reduced cost option when applications don&#8217;t require as much memory.</li><li><b>Diskless Configurations</b> - Lower cost options for applications that do not require ephemeral disk and can exclusively utilize persistent disk. </li></ul><br> We are also introducing <a href="https://developers.google.com/compute/docs/reference/v1beta13/snapshots">Persistent Disk Snapshotting</a> which makes it simple to instantly create a backup of your disk, move it around Google datacenters, and use the snapshot to start up a new VM. <br><br>We want to thank you, the community of developers and businesses who are pushing the platform into new areas and building innovative applications. We look forward to seeing where you take it next. Find out more about the new <a href="https://cloud.google.com/pricing/cloud-storage">Cloud Storage pricing</a> and <a href="https://cloud.google.com/pricing/compute-engine">Compute Engine instances</a>. <a href="http://cloud.google.com/">Sign up now</a> and get started today. </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2012/11/google-cloud-platform-new-features.html'> <img alt='Share on Google+' height='24' src='https://www.gstatic.com/images/branding/google_plus/2x/ic_w_post_gplus_black_24dp.png' width='24'/> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Official Google Cloud Blog:Google Cloud Platform: new features, lower prices, extending European datacenters&url=https://cloud.googleblog.com/2012/11/google-cloud-platform-new-features.html&via=gsuite'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=https://cloud.googleblog.com/2012/11/google-cloud-platform-new-features.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='comment-container'> <i class='comment-img material-icons'> &#57529; </i> <span class='cmt_count_iframe_holder' data-count='3' data-onclick='' data-post-url='https://cloud.googleblog.com/2012/11/google-cloud-platform-new-features.html' data-url='https://cloud.googleblog.com/2012/11/google-cloud-platform-new-features.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2012/11/google-cloud-platform-new-features.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='https://cloud.googleblog.com/search/label/cloud%20platform' rel='tag'> cloud platform </a> , <a class='label' href='https://cloud.googleblog.com/search/label/cloud%20services' rel='tag'> cloud services </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20App%20Engine' rel='tag'> Google App Engine </a> , <a class='label' href='https://cloud.googleblog.com/search/label/google%20cloud%20storage' rel='tag'> google cloud storage </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Compute%20Engine' rel='tag'> Google Compute Engine </a> </span> </div> </div> </div> <div class='blog-pager' id='blog-pager'> <a class='home-link' href='https://cloud.googleblog.com/'> <i class='material-icons'> &#59530; </i> </a> <i class='material-icons disabled'> &#58820; </i> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='https://cloud.googleblog.com/search/label/google%20cloud%20storage?updated-max=2012-11-26T09:57:00-08:00&max-results=20&start=20&by-date=false' id='Blog1_blog-pager-older-link' title='Older Posts'> <i class='material-icons'> &#58824; </i> </a> </span> </div> <div class='clear'></div> </div></div> </div> </div> <div class='col-right'> <div class='section' id='sidebar-top'><div class='widget HTML' data-version='1' id='HTML8'> <div class='widget-content'> <div class='searchBox'> <input type='text' title='Search This Blog' placeholder='Search blog ...' /> </div> </div> <div class='clear'></div> </div></div> <div id='aside'> <div class='section' id='sidebar'><div class='widget Label' data-version='1' id='Label1'> <div class='tab'> <img class='sidebar-icon' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYpJREFUeNrs2aFuwzAQBmAvKRkMKRjZA4QMDJaWFgyMjuzFRg37DIUlA3uFkoGQSaWzJU+tpri5O9+l/zSfdFJlpe59yTmyVedq1PjfcZMZ70NuQnaF8w8htyE/rABtpviXkLcK88c5HhLkMBfgVan43zfFBNGMjHVGT/s55KP2pAvidbGHd+nzKt1RKSLG3rKF1iPFv6UWiPke8i7kEqGdGsI1O+LYVdqJAjgirwkKYD0ytkJBUNbAMvX8V3q9PhUsYvU1sWD8SO/sQvx2ahxOiNoJCSBCoAHYCEQAC4EKICOQASQEOmAS8RcAFxFN5hiIiugpgC3wk9hQAHH/70EBHXUN7IER5EWMiBgo2+nzOKQv9SCAeEM/OQAkhE/ncccFICB87qzQMia5FsJfOui0zMnmRvipU1ormHQuxGTxUsAcCFLxJQBLBLn4UoAFglW8BkATwS5eC6CBEBWvCShBiIvXBkgQRcVbADiI4uKtABSESvGWgB9EzHt3+tNwyO0qa9SoIYtvAQYAqDJhaWWeMecAAAAASUVORK5CYII='/> <h2> Labels </h2> <i class='material-icons arrow'> &#58821; </i> </div> <div class='widget-content list-label-widget-content'> <ul> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23innovationupgrade'> #innovationupgrade </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23InspireGirls'> #InspireGirls </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23moregoogleapps'> #moregoogleapps </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23SysAdminDay'> #SysAdminDay </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23tbt'> #tbt </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23throwbackthursday'> #throwbackthursday </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23top10trust'> #top10trust </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/100%25%20web'> 100% web </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/50states'> 50states </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/ad%20contest'> ad contest </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/add-ons'> add-ons </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/admin'> admin </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Admin%20console'> Admin console </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/admin%20sdk'> admin sdk </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/AirPlay'> AirPlay </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android'> Android </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20for%20Work'> Android for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20for%20Work%20Live'> Android for Work Live </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20Marshmellow'> Android Marshmellow </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20Nougat'> Android Nougat </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20security'> Android security </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20security%20tips'> Android security tips </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Apps%20Adventures'> Apps Adventures </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/apps%20script'> apps script </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/apptuesday'> apptuesday </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Armed%20Forces%20Day'> Armed Forces Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Asia%20Pacific'> Asia Pacific </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Atmosphere%20Live'> Atmosphere Live </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Audi'> Audi </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Audi%20Connect'> Audi Connect </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/audit'> audit </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Australia'> Australia </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/big%20data'> big data </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Big%20Query'> Big Query </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/bigquery'> bigquery </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Boston'> Boston </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/browser'> browser </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chomebox%20for%20Meetings'> Chomebox for Meetings </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome'> Chrome </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20Device%20Management'> Chrome Device Management </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20digital%20signage'> Chrome digital signage </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20for%20Business'> Chrome for Business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20for%20Work'> Chrome for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20Frame'> Chrome Frame </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20OS'> Chrome OS </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebit'> Chromebit </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebooks'> Chromebooks </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebooks%20for%20Business'> Chromebooks for Business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebooks%20for%20Education'> Chromebooks for Education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebooks%20for%20Work'> Chromebooks for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebox%20for%20digital%20signage'> Chromebox for digital signage </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebox%20for%20meetings'> Chromebox for meetings </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebox%20for%20signage'> Chromebox for signage </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromeboxes'> Chromeboxes </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromecast'> Chromecast </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/City%2024%2F7'> City 24/7 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Classroom'> Classroom </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Clearing%20Kosovo'> Clearing Kosovo </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Cloud'> Cloud </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20computing'> cloud computing </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20computing%20gonegoogle'> cloud computing gonegoogle </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20computing%20gonegoogle%20Google%20Apps'> cloud computing gonegoogle Google Apps </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20computing%20gonegoogle%20Google%20Apps%20google%20docs%20small%20business%20success%20story'> cloud computing gonegoogle Google Apps google docs small business success story </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20computing%20gonegoogle%20Google%20Apps%20google%20docs%20small%20business%20success%20story%20switch'> cloud computing gonegoogle Google Apps google docs small business success story switch </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20datastore'> cloud datastore </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20platform'> cloud platform </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Cloud%20Platform%20Live'> Cloud Platform Live </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20print'> cloud print </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20series'> cloud series </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20services'> cloud services </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20sql'> cloud sql </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/collaboration'> collaboration </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Colorado'> Colorado </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Connectors'> Connectors </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/contacts'> contacts </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Control%20Panel'> Control Panel </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/customer'> customer </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/customer%20love'> customer love </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Customer%20story'> Customer story </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Customer%20support'> Customer support </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Customer%20testimonial'> Customer testimonial </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/data%20centers'> data centers </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/data%20processing%20amendment'> data processing amendment </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/data%20protection'> data protection </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Developer'> Developer </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/developers'> developers </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Digital%20Learning%20Day'> Digital Learning Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Docs'> Docs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/documents'> documents </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/DPA'> DPA </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Drawings'> Drawings </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Drive%20for%20Education'> Drive for Education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/drive%20sharing'> drive sharing </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Earth'> Earth </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/earth%20and%20maps'> earth and maps </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/EC'> EC </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/education'> education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Education%20on%20Air'> Education on Air </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/EMC'> EMC </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/EMM'> EMM </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Energy'> Energy </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/enterprise'> enterprise </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/EU'> EU </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/events'> events </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/FedEx'> FedEx </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Fedex.com'> Fedex.com </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Finance'> Finance </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Firebase'> Firebase </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Forms'> Forms </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/franchises'> franchises </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/GAFE'> GAFE </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Gartner'> Gartner </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/GE'> GE </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/geo'> geo </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Global%20Partner%20Summit'> Global Partner Summit </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/gmail'> gmail </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Gone%20Google'> Gone Google </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/gonegoogle'> gonegoogle </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20AdWords'> Google AdWords </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20App%20Engine'> Google App Engine </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps'> Google Apps </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20Blog'> Google Apps Blog </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20for%20Business'> Google Apps for Business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20for%20Education'> Google Apps for Education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20for%20Government'> Google Apps for Government </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20for%20Work'> Google Apps for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20Marketplace'> Google Apps Marketplace </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20Reseller'> Google Apps Reseller </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20Script'> Google Apps Script </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20Vault'> Google Apps Vault </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20BigQuery'> Google BigQuery </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Calendar'> Google Calendar </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Calendar%20app'> Google Calendar app </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Certified%20Teachers'> Google Certified Teachers </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Chrome'> Google Chrome </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Chromebases'> Google Chromebases </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Classroom'> Google Classroom </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20Datastore'> Google Cloud Datastore </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20DNS'> Google Cloud DNS </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20Platform'> Google Cloud Platform </a> </li> <li> <span dir='ltr'> google cloud storage </span> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20Vision%20API'> Google Cloud Vision API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20commerce%20search'> google commerce search </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Compute%20Engine'> Google Compute Engine </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Doc'> Google Doc </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Docs'> Google Docs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Domains'> Google Domains </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Draw'> Google Draw </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Drive'> Google Drive </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Drive%20for%20Work'> Google Drive for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Earth'> Google Earth </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Earth%20Engine'> Google Earth Engine </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Earth%20Enterprise'> Google Earth Enterprise </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Earth%20Images'> Google Earth Images </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Earth%20Pro'> Google Earth Pro </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Email%20Security%20and%20Archiving'> Google Email Security and Archiving </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Enterprise'> Google Enterprise </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Enterprise%20Search'> Google Enterprise Search </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Expeditions'> Google Expeditions </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Education'> Google for Education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Education%20Partner%20Program'> Google for Education Partner Program </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Education%20Training%20Center'> Google for Education Training Center </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Entrepreneurs'> Google for Entrepreneurs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Work'> Google for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Work%20and%20Google%20for%20Education%20Partner%20Program'> Google for Work and Google for Education Partner Program </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Work%20partner%20program'> Google for Work partner program </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Forms'> Google Forms </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Green'> Google Green </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20groups'> google groups </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Hangout'> Google Hangout </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Hangouts'> Google Hangouts </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20I%2FO'> Google I/O </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Keep'> Google Keep </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps'> Google Maps </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20API'> Google Maps API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20APIs'> Google Maps APIs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Coordinate'> Google Maps Coordinate </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Engine'> Google Maps Engine </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Engine%20Pro'> Google Maps Engine Pro </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Engine%20public%20data%20program'> Google Maps Engine public data program </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20for%20Business'> Google Maps for Business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20for%20Work'> Google Maps for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Gallery'> Google Maps Gallery </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Tracks%20API'> Google Maps Tracks API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Message%20Continuity'> Google Message Continuity </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20message%20security'> google message security </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Mobile%20Device%20Management'> Google Mobile Device Management </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20My%20Maps'> Google My Maps </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20My%20Maps%20Pro'> Google My Maps Pro </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Places%20API'> Google Places API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Play'> Google Play </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20play%20for%20education'> google play for education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Prediction%20API'> Google Prediction API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Research%20tool'> Google Research tool </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Science%20Fair'> Google Science Fair </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Search%20Appliance'> Google Search Appliance </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Security%20Key'> Google Security Key </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Sheets'> Google Sheets </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Site%20Search'> Google Site Search </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20sites'> google sites </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Slides%20API'> Google Slides API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Smart%20Lock'> Google Smart Lock </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20spreadsheets'> Google spreadsheets </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Springboard'> Google Springboard </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20storage'> google storage </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Storage%20for%20Developers'> Google Storage for Developers </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Translate'> Google Translate </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Vault'> Google Vault </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Video'> Google Video </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Wave'> Google Wave </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%2B'> google+ </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%2B%20api'> Google+ api </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%2B%20Communities'> Google+ Communities </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/googlenew'> googlenew </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/government'> government </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/GSA'> GSA </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/GSA%207.0'> GSA 7.0 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/GSA%20for%20Commerce'> GSA for Commerce </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/guest%20post'> guest post </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/HALO%20Trust'> HALO Trust </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Hangout%20on%20Air'> Hangout on Air </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Hangouts%20on%20Air'> Hangouts on Air </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/HEAT'> HEAT </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/hints%20and%20tips'> hints and tips </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/HIPAA'> HIPAA </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Inbox'> Inbox </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Inbox%20by%20Gmail'> Inbox by Gmail </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/innovation'> innovation </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/international%20trade'> international trade </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Internet%20Explorer'> Internet Explorer </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/intranet'> intranet </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/io2011'> io2011 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/iOS'> iOS </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/iPad'> iPad </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/IT'> IT </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/K-12'> K-12 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Kubernetes'> Kubernetes </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/large%20business'> large business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/MAM'> MAM </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/manufacturing'> manufacturing </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Mapping%20a%20better%20world'> Mapping a better world </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/marketplace'> marketplace </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/marketplace%20highlights'> marketplace highlights </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/mashups'> mashups </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/MCCs'> MCCs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/MDM'> MDM </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/medium%20business'> medium business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/migration'> migration </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/mobile'> mobile </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/mobile%20management'> mobile management </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/model%20contract%20clauses'> model contract clauses </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/moms'> moms </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Mother%27s%20Day'> Mother&#39;s Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/mpstaffpick'> mpstaffpick </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/MyHEAT'> MyHEAT </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/NAVMAN'> NAVMAN </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/new%20features'> new features </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/news'> news </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Niagara%20International%20Transportation%20Technology%20Coalition'> Niagara International Transportation Technology Coalition </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/non-profit'> non-profit </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/noteworthy'> noteworthy </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/offline'> offline </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/OpenID%20Connect'> OpenID Connect </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Parters'> Parters </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/partner'> partner </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Partner%20Showcase'> Partner Showcase </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/partners'> partners </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Place%20Summaries'> Place Summaries </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Postini'> Postini </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/privacy'> privacy </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/product%20ideas'> product ideas </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/productivity'> productivity </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Quickoffice'> Quickoffice </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Receptionist%27s%20Day'> Receptionist&#39;s Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/reports'> reports </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Reseller'> Reseller </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/retail'> retail </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/RSA'> RSA </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Safer%20Internet%20Day'> Safer Internet Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/SBW2013'> SBW2013 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/SBW2014'> SBW2014 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/sbweek'> sbweek </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/SCCs'> SCCs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Search'> Search </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Security'> Security </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Security%20Key'> Security Key </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/small%20business'> small business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Small%20Business%20Week'> Small Business Week </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Small%20businesses'> Small businesses </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/SMB'> SMB </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/spam%20and%20security%20trends'> spam and security trends </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Startups'> Startups </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/success%20story'> success story </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/support'> support </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/switch'> switch </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/System%20Admin'> System Admin </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/T%20Dispatch'> T Dispatch </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Teamwork%202015'> Teamwork 2015 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Thanksgiving'> Thanksgiving </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Transport%20and%20Logistics'> Transport and Logistics </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Trust'> Trust </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/UK'> UK </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/university'> university </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/University%20of%20Calgary'> University of Calgary </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Updates'> Updates </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/utilities'> utilities </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Veteran%20Owned%20Businesses'> Veteran Owned Businesses </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Veterans%20Day'> Veterans Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Veterans%20Day%202013'> Veterans Day 2013 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Veterans%20Day%202014'> Veterans Day 2014 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/viewpoint'> viewpoint </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/VNX'> VNX </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/wallet'> wallet </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/webinar'> webinar </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/webmaster'> webmaster </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Winter'> Winter </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/women%20in%20tech'> women in tech </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Women%27s%20History%20Month'> Women&#39;s History Month </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Work%20Resolutions'> Work Resolutions </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/World%20Bank'> World Bank </a> </li> </ul> <div class='clear'></div> </div> </div><div class='widget BlogArchive' data-version='1' id='BlogArchive1'> <div class='tab'> <i class='material-icons icon'> &#58055; </i> <h2> Archive </h2> <i class='material-icons arrow'> &#58821; </i> </div> <div class='widget-content'> <div id='ArchiveList'> <div id='BlogArchive1_ArchiveList'> <ul class='hierarchy'> <li class='archivedate expanded'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy toggle-open'> <i class='material-icons'> &#58823; </i> &#160; </span> </a> <a class='post-count-link' href='https://cloud.googleblog.com/2016/'> 2016 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate expanded'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2016/01/'> January </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://cloud.googleblog.com/2015/'> 2015 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2015/01/'> January </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://cloud.googleblog.com/2014/'> 2014 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2014/01/'> January </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://cloud.googleblog.com/2013/'> 2013 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2013/01/'> January </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://cloud.googleblog.com/2012/'> 2012 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2012/01/'> January </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://cloud.googleblog.com/2011/'> 2011 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2011/01/'> January </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://cloud.googleblog.com/2010/'> 2010 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2010/01/'> January </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://cloud.googleblog.com/2009/'> 2009 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2009/01/'> January </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://cloud.googleblog.com/2008/'> 2008 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2008/01/'> January </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://cloud.googleblog.com/2007/'> 2007 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2007/01/'> January </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='https://cloud.googleblog.com/2006/'> 2006 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/12/'> December </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/11/'> November </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/10/'> October </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/09/'> September </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/08/'> August </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/07/'> July </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/06/'> June </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/04/'> April </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/03/'> March </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/02/'> February </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='https://cloud.googleblog.com/2006/01/'> January </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> </div> </div> <div class='clear'></div> </div> </div><div class='widget HTML' data-version='1' id='HTML6'> <div class='widget-content'> <a href="http://cloud.blogspot.com/atom.xml"> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAihJREFUeNrsWa9Pw0AU7viRMDFRBAkzJDMIBIhJJhCzk7NILIqMv4AEhdz+BCY3OYssAlGBoAJREpZwAlHEBO8lr8nSvNeVbu1dyX3JlzTrXfa+u/e9d7c5joWFhYVO1Fa8PwH2gK6m+BRwAvSlAdsrgr8E1jUuMH73GTAEzrkBWymTewZlihhLmgDXIAFuHgGVQOUF7OSYM1p6PgTuA1vAZlUEvAnPdapcMY0VICECekQ0XRfYrqoHsAGNgXfAoMomRiFDEhOZkkL3S88hMaB2LwXp0bj+ps2edpToZpjfoIDQtBeU+xjoDzP2G/gCPKZ5f8WsCAFJoJgOCcFdWSTeL9YQMSvTA1h9BkI5jaiXhLpSCL/8mVZY0UpyJ9ZdOkniu1dmJ96BpzQu9w6s28gcOq9j6pwLdR8/36NK5CQKwJSMrb2MhhSglBpt4UjsrdsnNu0B3J0HCozbCc4TjyY2srEgos/4RQljCzNxl4ireQD8FOq+T+W0mTB2g7njhlR+Sy2jsXFvU658U8YTbeaGpdIu7mWkEAq5ZtIjIhFZdtfX7QHckSvB2B6zC3VdAkZk0kAQwaXTk/CzTXK3wjIExCs6ZJpTnE4uY1KV+KzFzA3KTiFPENHJkOPcsfpLhwe4btoSuvUqAR+6TOxlCE6ZfKUsJLgsqGW8OpqAGx2X+sLxrwUog+JUeQRMDBIwyXOcnlPtPnL0/UsT/8LnOxYWFhZG4leAAQAAQHEaYuzHbAAAAABJRU5ErkJggg==" class="sidebar-icon" /> <h2>Feed</h2> </a> </div> <div class='clear'></div> </div></div> <div class='section' id='sidebar-bottom'><div class='widget HTML' data-version='1' id='HTML5'> <div class='widget-content'> <div class="followgooglewrapper"> <a href="http://plus.google.com/+googlecloud" rel="publisher" style="text-decoration:none;display:inline-block;color:#333;text-align:center; font:13px/16px arial,sans-serif;white-space:nowrap;"> <span style="display:inline-block;font-weight:bold;vertical-align:top;margin-right:5px; margin-top:0px;">Google</span><span style="display:inline-block;vertical-align:top;margin-right:13px; margin-top:0px;">on</span> <img src="//ssl.gstatic.com/images/icons/gplus-16.png" alt="Google+" style="border:0;width:16px;height:16px;"/></a> </div> <div class='followgooglewrapper'> <script src="https://apis.google.com/js/plusone.js"></script> <div class="g-ytsubscribe" data-channel="GoogleApps" data-layout="full"></div> </div> <!--Twitter--> <div class="share followgooglewrapper"> <button data-href="https://twitter.com/gsuite" onclick='sharingPopup(this);' id='twitter-share'><span class="twitter-follow">Follow @gsuite</span></button> <script> function sharingPopup (button) { var url = button.getAttribute("data-href"); window.open( url,'popUpWindow','height=500,width=500,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'); } </script> </div> </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML1'> <h2 class='title'> Useful Links </h2> <div class='widget-content'> <a href="https://gsuite.google.com/together/">G Suite</a><br /><a href="https://apps.google.com/products/gmail/?utm_medium=et&utm_source=appsblog&utm_campaign=en&utm_content=gmail">Gmail</a><br /><a href="https://apps.google.com/products/hangouts/?utm_medium=et&utm_source=appsblog&utm_campaign=en&utm_content=hangouts">Hangouts</a><br /><a href="https://apps.google.com/products/calendar/?utm_medium=et&utm_source=appsblog&utm_campaign=en&utm_content=calendar">Calendar</a><br /><a href="https://apps.google.com/products/googleplus/?utm_medium=et&utm_source=appsblog&utm_campaign=en&utm_content=gplus">Google+</a><br /><a href="https://apps.google.com/products/drive/?utm_medium=et&utm_source=appsblog&utm_campaign=en&utm_content=drive">Google Drive</a><br /><a href="https://www.google.com/work/mapsearth/">Google Maps</a><br /><a href="https://cloud.google.com/">Google Cloud Platform</a> </div> <div class='clear'></div> </div></div> </div> </div> <div style='clear:both;'></div> </div> <!-- Footer --> <div class='footer-outer loading'> <div class='footer-inner'> <div class='footer-inner-2'> <div style='width:33%;float:left;'> <div class='section' id='footer-1'><div class='widget HTML' data-version='1' id='HTML2'> <h2 class='title'> Company-wide </h2> <div class='widget-content'> <ul> <li> <a href="//googleblog.blogspot.com/" title="Official Google">Official Google Blog</a> </li> <li> <a href="//googlepublicpolicy.blogspot.com/" title="Public Policy">Public Policy Blog</a> </li> <li> <a href="//googleforstudents.blogspot.com/" title="Student">Student Blog</a> </li> </ul> </div> <div class='clear'></div> </div></div> </div> <div style='width:33%;float:left;'> <div class='section' id='footer-2'><div class='widget HTML' data-version='1' id='HTML3'> <h2 class='title'> Products </h2> <div class='widget-content'> <ul> <li> <a href="//officialandroid.blogspot.com/" title="Android">Android Blog</a> </li> <li> <a href="//chrome.blogspot.com/" title="Chrome">Chrome Blog</a> </li> <li> <a href="//google-latlong.blogspot.com/" title="Lat Long">Lat Long Blog</a> </li> </ul> </div> <div class='clear'></div> </div></div> </div> <div style='width:33%;float:left;'> <div class='section' id='footer-3'><div class='widget HTML' data-version='1' id='HTML4'> <h2 class='title'> Developers </h2> <div class='widget-content'> <ul> <li> <a href="//googledevelopers.blogspot.com/" title="Developers">Developers Blog</a> </li> <li> <a href="//googleadsdeveloper.blogspot.com/" title="Ads Developer">Ads Developer Blog</a> </li> <li> <a href="//android-developers.blogspot.com/" title="Android">Android Developers Blog</a> </li> </ul> </div> <div class='clear'></div> </div></div> </div> <div style='clear:both;'></div> </div> </div> </div> <div class='google-footer-outer loading'> <div id='google-footer'> <a href='//www.google.com/'> <img class='google-logo-dark' height='36' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAABICAYAAABFoT/eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAACLVJREFUeNrsXd+L20YQ3vOprdLqiMXFXE2qB7dcwEcTSB7ykIc+9A/PQx/yEMq1TWhNuYIpJriNr7XpmZ5IxFEvmW2EKs3Ornb1w50PxIFP0kiz387OzM6uhGAwGAxGP3Ho+f7x7ri1O7LdccPqZjSNA4dEHsLfaHcEFedJom93x9Xu2OyOFTcBo6sED3fHZHeMEELrkAHJF0B8Rr+gDFsZ5n0luLTQ95AXs4W06D/tjpR50xtM4CjD0y48YGB4rnyZxNOzyA7zBHr+nLnDaJLg0mo/ALekCasg3Z4XbM0ZdTEgnDPeHY8bIne+Qz2GvwyGNwsuyT218KWvIIBMcwGpLiipcolecjMxfBDchNyS1EvxLiOSIecp31q6IJ/C3yrIrMqMm4jhg+AxkdwbIO3aUO4KjqqMjCT3uaazMBhWBJfuxH3CtRfiXf66DhSRZWbmlMnNaILgZxrXJQO/eO3wORZwvwm4JUxuhheCjzVBYAbW1ces45YDSoZrFNOEE835M8FT6oyeEnws8Fz3QnBxFKPHBMem4GU+m6fPGb0leCTwWcM5B36MPgeZI01gudyDdw3hPeXfo8L/rmCUWnuMMdqUL2WqWeRbhf+twfVsO7YagZGNC79fw7OthEVtkiJ4jJzTd3KPwf3CRqhhiTu23AP5sl0/0xiwISQXpNwLIJK87mHF+U8ddzzdmgKlGzlPYjyxGJQouIhNT4k9AqWEFkqfguIvagTWbcq3KW1WE3xS3m8NtA9WS451xofwjKT5kkDoK/b6mDk5FfXr1lWDL4BofZEv2/SRsK/EHGlGdBdu8QNRb8HMCFwt7Yy3DDI/QP7fx5z3VLhdlJEIs4rKNuXXJXdxZPdB7kfCzWqwCO4V1LHgLjInX3tQ1KzCR52Cz+vDj1dydeRuS74rcvs2Pi6fT5H8OaaUQPQPYcWwRSGXyhhscn5dpAnEFMkuEZetbfkTAnlSuH4DxisE+aMGeJAQ3lFl7C4LJE6QWCaCd583ORQ1jYAwjFctal7nOs2ZZvicwvlZx+RHGrcoAwKUVX8uwcc/9TT65INeDOr5shL9LDRB6QTeIy3zwfdh3WOi6axLCEhSjXU7F3h6LqggUtvyJxpynwu8tDkD98fXApOxRj8zoZ9MnGveYVIVZKaGrkBXCY65BCYNN9NkjpKOyQ81Q79JgdxS+Jn3SDTEXRI7SWzaiSTB32oI3nU3BvMfM0urhOVYgwKhuiAfc4tM07wXwm1ZRoQYSl2NUwiu01fEAHVcpixd745FvVz4dzUUc0o8rwoLy8ZSwU6CyFx1RP5II9+1bFPEFs9HWbNLiimDXE+vCm7u1CS47cofzD3aEhVY57mxRo5zlqdt+RFC1JUH2S7bcVXg4liTMakaBZZVxiTICRoivcn1sEUBlk24JmaC6kxUbYmWoqvyfck2xZGGnDFYa9MMzkYQ1ijkCX6qidybrgePiQ0QIQqoi6qRLeqQfIoRsEHaQJLBdHOnLGetSdm/IPcymJuS1PAnbQPH0MOw/39C1vL11DiLOqIsbDI8QcHvGiLnySi2qUXBicaqUSxN5LEB0g7Jt3ENXJLPJ5S1tnaZBoWbpRqrmjRE7qHmpSmNHdQcYrEUadoh+TbBnc9ri7iycI1kzPeNcLDIvbiqXpez9Tmdq6zGREPuzECBoxrPMiI2WtvyNwhJba2wy3JZ6ky5dD1lSvmZS3e4SPA1wcf1VTFHKX+cGwZzdUYcqpvUtvwrD/InDttVlyZeAKlNN5MKbAiurHhKIPlUuJvlTCCiDjSKSCsUmCFWbGLZwCESfK07JB8LvMYWVtw0D00JEHV8Mq2HkqPbE0oHLvvK2g0o8ETg+4cfwTlZDT9JDoWygu4uQQE/ivIvtcnfPkaCqhiupz7jWOAzqL/vjtcdkv9G4MVMt+EaylfuImiPAXEUjRF3pjjaHiPPZ6If9TGGAO4ZY0am6jOCb+DQ+ZCqLkIpOIPrdNfIjnFPY6nyFut7TS/fanrziOBOKMupKw94WaLMtuVnSFt9CPrWWdJE6PeltCX432DEBoh+5Dv8RRhdis8YAv9uyq4/JAwtlEApgBe9Cw9xDD3tdk4Jn0MDfiHwPHcRPxBePCMER3GuIx7kGlv9fkZ4V9lolx2Uv4X7hEj7qJ3LDoAMGbTRMRibu4L2xQ8bgt8AyU+Q+x7nYrvDnH4iuO5LxKsYwPVbkPMvKF9Zky9wXzRfVWizi62r9X5VHf55h+WHhDjGBZ4WRhyTr6z5SlCoLMxLSpBZFsQ9F80uQFbF/6aFWi+Ev51vzzsuX+msyzuQXXjUz8zEBy+zpq9yweXAoxJW4JbYrDS6gYDqGHxPl+TKeiBfxj9/EBIElPYeOA4y8/qRQfknjvSzgRgtq0Pw/M1eQeMdOSb2Bnrhr6Led+1vcp2x7oTFHMnedFW+Ivlty062BUt74oHgSj+vHepnhunn0JJAMtBZgDI/qmGtMujRv8DDpo47zBJ8UtPOuAR/7rKn8t9AJ0tBdmBAmJ/Fu71yxp4I3qh+DhyRqbi5Y1ShVPlSb8X7bRNcfgZFl+WRGYo7uecrWq1r8X5bhmzP5OdlDwsGRm1suSxkg5rYm7ConyGQ3Zl+DgSD8V/kPwrWBMG9YcBtyShBnTLdTiHgttw7qAW7cqh/ZnmPKr/6ignOaKsdyxbsToT5UkPsW00bJjijDXficcX/JsLs6w2BwGtherdckH3w/kNXRPVI0OqJQoHX42/66IMfMj/2huRjxIidgKV/W0JS+bsstDoTeAHcrI8E5zTh/sDkqxL5rZup55/3USlswfcHf4IrQplVDgW9XFlOqnwr6pVPMMEZTuC60EttvdzbLbaZ4PsFVa3nohhO+vW+yn/ZB2fUhpysmQrzBcTSai9EszuZMcEZ1lCFVrp9zGXhm69iLyY4oxFIa178lPe12I/P2DAYDAaDwWAwGAwGg8FgMBgMBoPBYDD2Cf8IMADDRGoQTe+E9AAAAABJRU5ErkJggg==' style='margin-top: -16px;' width='92'/> </a> <ul> <li> <a href='//www.google.com/'> Google </a> </li> <li> <a href='//www.google.com/policies/privacy/'> Privacy </a> </li> <li> <a href='//www.google.com/policies/terms/'> Terms </a> </li> </ul> </div> </div> <script type='text/javascript'> //<![CDATA[ // Social sharing popups. var postEl = document.getElementsByClassName('social-wrapper'); var postCount = postEl.length; for(i=0; i<postCount;i++){ postEl[i].addEventListener("click", function(event){ var postUrl = this.getAttribute("data-href"); window.open( postUrl,'popUpWindow','height=500,width=500,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'); });} //]]> </script> <script type='text/javascript'> //<![CDATA[ var BreakpointHandler = function() { this.initted = false; this.isHomePage = false; this.isMobile = false; }; BreakpointHandler.prototype.finalizeSummary = function(summaryHtml, lastNode) { // Use $.trim for IE8 compatibility summaryHtml = $.trim(summaryHtml).replace(/(<br>|\s)+$/,''); if (lastNode.nodeType == 3) { var lastChar = summaryHtml.slice(-1); if (!lastChar.match(/[.”"?]/)) { if (!lastChar.match(/[A-Za-z]/)) { summaryHtml = summaryHtml.slice(0, -1); } summaryHtml += ' ...'; } } else if (lastNode.nodeType == 1 && (lastNode.nodeName == 'I' || lastNode.nodeName == 'A')) { summaryHtml += ' ...'; } return summaryHtml; }; BreakpointHandler.prototype.generateSummaryFromContent = function(content, numWords) { var seenWords = 0; var summaryHtml = ''; for (var i=0; i < content.childNodes.length; i++) { var node = content.childNodes[i]; var nodeText; if (node.nodeType == 1) { if (node.hasAttribute('data-about-pullquote')) { continue; } nodeText = node.textContent; if (nodeText === undefined) { // innerText for IE8 nodeText = node.innerText; } if (node.nodeName == 'DIV' || node.nodeName == 'B') { // Don't end early if we haven't seen enough words. if (seenWords < 10) { continue; } if (i > 0) { summaryHtml = this.finalizeSummary(summaryHtml, content.childNodes[i-1]); } break; } summaryHtml += node.outerHTML; } else if (node.nodeType == 3) { nodeText = node.nodeValue; summaryHtml += nodeText + ' '; } var words = nodeText.match(/\S+\s*/g); if (!words) { continue; } var remain = numWords - seenWords; if (words.length >= remain) { summaryHtml = this.finalizeSummary(summaryHtml, node); break; } seenWords += words.length; } return summaryHtml; }; BreakpointHandler.prototype.detect = function() { var match, pl = /\+/g, search = /([^&=]+)=?([^&]*)/g, decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); }, query = window.location.search.substring(1); var urlParams = {}; while (match = search.exec(query)) urlParams[decode(match[1])] = decode(match[2]); this.isListPage = $('html').hasClass('list-page'); this.isMobile = urlParams['m'] === '1'; this.isHomePage = window.location.pathname == '/'; }; BreakpointHandler.prototype.initContent = function() { var self = this; $('.post').each(function(index) { var body = $(this).children('.post-body')[0]; var content = $(body).children('.post-content')[0]; $(content).addClass('post-original'); var data = $(content).children('script').html(); data = self.rewriteForSSL(data); // If exists, extract specified editor's preview. var match = data.match(/([\s\S]+?)<div data-is-preview.+?>([\s\S]+)<\/div>/m); if (match) { data = match[1]; } // Prevent big images from loading when they aren't needed. // This must be done as a pre-injection step, since image loading can't be // canceled once embedded into the DOM. if (self.isListPage && self.isMobile) { data = data.replace(/<(img|iframe) .+?>/g, ''); } // Insert template to be rendered as nodes. content.innerHTML = data; if (self.isListPage) { var summary = document.createElement('div'); $(summary).addClass('post-content'); $(summary).addClass('post-summary'); body.insertBefore(summary, content); if (match) { // Use provided summary. summary.innerHTML = match[2]; } else { // Generate a summary. // Summary generation relies on DOM, so it must occur after content is // inserted into the page. summary.innerHTML = self.generateSummaryFromContent(content, 30); } // Add read more link to summary. var titleAnchor = $(this).find('.title a')[0]; var link = titleAnchor.cloneNode(true); link.innerHTML = 'Read More'; $(link).addClass('read-more'); summary.appendChild(link); } }); // Firefox does not allow for proper styling of BR. if (navigator.userAgent.indexOf('Firefox') > -1) { $('.post-content br').replaceWith('<span class="space"></span>'); } $('.loading').removeClass('loading'); }; BreakpointHandler.prototype.process = function() { if (!this.initted) { var makeInsecureImageRegex = function(hosts) { var whitelist = hosts.join('|').replace(/\./g,'\\.'); // Normal image tags, plus input images (yes, this is possible!) return new RegExp('(<(img|input)[^>]+?src=("|\'))http:\/\/(' + whitelist +')', 'g'); }; this.sslImageRegex = makeInsecureImageRegex(BreakpointHandler.KNOWN_HTTPS_HOSTS); this.sslImageCurrentDomainRegex = makeInsecureImageRegex([window.location.hostname]); this.detect(); this.initContent(); this.initted = true; } }; BreakpointHandler.KNOWN_HTTPS_HOSTS = [ "www.google.org", "www.google.com", "services.google.com", "blogger.com", "draft.blogger.com", "www.blogger.com", "photos1.blogger.com", "photos2.blogger.com", "photos3.blogger.com", "blogblog.com", "img1.blogblog.com", "img2.blogblog.com", "www.blogblog.com", "www1.blogblog.com", "www2.blogblog.com", "0.bp.blogspot.com", "1.bp.blogspot.com", "2.bp.blogspot.com", "3.bp.blogspot.com", "4.bp.blogspot.com", "lh3.googleusercontent.com", "lh4.googleusercontent.com", "lh5.googleusercontent.com", "lh6.googleusercontent.com", "themes.googleusercontent.com", ]; BreakpointHandler.prototype.rewriteForSSL = function(html) { // Handle HTTP -> HTTPS source replacement of images, movies, and other embedded content. return html.replace(this.sslImageRegex, '$1https://$4') .replace(this.sslImageCurrentDomainRegex, '$1//$4') .replace(/(<(embed|iframe)[^>]+?src=("|'))http:\/\/([^"']*?(youtube|picasaweb\.google)\.com)/g, '$1https://$4') // Slideshow SWF takes a image host, so we need to rewrite that parameter. .replace(/(<embed[^>]+?feed=http(?=[^s]))/g, '$1s'); }; $(document).ready(function() { var handler = new BreakpointHandler(); handler.process(); // Top-level navigation. $(".BlogArchive .tab").click(function(ev) { ev.preventDefault(); $(this).parent().toggleClass('active'); $(this).siblings().slideToggle(300); }); $(".Label .tab").click(function(ev) { ev.preventDefault(); $(this).parent().toggleClass('active'); $(this).siblings().slideToggle(300); }); // Blog archive year expansion. $('.BlogArchive .intervalToggle').click(function(ev) { ev.preventDefault(); if ($(this).parent().hasClass('collapsed')) { $(this).parent().removeClass('collapsed'); $(this).parent().addClass('expanded'); } else { $(this).parent().removeClass('expanded'); $(this).parent().addClass('collapsed'); } }); // Reverse order of months. $('.BlogArchive .intervalToggle + div').each(function(_, items) { var year = $(this); year.children().each(function(_, month) { year.prepend(month); }); }); // Set anchors to open in new tab. $('.post-content img').parent().each(function(_, node) { if (node.nodeName == 'A') { $(this).attr('target', '_blank'); } }); // Process search requests. $('.searchBox input').on("keypress", function(ev) { if (ev.which == 13) { window.location.href = 'https://www.google.com/search?q=site%3A' + window.location.hostname + '%20' + encodeURIComponent ($(this).val()); } }); }); //]]> </script> <script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/984859869-widgets.js"></script> <script type='text/javascript'> window['__wavt'] = 'AOuZoY6RqX9JMZAlcDJLISaMWBD59-pRpw:1732377285210';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d6567687196385815607','//cloud.googleblog.com/search/label/google%20cloud%20storage','6567687196385815607'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '6567687196385815607', 'title': 'Official Google Cloud Blog', 'url': 'https://cloud.googleblog.com/search/label/google%20cloud%20storage', 'canonicalUrl': 'https://cloud.googleblog.com/search/label/google%20cloud%20storage', 'homepageUrl': 'https://cloud.googleblog.com/', 'searchUrl': 'https://cloud.googleblog.com/search', 'canonicalHomepageUrl': 'https://cloud.googleblog.com/', 'blogspotFaviconUrl': 'https://cloud.googleblog.com/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': true, 'httpsEnabled': true, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': 'UA-18038-3', 'encoding': 'UTF-8', 'locale': 'en', 'localeUnderscoreDelimited': 'en', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'isDynamicViewsAvailable': true, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Official Google Cloud Blog - Atom\x22 href\x3d\x22https://cloud.googleblog.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22Official Google Cloud Blog - RSS\x22 href\x3d\x22https://cloud.googleblog.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Official Google Cloud Blog - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/6567687196385815607/posts/default\x22 /\x3e\n', 'meTag': '', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': false, 'adsenseAutoAds': false, 'boqCommentIframeForm': true, 'loginRedirectParam': '', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/d78375fb222d99b3', 'plusOneApiSrc': 'https://apis.google.com/js/platform.js', 'disableGComments': true, 'interstitialAccepted': false, 'sharing': {'platforms': [{'name': 'Get link', 'key': 'link', 'shareMessage': 'Get link', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Share to Facebook', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'X', 'key': 'twitter', 'shareMessage': 'Share to X', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Share to Pinterest', 'target': 'pinterest'}, {'name': 'Email', 'key': 'email', 'shareMessage': 'Email', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 0, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27en\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': false, 'jumpLinkMessage': 'Read more', 'pageType': 'index', 'searchLabel': 'google cloud storage', 'pageName': 'google cloud storage', 'pageTitle': 'Official Google Cloud Blog: google cloud storage'}}, {'name': 'features', 'data': {}}, {'name': 'messages', 'data': {'edit': 'Edit', 'linkCopiedToClipboard': 'Link copied to clipboard!', 'ok': 'Ok', 'postLink': 'Post Link'}}, {'name': 'template', 'data': {'name': 'custom', 'localizedName': 'Custom', 'isResponsive': false, 'isAlternateRendering': false, 'isCustom': true}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': 'Official Google Cloud Blog', 'description': 'Built in the cloud. Engineered for your enterprise.', 'url': 'https://cloud.googleblog.com/search/label/google%20cloud%20storage', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': false, 'isArchive': false, 'isSearch': true, 'isLabelSearch': true, 'search': {'label': 'google cloud storage', 'resultsMessage': 'Showing posts with the label google cloud storage', 'resultsMessageHtml': 'Showing posts with the label \x3cspan class\x3d\x27search-label\x27\x3egoogle cloud storage\x3c/span\x3e'}}}]); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'navMessage': 'Showing posts with label \x3cb\x3egoogle cloud storage\x3c/b\x3e. \x3ca href\x3d\x22https://cloud.googleblog.com/\x22\x3eShow all posts\x3c/a\x3e'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML8', 'sidebar-top', document.getElementById('HTML8'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_LabelView', new _WidgetInfo('Label1', 'sidebar', document.getElementById('Label1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading\x26hellip;'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML6', 'sidebar', document.getElementById('HTML6'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML5', 'sidebar-bottom', document.getElementById('HTML5'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML1', 'sidebar-bottom', document.getElementById('HTML1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML2', 'footer-1', document.getElementById('HTML2'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML3', 'footer-2', document.getElementById('HTML3'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML4', 'footer-3', document.getElementById('HTML4'), {}, 'displayModeFull')); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10