CINXE.COM

Official Google Cloud Blog: viewpoint

<!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: viewpoint </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/viewpoint' 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/viewpoint' 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/viewpoint' 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=4e14c9de-5087-4e79-b6e7-46b0d00ffb95' 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=4e14c9de-5087-4e79-b6e7-46b0d00ffb95' 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/?hl=en'> <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='4889941239856158924' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2011/01/destination-dial-tone-getting-google.html?hl=en' itemprop='url' title='Destination: Dial Tone -- Getting Google Apps to 99.99%'> Destination: Dial Tone -- Getting Google Apps to 99.99% </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Friday, January 14, 2011 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> People expect email to be as reliable as their phone's dial tone, and our goal is to deliver that kind of always-on availability with our applications. It's been a couple years since <a href="http://googleblog.blogspot.com/2008/10/what-we-learned-from-1-million.html">we blogged</a> about the reliability of Gmail, so we thought we'd share some changes to our Google Apps <a href="//www.google.com/apps/intl/en/terms/sla.html">service level agreement</a> (SLA) and some new data. <br /><br /><b>Strengthening our SLA</b><br />We're pleased to make a couple changes that improve our SLA for our customers. Unlike most providers, we don't plan for our users to be down, even when we're upgrading our services or maintaining our systems. For that reason, we're removing the SLA clause that allows for scheduled downtime. Going forward, all downtime will be counted and applied towards the customer's SLA. We are the first major cloud provider to eliminate maintenance windows from their service level agreement.<br /><br />We're also amending our SLA so that any intermittent downtime is counted. Previously, a period of less than ten minutes was not included. We believe any instance that causes our users to experience downtime should be avoided -- period. <br /><br /><b>Gmail: 99.984%</b><br />In 2010, Gmail was available 99.984 percent of the time, for both business and consumer users. 99.984 percent translates to seven minutes of downtime per month over the last year. That seven-minute average represents the accumulation of small delays of a few seconds, and most people experienced no issues at all. For those few who were disrupted for a longer period of time, we're very sorry, and Google Apps for Business customers received compensation where appropriate. We're particularly pleased with this level of reliability since it was accomplished without any planned downtime while launching 30 new features and adding tens of millions of active users. <br /><br />Seven minutes of downtime compares very favorably with on-premises email, which is subject to much higher rates of interruption that hurt employee productivity. The latest research from the Radicati Group found that on-premises email averaged 3.8 hours of downtime per month. In comparison to Radicati's metrics for on-premises email, our calculations suggest that Gmail is 32 times more reliable than the average email system, and 46 times more available than Microsoft Exchange&#174;.<sup>1</sup><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="//3.bp.blogspot.com/_ysAuSNZolhE/TS_gcNpxzHI/AAAAAAAAAbQ/yYFAU20sSpE/s1600/downtime.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="309" src="//3.bp.blogspot.com/_ysAuSNZolhE/TS_gcNpxzHI/AAAAAAAAAbQ/yYFAU20sSpE/downtime.png" width="500"></a></div><br />Fortunately Microsoft Exchange&#174; customers can still benefit from the reliability of Gmail with <a href="//www.google.com/postini/continuity.html#utm_campaign=launch&amp;utm_source=en-na-us-entblog-sla_01142011&amp;utm_medium=blog">Google Message Continuity</a>. Comparable data for Microsoft BPOS&#174; is unavailable, though <a href="https://rss.microsoftonline.com/feeds.aspx?center=default&amp;chan=notifications&amp;lang=en-us">their service notifications</a> show 113 incidents in 2010: 74 unplanned outages, and 33 days with planned downtime. <br /><br />Email is much more complex than your home phone, so making it as reliable as the dial tone is no mean feat. Despite our best efforts, we will have outages in the future. But we're proud of our track record so far and we're working hard to make it even better. Every time you reach for your phone you expect it to work. And we believe that is a worthwhile benchmark. <br /><br /><i><span class="Apple-style-span" style="font-size: x-small;">1. The Radicati Group, 2010. "Corporate IT Survey &#8211; Messaging &amp; Collaboration, 2010-2011"</span></i><br /><br /><span class="byline-author">Posted by Matthew Glotzbach, Google Enterprise Product Management Director</span><br /><br /><span class="Apple-style-span" style="font-size: x-small;"><b>Update:</b> clarification added to fifth paragraph.</span> </script> <noscript> People expect email to be as reliable as their phone's dial tone, and our goal is to deliver that kind of always-on availability with our applications. It's been a couple years since <a href="http://googleblog.blogspot.com/2008/10/what-we-learned-from-1-million.html">we blogged</a> about the reliability of Gmail, so we thought we'd share some changes to our Google Apps <a href="//www.google.com/apps/intl/en/terms/sla.html">service level agreement</a> (SLA) and some new data. <br /><br /><b>Strengthening our SLA</b><br />We're pleased to make a couple changes that improve our SLA for our customers. Unlike most providers, we don't plan for our users to be down, even when we're upgrading our services or maintaining our systems. For that reason, we're removing the SLA clause that allows for scheduled downtime. Going forward, all downtime will be counted and applied towards the customer's SLA. We are the first major cloud provider to eliminate maintenance windows from their service level agreement.<br /><br />We're also amending our SLA so that any intermittent downtime is counted. Previously, a period of less than ten minutes was not included. We believe any instance that causes our users to experience downtime should be avoided -- period. <br /><br /><b>Gmail: 99.984%</b><br />In 2010, Gmail was available 99.984 percent of the time, for both business and consumer users. 99.984 percent translates to seven minutes of downtime per month over the last year. That seven-minute average represents the accumulation of small delays of a few seconds, and most people experienced no issues at all. For those few who were disrupted for a longer period of time, we're very sorry, and Google Apps for Business customers received compensation where appropriate. We're particularly pleased with this level of reliability since it was accomplished without any planned downtime while launching 30 new features and adding tens of millions of active users. <br /><br />Seven minutes of downtime compares very favorably with on-premises email, which is subject to much higher rates of interruption that hurt employee productivity. The latest research from the Radicati Group found that on-premises email averaged 3.8 hours of downtime per month. In comparison to Radicati's metrics for on-premises email, our calculations suggest that Gmail is 32 times more reliable than the average email system, and 46 times more available than Microsoft Exchange&#174;.<sup>1</sup><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="//3.bp.blogspot.com/_ysAuSNZolhE/TS_gcNpxzHI/AAAAAAAAAbQ/yYFAU20sSpE/s1600/downtime.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="309" src="//3.bp.blogspot.com/_ysAuSNZolhE/TS_gcNpxzHI/AAAAAAAAAbQ/yYFAU20sSpE/downtime.png" width="500"></a></div><br />Fortunately Microsoft Exchange&#174; customers can still benefit from the reliability of Gmail with <a href="//www.google.com/postini/continuity.html#utm_campaign=launch&amp;utm_source=en-na-us-entblog-sla_01142011&amp;utm_medium=blog">Google Message Continuity</a>. Comparable data for Microsoft BPOS&#174; is unavailable, though <a href="https://rss.microsoftonline.com/feeds.aspx?center=default&amp;chan=notifications&amp;lang=en-us">their service notifications</a> show 113 incidents in 2010: 74 unplanned outages, and 33 days with planned downtime. <br /><br />Email is much more complex than your home phone, so making it as reliable as the dial tone is no mean feat. Despite our best efforts, we will have outages in the future. But we're proud of our track record so far and we're working hard to make it even better. Every time you reach for your phone you expect it to work. And we believe that is a worthwhile benchmark. <br /><br /><i><span class="Apple-style-span" style="font-size: x-small;">1. The Radicati Group, 2010. "Corporate IT Survey &#8211; Messaging &amp; Collaboration, 2010-2011"</span></i><br /><br /><span class="byline-author">Posted by Matthew Glotzbach, Google Enterprise Product Management Director</span><br /><br /><span class="Apple-style-span" style="font-size: x-small;"><b>Update:</b> clarification added to fifth paragraph.</span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2011/01/destination-dial-tone-getting-google.html?hl=en'> <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:Destination: Dial Tone -- Getting Google Apps to 99.99%&url=https://cloud.googleblog.com/2011/01/destination-dial-tone-getting-google.html?hl=en&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/2011/01/destination-dial-tone-getting-google.html?hl=en'> <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='18' data-onclick='' data-post-url='https://cloud.googleblog.com/2011/01/destination-dial-tone-getting-google.html?hl=en' data-url='https://cloud.googleblog.com/2011/01/destination-dial-tone-getting-google.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2011/01/destination-dial-tone-getting-google.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/gmail?hl=en' rel='tag'> gmail </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Apps?hl=en' rel='tag'> Google Apps </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Apps%20Blog?hl=en' rel='tag'> Google Apps Blog </a> , <a class='label' href='https://cloud.googleblog.com/search/label/viewpoint?hl=en' rel='tag'> viewpoint </a> </span> </div> </div> </div> <div class='post' data-id='3890011096368026349' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2010/12/nothing-but-web.html?hl=en' itemprop='url' title='Nothing but the web'> Nothing but the web </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, December 16, 2010 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> This year cloud computing went mainstream, and the conversations moved beyond "this is a way to cut costs" to "this is a better way to run my business." While many IT vendors have now adopted (or co-opted) the term &#8220;cloud computing&#8221; to describe a wide variety of technologies, most don&#8217;t deliver on the true promise of the cloud. Hosting single-tenant server products in a data center is not cloud computing. Nor is requiring customers to install thick client software. These solutions lock-in customers to multi-year release cycles, leave them with the significant costs of managing client software, and expose sensitive data on insecure devices. In 2011, we are committed to moving beyond the current notion of cloud computing to bring customers to a world we call 100% web.<br /><br /><span style="font-weight:bold;">100% web</span><br />In a 100% web world, business applications are delivered over the Internet and accessed in a web browser. The applications and the data are stored centrally and are designed to be served from a highly scalable, secure and reliable multi-tenant infrastructure. Devices like notebooks, tablets, and smartphones are portals to the data that help people be productive from anywhere, at any time. Upgrades aren&#8217;t necessary to get access to the latest innovation, just refresh the browser. Businesses no longer own or manage servers and client software: they purchase integrated applications and development platforms from others, and now devote their valuable time to business logic and features that create competitive advantage.<br /><br />We are investing in a variety of technologies so that companies can be productive with nothing but the web:<br /><ul><li><a href="//www.google.com/apps/intl/en/business/index.html#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Google Apps</a> is the world&#8217;s most popular suite of web-based communication and collaboration applications, and includes email, instant messaging, calendaring, documents, sites, video sharing, Postini services and <a href="http://googleenterprise.blogspot.com/2010/11/ten-times-more-applications-for-google.html">dozens more</a>. We will continue to improve and expand our offerings to bring more powerful technologies to our more than three million customers.</li><li><a href="http://code.google.com/appengine/#utm_campaign=gogoogle&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Google App Engine</a> lets companies build their own applications for internal or external use and host them on Google infrastructure. This allows for faster and easier development, virtually no ongoing maintenance, and the ability to easily scale to meet capacity needs at short notice. App Engine already sees more than 1 billion page views per day from more than 150,000 active applications, and we will be launching App Engine for Business more broadly in 2011.</li><li><a href="//www.google.com/enterprise/marketplace/#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Google Apps Marketplace</a> provides the other applications customers need to build their business on the web, integrated with Google Apps and installed in a few clicks. The marketplace will continue to grow beyond its 250 applications and make it easier for businesses to find, evaluate, and purchase the best non-Google applications on the web. </li><li><a href="http://www.android.com/#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Android</a> is one of the <a href="http://twitter.com/#!/Arubin/status/12727540783251456">fastest growing</a> mobile platforms in the world and designed to drive innovation and choice. Companies can now manage Android, iPhone, Windows Mobile, and other ActiveSync devices right from the browser. And the Android team is hard at work on a new version of the platform that addresses the unique aspects of tablet form factors and use cases.</li><li><a href="//www.google.com/apps/intl/en/business/chromebrowser.html#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Google Chrome</a> is an open source web browser developed to provide users with a fast, simple, and secure web-browsing experience with modern web applications. Chrome has become 300% faster in just two years, and adoption has tripled over the last year. This week we announced <a href="http://googleenterprise.blogspot.com/2010/12/chrome-is-ready-for-business.html">new features</a> for Chrome to make managing enterprise deployments easy. Also, companies using older versions of Internet Explorer for their legacy applications can use <a href="http://code.google.com/chrome/chromeframe/#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Google Chrome Frame</a> to access modern web apps that rely on technologies like HTML5.</li><li><a href="//www.google.com/chromeos/#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Google Chrome OS</a> is a new operating system designed from the ground up for 100% web. By building an operating system that is essentially a browser, we can make computers faster, much simpler and fundamentally more secure. Last Tuesday, we announced the Chrome notebook Pilot program (<a href="//www.google.com/chromeos/pilot-program.html#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">apply to pilot</a>) and Chrome devices for business will be available for purchase in 2011.</li></ul><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="//4.bp.blogspot.com/_HD84rP3mKC4/TQo8m7icXkI/AAAAAAAAA5M/DTFmXt90rxY/s1600/web.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5551316130202410562" src="//4.bp.blogspot.com/_HD84rP3mKC4/TQo8m7icXkI/AAAAAAAAA5M/DTFmXt90rxY/s400/web.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 259px;"></a><br /><br />While many companies are able to jump right to 100% web, we understand that other larger businesses have substantial investments in legacy technology. So we&#8217;re also investing in solutions that bridge existing technologies to the world of 100% web:<br /><ul><li><a href="http://googleenterprise.blogspot.com/2010/11/bridge-to-cloud-google-cloud-connect.html#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Google Cloud Connect for Microsoft Office</a> allows people to continue to use the familiar Office interface (including Office 2003, 2007, and 2010), while reaping many of the benefits of web-based collaboration that Google Docs users already enjoy. It will be available soon. </li><li><a href="//www.google.com/postini/continuity.html#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Google Message Continuity</a> is a very cost-effective form of disaster recovery that lets Microsoft Exchange customers leverage the reliability of Gmail to back up their servers. </li></ul><br /><br />100% web is a dramatic shift from how companies have traditionally purchased, deployed, and managed IT. But the more we talk with customers the more we realize that this is the change they&#8217;ve been waiting for. It is the ultimate extension of the cloud computing model, and it brings substantial benefits for companies that no other IT model can provide in terms of simplicity, cost, security, flexibility, and pace of innovation. If 2010 was the year of the cloud, 2011 looks to be the year of nothing but the web.<br /><br /><span class="byline-author">Posted by Dave Girouard, President, Google Enterprise</span> </script> <noscript> This year cloud computing went mainstream, and the conversations moved beyond "this is a way to cut costs" to "this is a better way to run my business." While many IT vendors have now adopted (or co-opted) the term &#8220;cloud computing&#8221; to describe a wide variety of technologies, most don&#8217;t deliver on the true promise of the cloud. Hosting single-tenant server products in a data center is not cloud computing. Nor is requiring customers to install thick client software. These solutions lock-in customers to multi-year release cycles, leave them with the significant costs of managing client software, and expose sensitive data on insecure devices. In 2011, we are committed to moving beyond the current notion of cloud computing to bring customers to a world we call 100% web.<br /><br /><span style="font-weight:bold;">100% web</span><br />In a 100% web world, business applications are delivered over the Internet and accessed in a web browser. The applications and the data are stored centrally and are designed to be served from a highly scalable, secure and reliable multi-tenant infrastructure. Devices like notebooks, tablets, and smartphones are portals to the data that help people be productive from anywhere, at any time. Upgrades aren&#8217;t necessary to get access to the latest innovation, just refresh the browser. Businesses no longer own or manage servers and client software: they purchase integrated applications and development platforms from others, and now devote their valuable time to business logic and features that create competitive advantage.<br /><br />We are investing in a variety of technologies so that companies can be productive with nothing but the web:<br /><ul><li><a href="//www.google.com/apps/intl/en/business/index.html#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Google Apps</a> is the world&#8217;s most popular suite of web-based communication and collaboration applications, and includes email, instant messaging, calendaring, documents, sites, video sharing, Postini services and <a href="http://googleenterprise.blogspot.com/2010/11/ten-times-more-applications-for-google.html">dozens more</a>. We will continue to improve and expand our offerings to bring more powerful technologies to our more than three million customers.</li><li><a href="http://code.google.com/appengine/#utm_campaign=gogoogle&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Google App Engine</a> lets companies build their own applications for internal or external use and host them on Google infrastructure. This allows for faster and easier development, virtually no ongoing maintenance, and the ability to easily scale to meet capacity needs at short notice. App Engine already sees more than 1 billion page views per day from more than 150,000 active applications, and we will be launching App Engine for Business more broadly in 2011.</li><li><a href="//www.google.com/enterprise/marketplace/#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Google Apps Marketplace</a> provides the other applications customers need to build their business on the web, integrated with Google Apps and installed in a few clicks. The marketplace will continue to grow beyond its 250 applications and make it easier for businesses to find, evaluate, and purchase the best non-Google applications on the web. </li><li><a href="http://www.android.com/#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Android</a> is one of the <a href="http://twitter.com/#!/Arubin/status/12727540783251456">fastest growing</a> mobile platforms in the world and designed to drive innovation and choice. Companies can now manage Android, iPhone, Windows Mobile, and other ActiveSync devices right from the browser. And the Android team is hard at work on a new version of the platform that addresses the unique aspects of tablet form factors and use cases.</li><li><a href="//www.google.com/apps/intl/en/business/chromebrowser.html#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Google Chrome</a> is an open source web browser developed to provide users with a fast, simple, and secure web-browsing experience with modern web applications. Chrome has become 300% faster in just two years, and adoption has tripled over the last year. This week we announced <a href="http://googleenterprise.blogspot.com/2010/12/chrome-is-ready-for-business.html">new features</a> for Chrome to make managing enterprise deployments easy. Also, companies using older versions of Internet Explorer for their legacy applications can use <a href="http://code.google.com/chrome/chromeframe/#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Google Chrome Frame</a> to access modern web apps that rely on technologies like HTML5.</li><li><a href="//www.google.com/chromeos/#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Google Chrome OS</a> is a new operating system designed from the ground up for 100% web. By building an operating system that is essentially a browser, we can make computers faster, much simpler and fundamentally more secure. Last Tuesday, we announced the Chrome notebook Pilot program (<a href="//www.google.com/chromeos/pilot-program.html#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">apply to pilot</a>) and Chrome devices for business will be available for purchase in 2011.</li></ul><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="//4.bp.blogspot.com/_HD84rP3mKC4/TQo8m7icXkI/AAAAAAAAA5M/DTFmXt90rxY/s1600/web.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5551316130202410562" src="//4.bp.blogspot.com/_HD84rP3mKC4/TQo8m7icXkI/AAAAAAAAA5M/DTFmXt90rxY/s400/web.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 259px;"></a><br /><br />While many companies are able to jump right to 100% web, we understand that other larger businesses have substantial investments in legacy technology. So we&#8217;re also investing in solutions that bridge existing technologies to the world of 100% web:<br /><ul><li><a href="http://googleenterprise.blogspot.com/2010/11/bridge-to-cloud-google-cloud-connect.html#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Google Cloud Connect for Microsoft Office</a> allows people to continue to use the familiar Office interface (including Office 2003, 2007, and 2010), while reaping many of the benefits of web-based collaboration that Google Docs users already enjoy. It will be available soon. </li><li><a href="//www.google.com/postini/continuity.html#utm_campaign=100web&amp;utm_source=en-entblog-na-us-100web_12162010&amp;utm_medium=blog">Google Message Continuity</a> is a very cost-effective form of disaster recovery that lets Microsoft Exchange customers leverage the reliability of Gmail to back up their servers. </li></ul><br /><br />100% web is a dramatic shift from how companies have traditionally purchased, deployed, and managed IT. But the more we talk with customers the more we realize that this is the change they&#8217;ve been waiting for. It is the ultimate extension of the cloud computing model, and it brings substantial benefits for companies that no other IT model can provide in terms of simplicity, cost, security, flexibility, and pace of innovation. If 2010 was the year of the cloud, 2011 looks to be the year of nothing but the web.<br /><br /><span class="byline-author">Posted by Dave Girouard, President, Google Enterprise</span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2010/12/nothing-but-web.html?hl=en'> <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:Nothing but the web&url=https://cloud.googleblog.com/2010/12/nothing-but-web.html?hl=en&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/2010/12/nothing-but-web.html?hl=en'> <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='18' data-onclick='' data-post-url='https://cloud.googleblog.com/2010/12/nothing-but-web.html?hl=en' data-url='https://cloud.googleblog.com/2010/12/nothing-but-web.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2010/12/nothing-but-web.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/100%25%20web?hl=en' rel='tag'> 100% web </a> , <a class='label' href='https://cloud.googleblog.com/search/label/cloud%20computing?hl=en' rel='tag'> cloud computing </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Apps?hl=en' rel='tag'> Google Apps </a> , <a class='label' href='https://cloud.googleblog.com/search/label/innovation?hl=en' rel='tag'> innovation </a> , <a class='label' href='https://cloud.googleblog.com/search/label/viewpoint?hl=en' rel='tag'> viewpoint </a> </span> </div> </div> </div> <div class='post' data-id='2360822069541505330' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2010/04/google-apps-and-cloud-maximum-economies.html?hl=en' itemprop='url' title='Google Apps and the cloud: Maximum economies of scale'> Google Apps and the cloud: Maximum economies of scale </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Tuesday, April 20, 2010 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <font size=small><span style="font-style:italic;"><b>Editor's note:</b> This post is the last in a three-part series on the benefits of <a href="http://googleenterprise.blogspot.com/search/label/cloud%20series">Google Apps&#8217; cloud-computing architecture</a>. - Ed.</span></font><br /><br />The first post in this series focused on <a href="http://googleenterprise.blogspot.com/2010/04/google-apps-and-cloud-faster-access-to.html">faster access to innovation</a> and last week&#8217;s entry described how Google Apps can drive higher <a href="http://googleenterprise.blogspot.com/2010/04/google-apps-and-cloud-improved.html">reliability and security</a>. This final installment explains advantages achieved from the scale at which the <a href="//www.google.com/apps/intl/en/business/index.html#utm_medium=blog&amp;utm_source=en-blog-us-na-cloudseries-entblog_0420&amp;utm_campaign=cloudseries">Google Apps</a> infrastructure operates.<br /><br /><b>Maximum Economies of Scale</b><br />An Internet-scale cloud infrastructure achieves economies of scale that can produce tremendous cost savings. Rather than buying off-the-shelf completed servers, Google buys raw computer parts in massive quantities, and assembles custom servers with few unnecessary components. Not only do we save costs on hardware, we also minimize overhead by consolidating on a very small number of server configurations that can be managed in bulk globally at an extremely efficient ratio of staff to machines. On a per-user basis, these economies of scale allow Google Apps to operate at higher levels of efficiency than can be achieved by customers themselves. <br /><br />Further cost savings are also made possible by applications that run in the browser. Not only can customers forgo licensing expensive client software, but browser-based applications also require much less administrative overhead than traditional software or &#8220;software plus services&#8221;. IT departments don&#8217;t need to deploy patches or upgrades for web-based applications, and since improvements roll out gradually and continuously instead of in large disruptive batches every several years, companies can also save on change management costs.<br /><br />Cloud computing &#8211; hosted, web-based applications built on shared infrastructure &#8211; can achieve breakthroughs in the pace of innovation, reliability, security and economies of scale. As you consider alternatives to address your organization&#8217;s messaging and collaboration needs, it pays to understand how different technologies are actually delivered. Over two million businesses considered their own options and have truly moved to the cloud with Google Apps. <br /><br />If you&#8217;re interested in going a level deeper, we invite you to geek out with us on Thursday, when we&#8217;ll be holding a webcast to explore the advantages of Google&#8217;s cloud. Hope you can join us!<br /><br /><a href="http://webcasts.techrepublic.com.com/abstract.aspx?docid=1690163">Geek out on the Cloud-Based Infrastructure of Google Apps</a><br />Thursday, April 22, 2010<br />2:00 PM ET / 11:00 AM PT / 6:00 PM GMT<br /><a href="//www.google.com/calendar/event?action=TEMPLATE&amp;text=Geek+out+on+the+Cloud-Based+Infrastructure+of+Google+Apps&amp;dates=20100422T180000Z/20100422T190000Z&amp;details=Join+this+live+Webcast+to+hear+Ben+Lutch,+Jeremy+Milo+and+Rajen+Sheth+discuss+Google&#39;s+innovations+in+data+center+design.&amp;location=http://webcasts.techrepublic.com.com/abstract.aspx?docid%3D1690163&amp;trp=false&amp;sprop=www.google.com/apps&amp;sprop=name:Google+Apps+for+business+and+schools" target="_blank"><img border="0" src="//www.google.com/calendar/images/ext/gc_button1.gif"></a><br /><br /><span class="byline-author">Posted by Jeremy Milo, Google Apps Marketing Manager</span> </script> <noscript> <font size=small><span style="font-style:italic;"><b>Editor's note:</b> This post is the last in a three-part series on the benefits of <a href="http://googleenterprise.blogspot.com/search/label/cloud%20series">Google Apps&#8217; cloud-computing architecture</a>. - Ed.</span></font><br /><br />The first post in this series focused on <a href="http://googleenterprise.blogspot.com/2010/04/google-apps-and-cloud-faster-access-to.html">faster access to innovation</a> and last week&#8217;s entry described how Google Apps can drive higher <a href="http://googleenterprise.blogspot.com/2010/04/google-apps-and-cloud-improved.html">reliability and security</a>. This final installment explains advantages achieved from the scale at which the <a href="//www.google.com/apps/intl/en/business/index.html#utm_medium=blog&amp;utm_source=en-blog-us-na-cloudseries-entblog_0420&amp;utm_campaign=cloudseries">Google Apps</a> infrastructure operates.<br /><br /><b>Maximum Economies of Scale</b><br />An Internet-scale cloud infrastructure achieves economies of scale that can produce tremendous cost savings. Rather than buying off-the-shelf completed servers, Google buys raw computer parts in massive quantities, and assembles custom servers with few unnecessary components. Not only do we save costs on hardware, we also minimize overhead by consolidating on a very small number of server configurations that can be managed in bulk globally at an extremely efficient ratio of staff to machines. On a per-user basis, these economies of scale allow Google Apps to operate at higher levels of efficiency than can be achieved by customers themselves. <br /><br />Further cost savings are also made possible by applications that run in the browser. Not only can customers forgo licensing expensive client software, but browser-based applications also require much less administrative overhead than traditional software or &#8220;software plus services&#8221;. IT departments don&#8217;t need to deploy patches or upgrades for web-based applications, and since improvements roll out gradually and continuously instead of in large disruptive batches every several years, companies can also save on change management costs.<br /><br />Cloud computing &#8211; hosted, web-based applications built on shared infrastructure &#8211; can achieve breakthroughs in the pace of innovation, reliability, security and economies of scale. As you consider alternatives to address your organization&#8217;s messaging and collaboration needs, it pays to understand how different technologies are actually delivered. Over two million businesses considered their own options and have truly moved to the cloud with Google Apps. <br /><br />If you&#8217;re interested in going a level deeper, we invite you to geek out with us on Thursday, when we&#8217;ll be holding a webcast to explore the advantages of Google&#8217;s cloud. Hope you can join us!<br /><br /><a href="http://webcasts.techrepublic.com.com/abstract.aspx?docid=1690163">Geek out on the Cloud-Based Infrastructure of Google Apps</a><br />Thursday, April 22, 2010<br />2:00 PM ET / 11:00 AM PT / 6:00 PM GMT<br /><a href="//www.google.com/calendar/event?action=TEMPLATE&amp;text=Geek+out+on+the+Cloud-Based+Infrastructure+of+Google+Apps&amp;dates=20100422T180000Z/20100422T190000Z&amp;details=Join+this+live+Webcast+to+hear+Ben+Lutch,+Jeremy+Milo+and+Rajen+Sheth+discuss+Google&#39;s+innovations+in+data+center+design.&amp;location=http://webcasts.techrepublic.com.com/abstract.aspx?docid%3D1690163&amp;trp=false&amp;sprop=www.google.com/apps&amp;sprop=name:Google+Apps+for+business+and+schools" target="_blank"><img border="0" src="//www.google.com/calendar/images/ext/gc_button1.gif"></a><br /><br /><span class="byline-author">Posted by Jeremy Milo, Google Apps Marketing Manager</span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2010/04/google-apps-and-cloud-maximum-economies.html?hl=en'> <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 Apps and the cloud: Maximum economies of scale&url=https://cloud.googleblog.com/2010/04/google-apps-and-cloud-maximum-economies.html?hl=en&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/2010/04/google-apps-and-cloud-maximum-economies.html?hl=en'> <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='20' data-onclick='' data-post-url='https://cloud.googleblog.com/2010/04/google-apps-and-cloud-maximum-economies.html?hl=en' data-url='https://cloud.googleblog.com/2010/04/google-apps-and-cloud-maximum-economies.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2010/04/google-apps-and-cloud-maximum-economies.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?hl=en' rel='tag'> cloud computing </a> , <a class='label' href='https://cloud.googleblog.com/search/label/cloud%20series?hl=en' rel='tag'> cloud series </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Apps?hl=en' rel='tag'> Google Apps </a> , <a class='label' href='https://cloud.googleblog.com/search/label/viewpoint?hl=en' rel='tag'> viewpoint </a> </span> </div> </div> </div> <div class='post' data-id='3387100075827577381' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2010/04/google-apps-and-cloud-improved.html?hl=en' itemprop='url' title='Google Apps and the cloud: Improved reliability and security'> Google Apps and the cloud: Improved reliability and security </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, April 14, 2010 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <i><b>Editor's note:</b> This post is the second in a three-part series on the benefits of <a href="http://googleenterprise.blogspot.com/search/label/cloud%20series">Google Apps&#8217; cloud-computing architecture</a>. - Ed.</i><br /><br /><a href="http://googleenterprise.blogspot.com/2010/04/google-apps-and-cloud-faster-access-to.html">Last week&#8217;s post</a> kicked off our series on the advantages of Google&#8217;s cloud, and described how our infrastructure gives customers faster access to innovation than on-premises technology, single-tenant hosted applications, and &#8220;software plus services&#8221;. Here, part two focuses on how <a href="//www.google.com/apps/intl/en/business/index.html#utm_medium=blog&amp;utm_source=en-blog-us-na-cloudseries-entblog_0414&amp;utm_campaign=cloudseries">Google Apps</a> is designed from the ground up to provide higher reliability and better security.<br /><br /><span style="font-weight:bold;">Improved Reliability and Security</span><br />Through <a href="http://googleenterprise.blogspot.com/2010/03/disaster-recovery-by-google.html">synchronous replication</a>, data and user actions in Google Apps are mirrored in nearly real-time across multiple data centers. If one data center becomes unavailable for any reason, the system is designed to instantly fall back to a secondary data center with no user-visible interruption in service. For Google Apps customers, our recovery point objective (RPO) design target is zero, and our recovery time objective (RTO) design target is instant failover. Gmail, Google Calendar, Google Talk, Google Groups, Google Docs and Google Sites have a 99.9% uptime guarantee, and our actual reliability has been significantly higher than this commitment. Attempting to replicate this level of reliability with on-premises or hosted technology is tremendously costly and complex. Even very large enterprises with state-of-the-art disaster recovery systems typically target a recovery time of one hour and accept the loss of one hour&#8217;s worth of data.<br /><br />On the security front, Google&#8217;s large investments in physical and process-based security are passed on to customers. First, Google is able to hire many of the worlds leading security experts to protect our systems and conduct cutting-edge security research. Our data centers are hardened with many of the latest measures in security precautions, including biometric access controls and multi-tiered security perimeters. Furthermore, Google has implemented a multi-layered security process protocol designed to help keep customer data safe. Our processes have been independently verified in a successful third-party SAS 70 Type II audit to verify our confidentiality, integrity and availability of customer data. Finally, Google is able to efficiently manage security updates across our nearly homogeneous global cloud computing infrastructure, so customers aren&#8217;t exposed to known vulnerabilities until they install security patches themselves.<br /><br />Browser-based applications also help keep sensitive data more secure. Unlike traditional software, when a user is finished using a web-based application, minimal data is left on the machine that could be compromised. Also, when employees can securely access their data from any browser, they&#8217;re less likely to store data locally on unsecured end-points like thumb drives. In a world where one out of ten laptops go missing in the first year<sup>1</sup> and 66% of workers report having lost a thumb drive<sup>2</sup>, making data securely available from the browser and minimizing the amount of sensitive data stored on devices is an effective security strategy.<br /><br />Next week I&#8217;ll conclude this series by sharing how Google&#8217;s economies of scale can help companies reduce costs and free up technology resources for higher value initiatives that can make businesses more competitive.<br /><br />If you&#8217;re interested in going a level deeper, we invite you to <a href="http://webcasts.techrepublic.com.com/abstract.aspx?docid=1690161">geek out with us</a> on Thursday, April 22nd, when we&#8217;ll be holding a webcast to explore the advantages of Google&#8217;s cloud. Hope you can join us!<br /><br /><a href="http://webcasts.techrepublic.com.com/abstract.aspx?docid=1690161">Geek out on the Cloud-Based Infrastructure of Google Apps</a><br />Thursday, April 22, 2010<br />2:00 PM ET / 11:00 AM PT / 6:00 PM GMT<br /><a href="//www.google.com/calendar/event?action=TEMPLATE&amp;text=Geek+out+on+the+Cloud-Based+Infrastructure+of+Google+Apps&amp;dates=20100422T180000Z/20100422T190000Z&amp;details=Join+this+live+Webcast+to+hear+Ben+Lutch,+Jeremy+Milo+and+Rajen+Sheth+discuss+Google&#39;s+innovations+in+data+center+design.&amp;location=http://webcasts.techrepublic.com.com/abstract.aspx?docid%3D1690161&amp;trp=false&amp;sprop=www.google.com/apps&amp;sprop=name:Google+Apps+for+business+and+schools" target="_blank"><img border="0" src="//www.google.com/calendar/images/ext/gc_button1.gif"></a><br /><br /><font size=1>1. The Federal Bureau of Investigation & The Computer Security Institute&#8217;s annual Computer Crime and Security Survey, 2005.<br />2. &#8220;Thumb Drives? The New Portable and Convenient Way to Lose Data&#8221;, 2007.</font><br /><br /><span class="byline-author">Posted by Jeremy Milo, Google Apps Marketing Manager</span> </script> <noscript> <i><b>Editor's note:</b> This post is the second in a three-part series on the benefits of <a href="http://googleenterprise.blogspot.com/search/label/cloud%20series">Google Apps&#8217; cloud-computing architecture</a>. - Ed.</i><br /><br /><a href="http://googleenterprise.blogspot.com/2010/04/google-apps-and-cloud-faster-access-to.html">Last week&#8217;s post</a> kicked off our series on the advantages of Google&#8217;s cloud, and described how our infrastructure gives customers faster access to innovation than on-premises technology, single-tenant hosted applications, and &#8220;software plus services&#8221;. Here, part two focuses on how <a href="//www.google.com/apps/intl/en/business/index.html#utm_medium=blog&amp;utm_source=en-blog-us-na-cloudseries-entblog_0414&amp;utm_campaign=cloudseries">Google Apps</a> is designed from the ground up to provide higher reliability and better security.<br /><br /><span style="font-weight:bold;">Improved Reliability and Security</span><br />Through <a href="http://googleenterprise.blogspot.com/2010/03/disaster-recovery-by-google.html">synchronous replication</a>, data and user actions in Google Apps are mirrored in nearly real-time across multiple data centers. If one data center becomes unavailable for any reason, the system is designed to instantly fall back to a secondary data center with no user-visible interruption in service. For Google Apps customers, our recovery point objective (RPO) design target is zero, and our recovery time objective (RTO) design target is instant failover. Gmail, Google Calendar, Google Talk, Google Groups, Google Docs and Google Sites have a 99.9% uptime guarantee, and our actual reliability has been significantly higher than this commitment. Attempting to replicate this level of reliability with on-premises or hosted technology is tremendously costly and complex. Even very large enterprises with state-of-the-art disaster recovery systems typically target a recovery time of one hour and accept the loss of one hour&#8217;s worth of data.<br /><br />On the security front, Google&#8217;s large investments in physical and process-based security are passed on to customers. First, Google is able to hire many of the worlds leading security experts to protect our systems and conduct cutting-edge security research. Our data centers are hardened with many of the latest measures in security precautions, including biometric access controls and multi-tiered security perimeters. Furthermore, Google has implemented a multi-layered security process protocol designed to help keep customer data safe. Our processes have been independently verified in a successful third-party SAS 70 Type II audit to verify our confidentiality, integrity and availability of customer data. Finally, Google is able to efficiently manage security updates across our nearly homogeneous global cloud computing infrastructure, so customers aren&#8217;t exposed to known vulnerabilities until they install security patches themselves.<br /><br />Browser-based applications also help keep sensitive data more secure. Unlike traditional software, when a user is finished using a web-based application, minimal data is left on the machine that could be compromised. Also, when employees can securely access their data from any browser, they&#8217;re less likely to store data locally on unsecured end-points like thumb drives. In a world where one out of ten laptops go missing in the first year<sup>1</sup> and 66% of workers report having lost a thumb drive<sup>2</sup>, making data securely available from the browser and minimizing the amount of sensitive data stored on devices is an effective security strategy.<br /><br />Next week I&#8217;ll conclude this series by sharing how Google&#8217;s economies of scale can help companies reduce costs and free up technology resources for higher value initiatives that can make businesses more competitive.<br /><br />If you&#8217;re interested in going a level deeper, we invite you to <a href="http://webcasts.techrepublic.com.com/abstract.aspx?docid=1690161">geek out with us</a> on Thursday, April 22nd, when we&#8217;ll be holding a webcast to explore the advantages of Google&#8217;s cloud. Hope you can join us!<br /><br /><a href="http://webcasts.techrepublic.com.com/abstract.aspx?docid=1690161">Geek out on the Cloud-Based Infrastructure of Google Apps</a><br />Thursday, April 22, 2010<br />2:00 PM ET / 11:00 AM PT / 6:00 PM GMT<br /><a href="//www.google.com/calendar/event?action=TEMPLATE&amp;text=Geek+out+on+the+Cloud-Based+Infrastructure+of+Google+Apps&amp;dates=20100422T180000Z/20100422T190000Z&amp;details=Join+this+live+Webcast+to+hear+Ben+Lutch,+Jeremy+Milo+and+Rajen+Sheth+discuss+Google&#39;s+innovations+in+data+center+design.&amp;location=http://webcasts.techrepublic.com.com/abstract.aspx?docid%3D1690161&amp;trp=false&amp;sprop=www.google.com/apps&amp;sprop=name:Google+Apps+for+business+and+schools" target="_blank"><img border="0" src="//www.google.com/calendar/images/ext/gc_button1.gif"></a><br /><br /><font size=1>1. The Federal Bureau of Investigation & The Computer Security Institute&#8217;s annual Computer Crime and Security Survey, 2005.<br />2. &#8220;Thumb Drives? The New Portable and Convenient Way to Lose Data&#8221;, 2007.</font><br /><br /><span class="byline-author">Posted by Jeremy Milo, Google Apps Marketing Manager</span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2010/04/google-apps-and-cloud-improved.html?hl=en'> <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 Apps and the cloud: Improved reliability and security&url=https://cloud.googleblog.com/2010/04/google-apps-and-cloud-improved.html?hl=en&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/2010/04/google-apps-and-cloud-improved.html?hl=en'> <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/2010/04/google-apps-and-cloud-improved.html?hl=en' data-url='https://cloud.googleblog.com/2010/04/google-apps-and-cloud-improved.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2010/04/google-apps-and-cloud-improved.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?hl=en' rel='tag'> cloud computing </a> , <a class='label' href='https://cloud.googleblog.com/search/label/cloud%20series?hl=en' rel='tag'> cloud series </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Apps?hl=en' rel='tag'> Google Apps </a> , <a class='label' href='https://cloud.googleblog.com/search/label/viewpoint?hl=en' rel='tag'> viewpoint </a> </span> </div> </div> </div> <div class='post' data-id='5332032619153430675' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2010/04/google-apps-and-cloud-faster-access-to.html?hl=en' itemprop='url' title='Google Apps and the cloud: Faster access to innovation'> Google Apps and the cloud: Faster access to innovation </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, April 8, 2010 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <span style="font-style:italic;"><span style="font-weight:bold;">Editor's Note:</span> This post is the first in a three-part series on the benefits of <a href="http://googleenterprise.blogspot.com/search/label/cloud%20series">Google Apps&#8217; cloud-computing architecture</a>.</span><br /><br />&#8220;Cloud computing&#8221; has become a trendy buzzword, and some traditional technology vendors are even using the term though their solutions are still rooted in legacy architectures. In this three-part series, I&#8217;ll share how Google&#8217;s multi-tenant, Internet-scale architecture and browser-based applications produce three key advantages: the fastest innovation, improved reliability and security, and maximum economies of scale. Today I&#8217;ll focus on how Google&#8217;s innovation exceeds what&#8217;s possible with on-premises technology, single-tenant hosted applications, and &#8220;software plus services&#8221;.<br /><br /><span style="font-weight:bold;">Faster access to innovation for higher productivity</span><br />The web is the epicenter of innovation, and Google&#8217;s multi-tenant infrastructure is designed so we can push improvements to our entire customer base on short iteration cycles. We can deliver new functionality on a weekly basis, or faster, because our systems are able to distribute updates so efficiently. In 2009 alone, we launched over 100 improvements, and customers didn&#8217;t need to manage any upgrades or patches. In contrast, businesses tend to update traditional server software every five to seven years due to long release cycles from vendors and the cost and complexity businesses face implementing upgrades, especially when more powerful servers are required, like 64-bit hardware.<br /><br />Browser-based applications are another key ingredient in our recipe for rapid innovation. When we launch new features to our web applications, users automatically get these improvements just by refreshing their browsers. Our mobile browser applications also get new features without software updates. With traditional technology and &#8220;software plus services&#8221;, client software is an innovation bottleneck. Even after back-end systems can support new features, users don&#8217;t get new functionality in those environments until the software on their computers and mobile phones have been upgraded, which can be an expensive and labor-intensive project.<br /><br />Feedback and anonymous usage statistics from hundreds of millions of users in the real world also help us bring stress-tested innovation to business customers at an unprecedented pace. From our consumer user base, we quickly learn which new features would be useful in the business context, refine those features, and make them available to Google Apps customers with minimal delay.<br /><br />Continuous innovation powered by the cloud has another advantage over traditional technology cycles: employees adapt to a continuous stream of manageable improvements better than they tolerate large, disruptive batches of change. Gradual iterations in bite-sized chunks substantially reduce change-management challenges. Conversely, employees are subjected to a painful re-learning cycle each time companies upgrade traditional software.<br /><br />Dramatically faster innovation helps employees be more productive, but that&#8217;s not all Google&#8217;s cloud has to offer. In part two of this series, next week I&#8217;ll focus on how <a href="//www.google.com/apps/intl/en/business/index.html#utm_medium=blog&amp;utm_source=en-blog-us-na-cloudseries-entblog_0408&amp;utm_campaign=cloudseries">Google Apps</a> can offer better security and higher reliability than on-premises technology, single-tenant hosted applications and &#8220;software plus services&#8221;.<br /><br />If you&#8217;re interested in going a level deeper, we invite you to <a href="http://webcasts.techrepublic.com.com/abstract.aspx?docid=1690157">geek out with us</a> on Thursday, April 22nd, when we&#8217;ll be holding a webcast to explore the advantages of Google&#8217;s cloud. Hope you can join us!<br /><br /><span style="font-weight:bold;"><a href="http://webcasts.techrepublic.com.com/abstract.aspx?docid=1690157">Geek Out on the Cloud-Based Infrastructure of Google Apps</a></span><br />Thursday, April 22, 2010<br />2:00 PM ET / 11:00 AM PT / 6:00 PM GMT<br /><a href="//www.google.com/calendar/event?action=TEMPLATE&amp;text=Geek+out+on+the+Cloud-Based+Infrastructure+of+Google+Apps&amp;dates=20100422T180000Z/20100422T190000Z&amp;details=Join+this+live+Webcast+to+hear+Ben+Lutch,+Jeremy+Milo+and+Rajen+Sheth+discuss+Google&#39;s+innovations+in+data+center+design.&amp;location=Register+here:+http://webcasts.techrepublic.com.com/abstract.aspx?docid%3D1690157&amp;trp=false&amp;sprop=www.google.com/apps&amp;sprop=name:Google+Apps+for+business+and+schools" target="_blank"><img border="0" src="//www.google.com/calendar/images/ext/gc_button1.gif"></a><br /><br /><span class="byline-author">Posted by Jeremy Milo, Google Apps Marketing Manager</span> </script> <noscript> <span style="font-style:italic;"><span style="font-weight:bold;">Editor's Note:</span> This post is the first in a three-part series on the benefits of <a href="http://googleenterprise.blogspot.com/search/label/cloud%20series">Google Apps&#8217; cloud-computing architecture</a>.</span><br /><br />&#8220;Cloud computing&#8221; has become a trendy buzzword, and some traditional technology vendors are even using the term though their solutions are still rooted in legacy architectures. In this three-part series, I&#8217;ll share how Google&#8217;s multi-tenant, Internet-scale architecture and browser-based applications produce three key advantages: the fastest innovation, improved reliability and security, and maximum economies of scale. Today I&#8217;ll focus on how Google&#8217;s innovation exceeds what&#8217;s possible with on-premises technology, single-tenant hosted applications, and &#8220;software plus services&#8221;.<br /><br /><span style="font-weight:bold;">Faster access to innovation for higher productivity</span><br />The web is the epicenter of innovation, and Google&#8217;s multi-tenant infrastructure is designed so we can push improvements to our entire customer base on short iteration cycles. We can deliver new functionality on a weekly basis, or faster, because our systems are able to distribute updates so efficiently. In 2009 alone, we launched over 100 improvements, and customers didn&#8217;t need to manage any upgrades or patches. In contrast, businesses tend to update traditional server software every five to seven years due to long release cycles from vendors and the cost and complexity businesses face implementing upgrades, especially when more powerful servers are required, like 64-bit hardware.<br /><br />Browser-based applications are another key ingredient in our recipe for rapid innovation. When we launch new features to our web applications, users automatically get these improvements just by refreshing their browsers. Our mobile browser applications also get new features without software updates. With traditional technology and &#8220;software plus services&#8221;, client software is an innovation bottleneck. Even after back-end systems can support new features, users don&#8217;t get new functionality in those environments until the software on their computers and mobile phones have been upgraded, which can be an expensive and labor-intensive project.<br /><br />Feedback and anonymous usage statistics from hundreds of millions of users in the real world also help us bring stress-tested innovation to business customers at an unprecedented pace. From our consumer user base, we quickly learn which new features would be useful in the business context, refine those features, and make them available to Google Apps customers with minimal delay.<br /><br />Continuous innovation powered by the cloud has another advantage over traditional technology cycles: employees adapt to a continuous stream of manageable improvements better than they tolerate large, disruptive batches of change. Gradual iterations in bite-sized chunks substantially reduce change-management challenges. Conversely, employees are subjected to a painful re-learning cycle each time companies upgrade traditional software.<br /><br />Dramatically faster innovation helps employees be more productive, but that&#8217;s not all Google&#8217;s cloud has to offer. In part two of this series, next week I&#8217;ll focus on how <a href="//www.google.com/apps/intl/en/business/index.html#utm_medium=blog&amp;utm_source=en-blog-us-na-cloudseries-entblog_0408&amp;utm_campaign=cloudseries">Google Apps</a> can offer better security and higher reliability than on-premises technology, single-tenant hosted applications and &#8220;software plus services&#8221;.<br /><br />If you&#8217;re interested in going a level deeper, we invite you to <a href="http://webcasts.techrepublic.com.com/abstract.aspx?docid=1690157">geek out with us</a> on Thursday, April 22nd, when we&#8217;ll be holding a webcast to explore the advantages of Google&#8217;s cloud. Hope you can join us!<br /><br /><span style="font-weight:bold;"><a href="http://webcasts.techrepublic.com.com/abstract.aspx?docid=1690157">Geek Out on the Cloud-Based Infrastructure of Google Apps</a></span><br />Thursday, April 22, 2010<br />2:00 PM ET / 11:00 AM PT / 6:00 PM GMT<br /><a href="//www.google.com/calendar/event?action=TEMPLATE&amp;text=Geek+out+on+the+Cloud-Based+Infrastructure+of+Google+Apps&amp;dates=20100422T180000Z/20100422T190000Z&amp;details=Join+this+live+Webcast+to+hear+Ben+Lutch,+Jeremy+Milo+and+Rajen+Sheth+discuss+Google&#39;s+innovations+in+data+center+design.&amp;location=Register+here:+http://webcasts.techrepublic.com.com/abstract.aspx?docid%3D1690157&amp;trp=false&amp;sprop=www.google.com/apps&amp;sprop=name:Google+Apps+for+business+and+schools" target="_blank"><img border="0" src="//www.google.com/calendar/images/ext/gc_button1.gif"></a><br /><br /><span class="byline-author">Posted by Jeremy Milo, Google Apps Marketing Manager</span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2010/04/google-apps-and-cloud-faster-access-to.html?hl=en'> <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 Apps and the cloud: Faster access to innovation&url=https://cloud.googleblog.com/2010/04/google-apps-and-cloud-faster-access-to.html?hl=en&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/2010/04/google-apps-and-cloud-faster-access-to.html?hl=en'> <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='4' data-onclick='' data-post-url='https://cloud.googleblog.com/2010/04/google-apps-and-cloud-faster-access-to.html?hl=en' data-url='https://cloud.googleblog.com/2010/04/google-apps-and-cloud-faster-access-to.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2010/04/google-apps-and-cloud-faster-access-to.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?hl=en' rel='tag'> cloud computing </a> , <a class='label' href='https://cloud.googleblog.com/search/label/cloud%20series?hl=en' rel='tag'> cloud series </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Apps?hl=en' rel='tag'> Google Apps </a> , <a class='label' href='https://cloud.googleblog.com/search/label/viewpoint?hl=en' rel='tag'> viewpoint </a> </span> </div> </div> </div> <div class='post' data-id='5872108054563263480' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='https://cloud.googleblog.com/2009/04/what-we-talk-about-when-we-talk-about.html?hl=en' itemprop='url' title='What we talk about when we talk about cloud computing'> What we talk about when we talk about cloud computing </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Tuesday, April 28, 2009 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-size:100%;">Recently, McKinsey &amp; Company published a study on cloud computing as part of a symposium for <a href="http://uptimeinstitute.org/content/view/57/81/" id="sq8t" title="The Uptime Institute">The Uptime Institute</a>, an organization dedicated to supporting the enterprise data center industry. We share McKinsey's interest in helping the IT industry better understand cloud computing, so we'd like to join the conversation <a href="http://www.appirio.com/blog/2009/04/cloud-computing-savings-real-or.php" id="yy5w" title="Appirio">Appirio</a> and others have started about the role of cloud computing for large enterprises.<br /></span><div><span style="font-size:100%;"><br />There's quite a bit of talk these days about corporations building a "private cloud" with concepts like virtualization, and there can be significant benefits to this approach. But those adv<span style="background-color: rgb(255, 255, 255);">antages are amplified greatly when customers use applications in the scalable datacenters provided by companies like Google, Amazon, Salesforce.com and soon, Microsoft. </span>In this model, customers can leverage hardware infrastructure, distributed software infrastructure, and applications that are built for the cloud, and let us run it for them. This offers them much lower cost applications, and removes the IT maintenance burden that can cripple many organizations today. It also allows customers to deliver innovation to their end users much more rapidly.<br /><br />We thought we'd provide some insight into what we mean when we say cloud computing, and how its advantages in cost and innovation continue to attract hundreds of thousands of companies of <i>all</i> sizes -- from 2nd Wind Exercise Equipment to Genentech. We created our cloud by building an optimized system from the ground up: starting with low-cost hardware, adding reliable software infrastructure that scales, offering innovative applications, and working every day to improve the whole system. While the McKinsey study only considered the hardware cost savings of the cloud, there is tremendous customer benefit in all of these areas.<br /><br /><i><b> Hardware infrastructure<br /></b></i> It starts with components. <span style="background-color: rgb(255, 255, 255);">We serve tens of millions of users, s</span>o we've had to build infrastructure that scales and can run extremely efficiently to support that load. Consider three areas of data center design: server design, energy efficiency, and scale of operations.<br /><br />In the virtualization approach of private data centers, a company takes a server and subdivides it into many servers to increase efficiency. We do the opposite by taking a large set of low cost commodity systems and tying them together into one large supercomputer. We strip down our servers to the bare essentials, so that we're not paying for components that we don't need. For example, we produce servers without video graphics chips that aren't needed in this environment.<br /><br />Additionally, enterprise hardware components are designed to be very reliable, but they can never be 100% reliable, so enterprises spend a lot of time and money on maintenance. In contrast, we expect the hardware to fail, and design for reliability in the software such that, when the hardware does fail, customers are just shifted to another server. This allows us to further lower the cost of our servers by using commodity parts and on-board storage. We also design the systems for easy repair such that, if a part fails, we can quickly bring the server back into service.<br /><br />Traditionally, companies have focused on using large, highly reliable hardware to run databases and large backend systems, but there is a significant cost impact to that strategy. For example, a 4 CPU quad-core system with 600 GB of high end SCSI storage and 16GB of memory is 8 times more expensive than a system 1/4 its size with less expensive SATA storage. This is because the price of the components increase exponentially as the hardware gets larger and more reliable. By building the reliability into the software, we're able to use a much lower cost hardware platform but still maintain the same reliability to customers.<br /><br />Beyond server design, we do everything possible to make our servers and data centers as efficient as possible from an energy and cooling perspective. Consider how we designed our data centers for <a href="//www.google.com/corporate/green/datacenters/" id="csoi" title="energy efficiency">energy efficiency</a>. Power Usage Effectiveness (PUE) is an industry-standard metric for measuring the efficiency of a data center. We recently <a href="//www.google.com/corporate/green/datacenters/measuring.html" id="o9wf" title="shared that the average PUE for our data centers">shared that the average PUE for our data centers</a> is now better than the state-of-the-art 2011 data center PUE prediction by the EPA. In other words, we beat the EPA's best case estimates three years early, and we achieved this result without the use of exotic infrastructure solutions thought necessary in the EPA report. And we're doing that at every level of the stack: from server utilization to networking.<br /><br />Finally, we operate at scale, and that drives economies of scale. Just by managing thousands of servers together and making them homogeneous, we're able to cut down on our administrative costs dramatically and pool resources of many types. This benefits end users by enabling us to offer low prices. <br /><br />But, most importantly for our customers, we manage this entire infrastructure such that they don't have to. <a href="http://www.gartner.com/it/page.jsp?id=497088" id="d-:-" title="According to Gartner">According to Gartner</a>, a typical IT department spends 80% of their budget keeping the lights on, and this hampers their ability to drive change and growth in their business. The reality is that most businesses don't gain a competitive advantage from maintaining their own data centers. We take on that burden and make it our core business so that our customers don't have to.<br /></span> </div><div><span style="font-size:100%;"><b><i><br />Software Infrastructure<br /></i></b></span> </div><div><span style="font-size:100%;"> While most discussions of cloud computing and data center design take place at the hardware level, we offer a set of scalable services that customers would otherwise have to maintain themselves in a virtualization model. For example, if a company wanted to implement a typical three tier system in the cloud using virtualization, they would have to build, install, and maintain software to run the database, app server, and web server. This would require them to spend time and money to acquire the licenses, maintain system uptime, and implement patches.<br /><br />In contrast, w<span style="background-color: rgb(255, 255, 255);">ith a service </span>like Google App Engine, customers get access to the same scalable application server and database that Google uses for its own applications. This means customers don't have to worry about purchasing, installing, maintaining, and scaling their own databases and app servers. All a customer has to do is deploy code, and we take care of the rest. You only pay for what you need, and, with App Engine's free quota, you often don't pay anything at all.<br /><br />A great example of software infrastructure that scales is the recent online town hall meeting held by President Obama. The White House wa<span style="background-color: rgb(255, 255, 255);">s able to instantly scale its database </span>to support more than 100,000 questions and in excess of 3.5 million votes, without worrying about usage spikes that typically would be tough to manage. Because of the cloud, there was no need to provision extra servers to handle the increased demand or forecast demand ahead of time.<br /><i><b><br />Applications</b></i><br />Beyond the underlying hardware and software design, what attracts many customers to the cloud is application outsourcing. <span style="background-color: rgb(255, 255, 255);"><br /><br />There is limited value to running an Exchange Server in a virtual machine in the cloud. </span> That server was never designed for the cloud, so you don't get additional scale. You'd also need to continue to maintain and monitor the mail server yourself, so the labor savings are marginal. But with cloud-based applications like Gmail, we take care of all of the hassle for you. We keep the application up and running, and have designed it to scale easily. All of this provides an application that is roughly <a title="less than 1/3 the cost" href="http://www.forrester.com/Research/Document/Excerpt/0,7211,46302,00.html" id="du9d">less than 1/3 the cost</a> of a privately hosted mail system, has 100x the typical storag<span style="background-color: rgb(255, 255, 255);">e, and innovates much faster. </span><br /></span> </div><span style="font-size:100%;"><i><b><br />Innovation</b></i><br />While the cost advantages of cloud computing can be great, there's another advantage that in many ways is more important: the rapid pace of innovation. IT systems are typically slow to evolve. In the virtualization model, businesses still need to run packaged software and endure the associated burden. They only receive major feature enhancements every 2-3 years, and in the meantime they have to endure the monthly patch cycle and painful system-wide upgrades. In our model, we can deliver innovation quickly without IT admins needing to manage upgrades themselves. For example, wit<span style="background-color: rgb(255, 255, 255);">h Google Apps</span>, we delivered more than 60 new features over the last year with only optional admin intervention.<br /><br /></span> <span style="font-size:100%;">The era of delayed gratification is over &#8211; the Internet allows innovations to be delivered as a constant flow that incorporates user needs, offers faster cycles for IT, and enables integration with systems that were not previously possible. This makes major upgrades a thing of the past, and gives the customer greater and greater value for their money.<br /><br />As companies weigh private data centers vs. scalable clouds, they should ask a simple question: can I find the same economics, ease of maintenance, and pace of innovation that is inherent in the cloud?<br /><br />Posted by Rajen Sheth, Senior Product Manager, Google Apps<br /></span></div><span style="color: rgb(0, 0, 0);font-size:100%;" ><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;" class="byline-author" ></span> </script> <noscript> <div style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-size:100%;">Recently, McKinsey &amp; Company published a study on cloud computing as part of a symposium for <a href="http://uptimeinstitute.org/content/view/57/81/" id="sq8t" title="The Uptime Institute">The Uptime Institute</a>, an organization dedicated to supporting the enterprise data center industry. We share McKinsey's interest in helping the IT industry better understand cloud computing, so we'd like to join the conversation <a href="http://www.appirio.com/blog/2009/04/cloud-computing-savings-real-or.php" id="yy5w" title="Appirio">Appirio</a> and others have started about the role of cloud computing for large enterprises.<br /></span><div><span style="font-size:100%;"><br />There's quite a bit of talk these days about corporations building a "private cloud" with concepts like virtualization, and there can be significant benefits to this approach. But those adv<span style="background-color: rgb(255, 255, 255);">antages are amplified greatly when customers use applications in the scalable datacenters provided by companies like Google, Amazon, Salesforce.com and soon, Microsoft. </span>In this model, customers can leverage hardware infrastructure, distributed software infrastructure, and applications that are built for the cloud, and let us run it for them. This offers them much lower cost applications, and removes the IT maintenance burden that can cripple many organizations today. It also allows customers to deliver innovation to their end users much more rapidly.<br /><br />We thought we'd provide some insight into what we mean when we say cloud computing, and how its advantages in cost and innovation continue to attract hundreds of thousands of companies of <i>all</i> sizes -- from 2nd Wind Exercise Equipment to Genentech. We created our cloud by building an optimized system from the ground up: starting with low-cost hardware, adding reliable software infrastructure that scales, offering innovative applications, and working every day to improve the whole system. While the McKinsey study only considered the hardware cost savings of the cloud, there is tremendous customer benefit in all of these areas.<br /><br /><i><b> Hardware infrastructure<br /></b></i> It starts with components. <span style="background-color: rgb(255, 255, 255);">We serve tens of millions of users, s</span>o we've had to build infrastructure that scales and can run extremely efficiently to support that load. Consider three areas of data center design: server design, energy efficiency, and scale of operations.<br /><br />In the virtualization approach of private data centers, a company takes a server and subdivides it into many servers to increase efficiency. We do the opposite by taking a large set of low cost commodity systems and tying them together into one large supercomputer. We strip down our servers to the bare essentials, so that we're not paying for components that we don't need. For example, we produce servers without video graphics chips that aren't needed in this environment.<br /><br />Additionally, enterprise hardware components are designed to be very reliable, but they can never be 100% reliable, so enterprises spend a lot of time and money on maintenance. In contrast, we expect the hardware to fail, and design for reliability in the software such that, when the hardware does fail, customers are just shifted to another server. This allows us to further lower the cost of our servers by using commodity parts and on-board storage. We also design the systems for easy repair such that, if a part fails, we can quickly bring the server back into service.<br /><br />Traditionally, companies have focused on using large, highly reliable hardware to run databases and large backend systems, but there is a significant cost impact to that strategy. For example, a 4 CPU quad-core system with 600 GB of high end SCSI storage and 16GB of memory is 8 times more expensive than a system 1/4 its size with less expensive SATA storage. This is because the price of the components increase exponentially as the hardware gets larger and more reliable. By building the reliability into the software, we're able to use a much lower cost hardware platform but still maintain the same reliability to customers.<br /><br />Beyond server design, we do everything possible to make our servers and data centers as efficient as possible from an energy and cooling perspective. Consider how we designed our data centers for <a href="//www.google.com/corporate/green/datacenters/" id="csoi" title="energy efficiency">energy efficiency</a>. Power Usage Effectiveness (PUE) is an industry-standard metric for measuring the efficiency of a data center. We recently <a href="//www.google.com/corporate/green/datacenters/measuring.html" id="o9wf" title="shared that the average PUE for our data centers">shared that the average PUE for our data centers</a> is now better than the state-of-the-art 2011 data center PUE prediction by the EPA. In other words, we beat the EPA's best case estimates three years early, and we achieved this result without the use of exotic infrastructure solutions thought necessary in the EPA report. And we're doing that at every level of the stack: from server utilization to networking.<br /><br />Finally, we operate at scale, and that drives economies of scale. Just by managing thousands of servers together and making them homogeneous, we're able to cut down on our administrative costs dramatically and pool resources of many types. This benefits end users by enabling us to offer low prices. <br /><br />But, most importantly for our customers, we manage this entire infrastructure such that they don't have to. <a href="http://www.gartner.com/it/page.jsp?id=497088" id="d-:-" title="According to Gartner">According to Gartner</a>, a typical IT department spends 80% of their budget keeping the lights on, and this hampers their ability to drive change and growth in their business. The reality is that most businesses don't gain a competitive advantage from maintaining their own data centers. We take on that burden and make it our core business so that our customers don't have to.<br /></span> </div><div><span style="font-size:100%;"><b><i><br />Software Infrastructure<br /></i></b></span> </div><div><span style="font-size:100%;"> While most discussions of cloud computing and data center design take place at the hardware level, we offer a set of scalable services that customers would otherwise have to maintain themselves in a virtualization model. For example, if a company wanted to implement a typical three tier system in the cloud using virtualization, they would have to build, install, and maintain software to run the database, app server, and web server. This would require them to spend time and money to acquire the licenses, maintain system uptime, and implement patches.<br /><br />In contrast, w<span style="background-color: rgb(255, 255, 255);">ith a service </span>like Google App Engine, customers get access to the same scalable application server and database that Google uses for its own applications. This means customers don't have to worry about purchasing, installing, maintaining, and scaling their own databases and app servers. All a customer has to do is deploy code, and we take care of the rest. You only pay for what you need, and, with App Engine's free quota, you often don't pay anything at all.<br /><br />A great example of software infrastructure that scales is the recent online town hall meeting held by President Obama. The White House wa<span style="background-color: rgb(255, 255, 255);">s able to instantly scale its database </span>to support more than 100,000 questions and in excess of 3.5 million votes, without worrying about usage spikes that typically would be tough to manage. Because of the cloud, there was no need to provision extra servers to handle the increased demand or forecast demand ahead of time.<br /><i><b><br />Applications</b></i><br />Beyond the underlying hardware and software design, what attracts many customers to the cloud is application outsourcing. <span style="background-color: rgb(255, 255, 255);"><br /><br />There is limited value to running an Exchange Server in a virtual machine in the cloud. </span> That server was never designed for the cloud, so you don't get additional scale. You'd also need to continue to maintain and monitor the mail server yourself, so the labor savings are marginal. But with cloud-based applications like Gmail, we take care of all of the hassle for you. We keep the application up and running, and have designed it to scale easily. All of this provides an application that is roughly <a title="less than 1/3 the cost" href="http://www.forrester.com/Research/Document/Excerpt/0,7211,46302,00.html" id="du9d">less than 1/3 the cost</a> of a privately hosted mail system, has 100x the typical storag<span style="background-color: rgb(255, 255, 255);">e, and innovates much faster. </span><br /></span> </div><span style="font-size:100%;"><i><b><br />Innovation</b></i><br />While the cost advantages of cloud computing can be great, there's another advantage that in many ways is more important: the rapid pace of innovation. IT systems are typically slow to evolve. In the virtualization model, businesses still need to run packaged software and endure the associated burden. They only receive major feature enhancements every 2-3 years, and in the meantime they have to endure the monthly patch cycle and painful system-wide upgrades. In our model, we can deliver innovation quickly without IT admins needing to manage upgrades themselves. For example, wit<span style="background-color: rgb(255, 255, 255);">h Google Apps</span>, we delivered more than 60 new features over the last year with only optional admin intervention.<br /><br /></span> <span style="font-size:100%;">The era of delayed gratification is over &#8211; the Internet allows innovations to be delivered as a constant flow that incorporates user needs, offers faster cycles for IT, and enables integration with systems that were not previously possible. This makes major upgrades a thing of the past, and gives the customer greater and greater value for their money.<br /><br />As companies weigh private data centers vs. scalable clouds, they should ask a simple question: can I find the same economics, ease of maintenance, and pace of innovation that is inherent in the cloud?<br /><br />Posted by Rajen Sheth, Senior Product Manager, Google Apps<br /></span></div><span style="color: rgb(0, 0, 0);font-size:100%;" ><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;" class="byline-author" ></span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper' data-href='https://plus.google.com/share?url=https://cloud.googleblog.com/2009/04/what-we-talk-about-when-we-talk-about.html?hl=en'> <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:What we talk about when we talk about cloud computing&url=https://cloud.googleblog.com/2009/04/what-we-talk-about-when-we-talk-about.html?hl=en&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/2009/04/what-we-talk-about-when-we-talk-about.html?hl=en'> <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='28' data-onclick='' data-post-url='https://cloud.googleblog.com/2009/04/what-we-talk-about-when-we-talk-about.html?hl=en' data-url='https://cloud.googleblog.com/2009/04/what-we-talk-about-when-we-talk-about.html' style='color: #4184F3;'></span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='https://cloud.googleblog.com/2009/04/what-we-talk-about-when-we-talk-about.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?hl=en' rel='tag'> admin </a> , <a class='label' href='https://cloud.googleblog.com/search/label/cloud%20computing?hl=en' rel='tag'> cloud computing </a> , <a class='label' href='https://cloud.googleblog.com/search/label/Google%20Apps?hl=en' rel='tag'> Google Apps </a> , <a class='label' href='https://cloud.googleblog.com/search/label/IT?hl=en' rel='tag'> IT </a> , <a class='label' href='https://cloud.googleblog.com/search/label/viewpoint?hl=en' rel='tag'> viewpoint </a> </span> </div> </div> </div> <div class='blog-pager' id='blog-pager'> <a class='home-link' href='https://cloud.googleblog.com/?hl=en'> <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/viewpoint?updated-max=2009-04-28T09:55:00-07:00&max-results=20&start=20&by-date=false&hl=en' 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?hl=en'> #innovationupgrade </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23InspireGirls?hl=en'> #InspireGirls </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23moregoogleapps?hl=en'> #moregoogleapps </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23SysAdminDay?hl=en'> #SysAdminDay </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23tbt?hl=en'> #tbt </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23throwbackthursday?hl=en'> #throwbackthursday </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/%23top10trust?hl=en'> #top10trust </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/100%25%20web?hl=en'> 100% web </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/50states?hl=en'> 50states </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/ad%20contest?hl=en'> ad contest </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/add-ons?hl=en'> add-ons </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/admin?hl=en'> admin </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Admin%20console?hl=en'> Admin console </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/admin%20sdk?hl=en'> admin sdk </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/AirPlay?hl=en'> AirPlay </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android?hl=en'> Android </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20for%20Work?hl=en'> Android for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20for%20Work%20Live?hl=en'> Android for Work Live </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20Marshmellow?hl=en'> Android Marshmellow </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20Nougat?hl=en'> Android Nougat </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20security?hl=en'> Android security </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Android%20security%20tips?hl=en'> Android security tips </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Apps%20Adventures?hl=en'> Apps Adventures </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/apps%20script?hl=en'> apps script </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/apptuesday?hl=en'> apptuesday </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Armed%20Forces%20Day?hl=en'> Armed Forces Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Asia%20Pacific?hl=en'> Asia Pacific </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Atmosphere%20Live?hl=en'> Atmosphere Live </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Audi?hl=en'> Audi </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Audi%20Connect?hl=en'> Audi Connect </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/audit?hl=en'> audit </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Australia?hl=en'> Australia </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/big%20data?hl=en'> big data </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Big%20Query?hl=en'> Big Query </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/bigquery?hl=en'> bigquery </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Boston?hl=en'> Boston </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/browser?hl=en'> browser </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chomebox%20for%20Meetings?hl=en'> Chomebox for Meetings </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome?hl=en'> Chrome </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20Device%20Management?hl=en'> Chrome Device Management </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20digital%20signage?hl=en'> Chrome digital signage </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20for%20Business?hl=en'> Chrome for Business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20for%20Work?hl=en'> Chrome for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20Frame?hl=en'> Chrome Frame </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chrome%20OS?hl=en'> Chrome OS </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebit?hl=en'> Chromebit </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebooks?hl=en'> Chromebooks </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebooks%20for%20Business?hl=en'> Chromebooks for Business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebooks%20for%20Education?hl=en'> Chromebooks for Education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebooks%20for%20Work?hl=en'> Chromebooks for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebox%20for%20digital%20signage?hl=en'> Chromebox for digital signage </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebox%20for%20meetings?hl=en'> Chromebox for meetings </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromebox%20for%20signage?hl=en'> Chromebox for signage </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromeboxes?hl=en'> Chromeboxes </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Chromecast?hl=en'> Chromecast </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/City%2024%2F7?hl=en'> City 24/7 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Classroom?hl=en'> Classroom </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Clearing%20Kosovo?hl=en'> Clearing Kosovo </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Cloud?hl=en'> Cloud </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20computing?hl=en'> cloud computing </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20computing%20gonegoogle?hl=en'> cloud computing gonegoogle </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20computing%20gonegoogle%20Google%20Apps?hl=en'> 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?hl=en'> 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?hl=en'> 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?hl=en'> cloud datastore </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20platform?hl=en'> cloud platform </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Cloud%20Platform%20Live?hl=en'> Cloud Platform Live </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20print?hl=en'> cloud print </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20series?hl=en'> cloud series </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20services?hl=en'> cloud services </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/cloud%20sql?hl=en'> cloud sql </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/collaboration?hl=en'> collaboration </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Colorado?hl=en'> Colorado </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Connectors?hl=en'> Connectors </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/contacts?hl=en'> contacts </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Control%20Panel?hl=en'> Control Panel </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/customer?hl=en'> customer </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/customer%20love?hl=en'> customer love </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Customer%20story?hl=en'> Customer story </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Customer%20support?hl=en'> Customer support </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Customer%20testimonial?hl=en'> Customer testimonial </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/data%20centers?hl=en'> data centers </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/data%20processing%20amendment?hl=en'> data processing amendment </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/data%20protection?hl=en'> data protection </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Developer?hl=en'> Developer </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/developers?hl=en'> developers </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Digital%20Learning%20Day?hl=en'> Digital Learning Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Docs?hl=en'> Docs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/documents?hl=en'> documents </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/DPA?hl=en'> DPA </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Drawings?hl=en'> Drawings </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Drive%20for%20Education?hl=en'> Drive for Education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/drive%20sharing?hl=en'> drive sharing </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Earth?hl=en'> Earth </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/earth%20and%20maps?hl=en'> earth and maps </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/EC?hl=en'> EC </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/education?hl=en'> education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Education%20on%20Air?hl=en'> Education on Air </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/EMC?hl=en'> EMC </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/EMM?hl=en'> EMM </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Energy?hl=en'> Energy </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/enterprise?hl=en'> enterprise </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/EU?hl=en'> EU </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/events?hl=en'> events </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/FedEx?hl=en'> FedEx </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Fedex.com?hl=en'> Fedex.com </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Finance?hl=en'> Finance </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Firebase?hl=en'> Firebase </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Forms?hl=en'> Forms </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/franchises?hl=en'> franchises </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/GAFE?hl=en'> GAFE </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Gartner?hl=en'> Gartner </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/GE?hl=en'> GE </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/geo?hl=en'> geo </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Global%20Partner%20Summit?hl=en'> Global Partner Summit </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/gmail?hl=en'> gmail </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Gone%20Google?hl=en'> Gone Google </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/gonegoogle?hl=en'> gonegoogle </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20AdWords?hl=en'> Google AdWords </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20App%20Engine?hl=en'> Google App Engine </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps?hl=en'> Google Apps </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20Blog?hl=en'> Google Apps Blog </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20for%20Business?hl=en'> Google Apps for Business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20for%20Education?hl=en'> Google Apps for Education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20for%20Government?hl=en'> Google Apps for Government </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20for%20Work?hl=en'> Google Apps for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20Marketplace?hl=en'> Google Apps Marketplace </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20Reseller?hl=en'> Google Apps Reseller </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20Script?hl=en'> Google Apps Script </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Apps%20Vault?hl=en'> Google Apps Vault </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20BigQuery?hl=en'> Google BigQuery </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Calendar?hl=en'> Google Calendar </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Calendar%20app?hl=en'> Google Calendar app </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Certified%20Teachers?hl=en'> Google Certified Teachers </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Chrome?hl=en'> Google Chrome </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Chromebases?hl=en'> Google Chromebases </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Classroom?hl=en'> Google Classroom </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20Datastore?hl=en'> Google Cloud Datastore </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20DNS?hl=en'> Google Cloud DNS </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20Platform?hl=en'> Google Cloud Platform </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20cloud%20storage?hl=en'> google cloud storage </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Cloud%20Vision%20API?hl=en'> Google Cloud Vision API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20commerce%20search?hl=en'> google commerce search </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Compute%20Engine?hl=en'> Google Compute Engine </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Doc?hl=en'> Google Doc </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Docs?hl=en'> Google Docs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Domains?hl=en'> Google Domains </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Draw?hl=en'> Google Draw </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Drive?hl=en'> Google Drive </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Drive%20for%20Work?hl=en'> Google Drive for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Earth?hl=en'> Google Earth </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Earth%20Engine?hl=en'> Google Earth Engine </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Earth%20Enterprise?hl=en'> Google Earth Enterprise </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Earth%20Images?hl=en'> Google Earth Images </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Earth%20Pro?hl=en'> Google Earth Pro </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Email%20Security%20and%20Archiving?hl=en'> Google Email Security and Archiving </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Enterprise?hl=en'> Google Enterprise </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Enterprise%20Search?hl=en'> Google Enterprise Search </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Expeditions?hl=en'> Google Expeditions </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Education?hl=en'> Google for Education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Education%20Partner%20Program?hl=en'> Google for Education Partner Program </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Education%20Training%20Center?hl=en'> Google for Education Training Center </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Entrepreneurs?hl=en'> Google for Entrepreneurs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20for%20Work?hl=en'> 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?hl=en'> 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?hl=en'> Google for Work partner program </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Forms?hl=en'> Google Forms </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Green?hl=en'> Google Green </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20groups?hl=en'> google groups </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Hangout?hl=en'> Google Hangout </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Hangouts?hl=en'> Google Hangouts </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20I%2FO?hl=en'> Google I/O </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Keep?hl=en'> Google Keep </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps?hl=en'> Google Maps </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20API?hl=en'> Google Maps API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20APIs?hl=en'> Google Maps APIs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Coordinate?hl=en'> Google Maps Coordinate </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Engine?hl=en'> Google Maps Engine </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Engine%20Pro?hl=en'> Google Maps Engine Pro </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Engine%20public%20data%20program?hl=en'> Google Maps Engine public data program </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20for%20Business?hl=en'> Google Maps for Business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20for%20Work?hl=en'> Google Maps for Work </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Gallery?hl=en'> Google Maps Gallery </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Maps%20Tracks%20API?hl=en'> Google Maps Tracks API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Message%20Continuity?hl=en'> Google Message Continuity </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20message%20security?hl=en'> google message security </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Mobile%20Device%20Management?hl=en'> Google Mobile Device Management </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20My%20Maps?hl=en'> Google My Maps </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20My%20Maps%20Pro?hl=en'> Google My Maps Pro </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Places%20API?hl=en'> Google Places API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Play?hl=en'> Google Play </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20play%20for%20education?hl=en'> google play for education </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Prediction%20API?hl=en'> Google Prediction API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Research%20tool?hl=en'> Google Research tool </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Science%20Fair?hl=en'> Google Science Fair </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Search%20Appliance?hl=en'> Google Search Appliance </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Security%20Key?hl=en'> Google Security Key </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Sheets?hl=en'> Google Sheets </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Site%20Search?hl=en'> Google Site Search </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20sites?hl=en'> google sites </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Slides%20API?hl=en'> Google Slides API </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Smart%20Lock?hl=en'> Google Smart Lock </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20spreadsheets?hl=en'> Google spreadsheets </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Springboard?hl=en'> Google Springboard </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%20storage?hl=en'> google storage </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Storage%20for%20Developers?hl=en'> Google Storage for Developers </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Translate?hl=en'> Google Translate </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Vault?hl=en'> Google Vault </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Video?hl=en'> Google Video </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%20Wave?hl=en'> Google Wave </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/google%2B?hl=en'> google+ </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%2B%20api?hl=en'> Google+ api </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Google%2B%20Communities?hl=en'> Google+ Communities </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/googlenew?hl=en'> googlenew </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/government?hl=en'> government </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/GSA?hl=en'> GSA </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/GSA%207.0?hl=en'> GSA 7.0 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/GSA%20for%20Commerce?hl=en'> GSA for Commerce </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/guest%20post?hl=en'> guest post </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/HALO%20Trust?hl=en'> HALO Trust </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Hangout%20on%20Air?hl=en'> Hangout on Air </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Hangouts%20on%20Air?hl=en'> Hangouts on Air </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/HEAT?hl=en'> HEAT </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/hints%20and%20tips?hl=en'> hints and tips </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/HIPAA?hl=en'> HIPAA </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Inbox?hl=en'> Inbox </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Inbox%20by%20Gmail?hl=en'> Inbox by Gmail </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/innovation?hl=en'> innovation </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/international%20trade?hl=en'> international trade </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Internet%20Explorer?hl=en'> Internet Explorer </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/intranet?hl=en'> intranet </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/io2011?hl=en'> io2011 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/iOS?hl=en'> iOS </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/iPad?hl=en'> iPad </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/IT?hl=en'> IT </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/K-12?hl=en'> K-12 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Kubernetes?hl=en'> Kubernetes </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/large%20business?hl=en'> large business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/MAM?hl=en'> MAM </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/manufacturing?hl=en'> manufacturing </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Mapping%20a%20better%20world?hl=en'> Mapping a better world </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/marketplace?hl=en'> marketplace </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/marketplace%20highlights?hl=en'> marketplace highlights </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/mashups?hl=en'> mashups </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/MCCs?hl=en'> MCCs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/MDM?hl=en'> MDM </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/medium%20business?hl=en'> medium business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/migration?hl=en'> migration </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/mobile?hl=en'> mobile </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/mobile%20management?hl=en'> mobile management </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/model%20contract%20clauses?hl=en'> model contract clauses </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/moms?hl=en'> moms </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Mother%27s%20Day?hl=en'> Mother&#39;s Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/mpstaffpick?hl=en'> mpstaffpick </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/MyHEAT?hl=en'> MyHEAT </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/NAVMAN?hl=en'> NAVMAN </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/new%20features?hl=en'> new features </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/news?hl=en'> news </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Niagara%20International%20Transportation%20Technology%20Coalition?hl=en'> Niagara International Transportation Technology Coalition </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/non-profit?hl=en'> non-profit </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/noteworthy?hl=en'> noteworthy </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/offline?hl=en'> offline </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/OpenID%20Connect?hl=en'> OpenID Connect </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Parters?hl=en'> Parters </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/partner?hl=en'> partner </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Partner%20Showcase?hl=en'> Partner Showcase </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/partners?hl=en'> partners </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Place%20Summaries?hl=en'> Place Summaries </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Postini?hl=en'> Postini </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/privacy?hl=en'> privacy </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/product%20ideas?hl=en'> product ideas </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/productivity?hl=en'> productivity </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Quickoffice?hl=en'> Quickoffice </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Receptionist%27s%20Day?hl=en'> Receptionist&#39;s Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/reports?hl=en'> reports </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Reseller?hl=en'> Reseller </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/retail?hl=en'> retail </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/RSA?hl=en'> RSA </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Safer%20Internet%20Day?hl=en'> Safer Internet Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/SBW2013?hl=en'> SBW2013 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/SBW2014?hl=en'> SBW2014 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/sbweek?hl=en'> sbweek </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/SCCs?hl=en'> SCCs </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Search?hl=en'> Search </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Security?hl=en'> Security </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Security%20Key?hl=en'> Security Key </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/small%20business?hl=en'> small business </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Small%20Business%20Week?hl=en'> Small Business Week </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Small%20businesses?hl=en'> Small businesses </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/SMB?hl=en'> SMB </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/spam%20and%20security%20trends?hl=en'> spam and security trends </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Startups?hl=en'> Startups </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/success%20story?hl=en'> success story </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/support?hl=en'> support </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/switch?hl=en'> switch </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/System%20Admin?hl=en'> System Admin </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/T%20Dispatch?hl=en'> T Dispatch </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Teamwork%202015?hl=en'> Teamwork 2015 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Thanksgiving?hl=en'> Thanksgiving </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Transport%20and%20Logistics?hl=en'> Transport and Logistics </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Trust?hl=en'> Trust </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/UK?hl=en'> UK </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/university?hl=en'> university </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/University%20of%20Calgary?hl=en'> University of Calgary </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Updates?hl=en'> Updates </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/utilities?hl=en'> utilities </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Veteran%20Owned%20Businesses?hl=en'> Veteran Owned Businesses </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Veterans%20Day?hl=en'> Veterans Day </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Veterans%20Day%202013?hl=en'> Veterans Day 2013 </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Veterans%20Day%202014?hl=en'> Veterans Day 2014 </a> </li> <li> <span dir='ltr'> viewpoint </span> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/VNX?hl=en'> VNX </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/wallet?hl=en'> wallet </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/webinar?hl=en'> webinar </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/webmaster?hl=en'> webmaster </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Winter?hl=en'> Winter </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/women%20in%20tech?hl=en'> women in tech </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Women%27s%20History%20Month?hl=en'> Women&#39;s History Month </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/Work%20Resolutions?hl=en'> Work Resolutions </a> </li> <li> <a dir='ltr' href='https://cloud.googleblog.com/search/label/World%20Bank?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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/?hl=en'> 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'] = 'AOuZoY5rqUXK1GsF1eDW2qBSyq7AtMQv-Q:1732799504225';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d6567687196385815607','//cloud.googleblog.com/search/label/viewpoint?hl\x3den','6567687196385815607'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '6567687196385815607', 'title': 'Official Google Cloud Blog', 'url': 'https://cloud.googleblog.com/search/label/viewpoint?hl\x3den', 'canonicalUrl': 'https://cloud.googleblog.com/search/label/viewpoint', 'homepageUrl': 'https://cloud.googleblog.com/?hl\x3den', '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/2fafd358a4bcb2b4', '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': 'viewpoint', 'pageName': 'viewpoint', 'pageTitle': 'Official Google Cloud Blog: viewpoint'}}, {'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/viewpoint?hl\x3den', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': false, 'isArchive': false, 'isSearch': true, 'isLabelSearch': true, 'search': {'label': 'viewpoint', 'resultsMessage': 'Showing posts with the label viewpoint', 'resultsMessageHtml': 'Showing posts with the label \x3cspan class\x3d\x27search-label\x27\x3eviewpoint\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\x3eviewpoint\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