99 lines
281 KiB
HTML
99 lines
281 KiB
HTML
<!doctype html><html lang="en-US" dir="ltr"><head><base href="https://cloud.google.com/blog/"><link rel="preconnect" href="//www.gstatic.com"><meta name="referrer" content="origin"><meta name="viewport" content="initial-scale=1, width=device-width"><meta name="track-metadata-page_hosting_platform" content="blog_boq"><meta name="mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="application-name" content="Google Cloud Blog"><meta name="apple-mobile-web-app-title" content="Google Cloud Blog"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta name="msapplication-tap-highlight" content="no"><link rel="preconnect" href="//fonts.googleapis.com"><link rel="preconnect" href="//fonts.gstatic.com"><link rel="preconnect" href="//www.gstatic.com"><link rel="preconnect" href="//storage.googleapis.com"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Google+Sans+Text:400,500,700,400i,500i,700i" nonce="fNg-9ZZU2njgMObN0w-WGw"><link rel="manifest" crossorigin="use-credentials" href="_/TransformBlogUi/manifest.json"><link rel="home" href="/?lfhs=2"><link rel="msapplication-starturl" href="/?lfhs=2"><link rel="icon" href="https://www.gstatic.com/cgc/supercloud_favicon.ico" sizes="32x32"><link rel="apple-touch-icon-precomposed" href="https://www.gstatic.com/cgc/supercloud_favicon.ico" sizes="32x32"><link rel="msapplication-square32x32logo" href="https://www.gstatic.com/cgc/supercloud_favicon.ico" sizes="32x32"><script data-id="_gd" nonce="o0pp75lutLPAHrhr1N3ntw">window.WIZ_global_data = {"AfY8Hf":true,"Bwo7Jf":"%.@.\"US\",4]","CGQM5":"%.@.[[1]]]","DpimGf":false,"EP1ykd":["/_/*","/accounts/*","/sitemap/*","/sitemaplanding/*","/sitemapsummary/*","/sitemapsummarylanding/*","/static/*","/transform","/transform/*"],"FdrFJe":"8641870590556017699","HiPsbb":1,"Im6cmf":"/blog/_/TransformBlogUi","JvMKJd":"%.@.\"GTM-5CVQBG\",[[\"en\",\"\\u202aEnglish\\u202c\",true,\"en\"],[\"de\",\"\\u202aDeutsch\\u202c\",true,\"de\"],[\"es\",\"\\u202aEspañol\\u202c\",true,\"es\"],[\"es-419\",\"\\u202aEspañol (Latinoamérica)\\u202c\",true,\"es-419\"],[\"fr\",\"\\u202aFrançais\\u202c\",true,\"fr\"],[\"id\",\"\\u202aIndonesia\\u202c\",true,\"id\"],[\"it\",\"\\u202aItaliano\\u202c\",true,\"it\"],[\"pt-BR\",\"\\u202aPortuguês (Brasil)\\u202c\",true,\"pt-BR\"],[\"zh-CN\",\"\\u202a简体中文\\u202c\",true,\"zh-Hans\"],[\"zh-TW\",\"\\u202a繁體中文\\u202c\",true,\"zh-Hant\"],[\"ja\",\"\\u202a日本語\\u202c\",true,\"ja\"],[\"ko\",\"\\u202a한국어\\u202c\",true,\"ko\"]],[\"83405\",\"AIzaSyD3LJeW4Q6gtdgJlyeFZUp-GhpIoc6EUeg\"],\"en\",null,null,[],[[\"https://cloud.google.com/innovators\",\"https://cloud.google.com/innovators/plus/activate\",\"https://cloud.google.com/innovators/innovatorsplus\"],[\"https://workspace.google.com/pricing\",\"https://www.x.com/googleworkspace\",\"https://www.facebook.com/googleworkspace\",\"https://www.youtube.com/channel/UCBmwzQnSoj9b6HzNmFrg_yw\",\"https://www.instagram.com/googleworkspace\",\"https://www.linkedin.com/showcase/googleworkspace\",\"https://about.google/?utm_source\\u003dworkspace.google.com\\u0026utm_medium\\u003dreferral\\u0026utm_campaign\\u003dgsuite-footer-en\",\"https://about.google/products/?tip\\u003dexplore\",\"https://workspace.google.com\",\"https://workspace.google.com/contact/?source\\u003dgafb-form-globalnav-en\",\"https://workspace.google.com/business/signup/welcome?hl\\u003den\\u0026source\\u003dgafb-form-globalnav-en\",\"https://workspace.google.com/blog\"],[\"https://www.cloudskillsboost.google\",\"https://www.cloudskillsboost.google?utm_source\\u003dcgc\\u0026utm_medium\\u003dwebsite\\u0026utm_campaign\\u003devergreen\",\"https://www.cloudskillsboost.google/subscriptions?utm_source\\u003dcgc\\u0026utm_medium\\u003dwebsite\\u0026utm_campaign\\u003devergreenlaunchpromo\",\"https://www.cloudskillsboost.google/subscriptions?utm_source\\u003dcgc\\u0026utm_medium\\u003dwebsite\\u0026utm_campaign\\u003devergreen\",\"https://www.cloudskillsboost.google/catalog?utm_source\\u003dcgc\\u0026utm_medium\\u003dwebsite\\u0026utm_campaign\\u003devergreen\",\"https://www.cloudskillsboost.google/paths?utm_source\\u003dcgc\\u0026utm_medium\\u003dwebsite\\u0026utm_campaign\\u003devergreen\"],[\"https://mapsplatform.google.com\"],[\"https://cloud.google.com/developers\",\"https://cloud.google.com/developers/settings?utm_source\\u003dinnovators\"],[\"https://console.cloud.google.com/freetrial\",\"https://console.cloud.google.com/\",\"https://console.cloud.google.com/freetrial?redirectPath\\u003dhttps://cloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems/\"],[\"https://aitestkitchen.withgoogle.com/signup\",\"https://blog.google/technology/ai/join-us-in-the-ai-test-kitchen/\",\"https://cloud.google.com/ai\"],[\"https://googlecloudplatform.blogspot.com/\",\"https://github.com/GoogleCloudPlatform\",\"https://www.linkedin.com/showcase/google-cloud\",\"https://x.com/googlecloud\",\"https://www.facebook.com/googlecloud\"],[[[\"https://cloud.google.com/products/compute\"],[\"https://cloud.google.com/bigquery\"],[\"https://cloud.google.com/kubernetes-engine\"],[\"https://cloud.google.com/vertex-ai\"],[\"https://cloud.google.com/apigee\"],[\"https://cloud.google.com/functions\"],[\"https://cloud.google.com/generative-ai-studio\"],[\"https://cloud.google.com/products/agent-builder\"],[\"https://cloud.google.com/products/conversational-agents\"],[\"https://cloud.google.com/natural-language\"],[\"https://cloud.google.com/speech-to-text\"],[\"https://cloud.google.com/text-to-speech\"],[\"https://cloud.google.com/video-intelligence\"],[\"https://cloud.google.com/vertex-ai-notebooks\"],[\"https://cloud.google.com/gpu\"],[\"https://cloud.google.com/document-ai\"],[\"https://cloud.google.com/looker\"],[\"https://cloud.google.com/looker-studio\"],[\"https://cloud.google.com/bare-metal\"],[\"https://cloud.google.com/batch\"],[\"https://cloud.google.com/vmware-engine\"],[\"https://cloud.google.com/build\"],[\"https://cloud.google.com/deploy\"],[\"https://cloud.google.com/dataproc\"],[\"https://cloud.google.com/products/dataflow\"],[\"https://cloud.google.com/dataform\"],[\"https://cloud.google.com/pubsub\"],[\"https://cloud.google.com/data-fusion\"],[\"https://cloud.google.com/composer\"],[\"https://cloud.google.com/dataplex\"],[\"https://cloud.google.com/analytics-hub\"],[\"https://cloud.google.com/biglake\"],[\"https://cloud.google.com/products/alloydb\"],[\"https://cloud.google.com/bigtable\"],[\"https://cloud.google.com/spanner\"],[\"https://cloud.google.com/sql\"],[\"https://cloud.google.com/products/firestore\"],[\"https://cloud.google.com/memorystore\"],[\"https://cloud.google.com/datastream\"],[\"https://cloud.google.com/security/products/assured-open-source-software\"],[\"https://cloud.google.com/code/\"],[\"https://cloud.google.com/sdk\"],[\"https://cloud.google.com/workstations\"],[\"https://cloud.google.com/anti-money-laundering-ai\"],[\"https://cloud.google.com/healthcare-api\"],[\"https://cloud.google.com/device-connect\"],[\"https://cloud.google.com/telecom-network-automation\"],[\"https://cloud.google.com/telecom-data-fabric\"],[\"https://cloud.google.com/telecom-subscriber-insights\"],[\"https://cloud.google.com/application-integration\"],[\"https://cloud.google.com/carbon-footprint\"],[\"https://cloud.google.com/cost-management\"],[\"https://cloud.google.com/managed-prometheus\"],[\"https://cloud.google.com/service-health\"],[\"https://cloud.google.com/earth-engine\"],[\"https://cloud.google.com/cdn/\"],[\"https://cloud.google.com/database-migration\"],[\"https://cloud.google.com/storage-transfer-service/\"],[\"https://cloud.google.com/immersive-stream/xr/\"],[\"https://cloud.google.com/dns\"],[\"https://cloud.google.com/security/products/intrusion-detection-system\"],[\"https://cloud.google.com/load-balancing\"],[\"https://cloud.google.com/nat\"],[\"https://cloud.google.com/network-connectivity-center\"],[\"https://cloud.google.com/network-intelligence-center\"],[\"https://cloud.google.com/security/products/armor\"],[\"https://cloud.google.com/security/products/firewall\"],[\"https://cloud.google.com/private-service-connect\"],[\"https://cloud.google.com/vpc\"],[\"https://cloud.google.com/security/vpc-service-controls\"],[\"https://cloud.google.com/logging\"],[\"https://cloud.google.com/monitoring\"],[\"https://cloud.google.com/appsheet/automation\"],[\"https://cloud.google.com/identity\"],[\"https://cloud.google.com/security/products/access-transparency\"],[\"https://cloud.google.com/security/products/assured-workloads\"],[\"https://cloud.google.com/security/products/security-key-management\"],[\"https://cloud.google.com/security/products/confidential-computing\"],[\"https://cloud.google.com/security/products/security-command-center\"],[\"https://cloud.google.com/security/products/iap\"],[\"https://cloud.google.com/security/products/certificate-authority-service\"],[\"https://cloud.google.com/security/products/titan-security-key\"],[\"https://cloud.google.com/security/products/recaptcha\"],[\"https://cloud.google.com/security/products/identity-platform\"],[\"https://cloud.google.com/security/products/threat-intelligence\"],[\"https://cloud.google.com/security/products/attack-surface-management\"],[\"https://cloud.google.com/security/products/digital-threat-monitoring\"],[\"https://cloud.google.com/security/products/mandiant-security-validation\"],[\"https://cloud.google.com/security/products/security-operations\"],[\"https://cloud.google.com/appengine\"],[\"https://cloud.google.com/run\"],[\"https://cloud.google.com/workflows\"],[\"https://cloud.google.com/storage\"],[\"https://cloud.google.com/filestore\"],[\"https://cloud.google.com/persistent-disk\"],[\"https://cloud.google.com/backup-disaster-recovery\"],[\"https://cloud.google.com/netapp-volumes\"],[\"https://cloud.google.com/parallelstore\"],[\"https://cloud.google.com/blockchain-node-engine\"],[\"https://cloud.google.com/products/observability\"],[\"https://cloud.google.com/products/gemini/cloud-assist\"],[\"https://cloud.google.com/agent-assist\"],[\"https://cloud.google.com/products/blockchain-rpc/\"],[\"https://cloud.google.com/distributed-cloud\"],[\"https://cloud.google.com/translate\"]]]],[2026,9,11],[[\"en\",\"x-default\"],\"x-default\"],[null,true],null,\"/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems/?hl\\u003den\",[\"6LcsrxUqAAAAAFhpR1lXsPN2j2nsTwy6JTbRKzJr\"],null,[\"marketing-studio-write-user\"]]","LVIXXb":1,"LoQv7e":false,"M55kSc":"%.@.]","MT7f9b":[],"MUE6Ne":"cloudx-web-blog-uiserver","PylxI":"%.@.\"cloudblog\",\"products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems\",[\"en\",\"de\",\"fr\",\"ko\",\"ja\"],\"en\",null,\"https://cloud.google.com/blog/\",\"blog_article\",\"cloud.google.com\",[\"https://console.cloud.google.com/freetrial/\",\"https://cloud.google.com/contact/\",\"https://cloud.google.com/\",\"https://cloud.google.com/blog/\",\"https://cloud.google.com/\",\"https://www.google.com/\",\"https://cloud.google.com/products/\",\"https://about.google.com/products/\",\"https://about.google/intl/en/\",\"https://support.google.com\"],[\"googlecloud\",\"googlecloud\",\"showcase/google-cloud\",\"googlecloud/\",\"googlecloud/\"],true,\"/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems/\"]","QrtxK":"","S06Grb":"","S6lZl":105833389,"TSDtV":"%.@.[[null,[[45837477,null,false,null,null,null,\"srequb\"],[45680097,null,true,null,null,null,\"PvHIUc\"],[45532645,null,true,null,null,null,\"wFnpse\"],[45449433,null,true,null,null,null,\"BotAtd\"],[45744209,null,false,null,null,null,\"JxMqJf\"],[45813112,null,null,null,\"projects/gweb-cloud-chat-prod/locations/us/apps/45c2d323-204d-48d3-92fc-2687b7b83fc2/deployments/067abe51-ab2d-4b92-9bd7-da8449eb9242\",null,\"V8lsGf\"],[45722680,null,true,null,null,null,\"BWcuJc\"],[45449449,null,true,null,null,null,\"b5B1L\"],[45759811,null,true,null,null,null,\"KrIGrd\"],[45785379,null,false,null,null,null,\"aY24Yb\"],[45701740,null,false,null,null,null,\"y6g6ie\"],[45646404,null,true,null,null,null,\"tfPPe\"],[45825584,null,false,null,null,null,\"Ekaiab\"],[45631885,null,false,null,null,null,\"kG32O\"],[45449445,null,true,null,null,null,\"C4H3Td\"],[45449438,null,false,null,null,null,\"m0uJSe\"],[45798764,null,true,null,null,null,\"ftwKye\"],[45749343,null,false,null,null,null,\"oSympb\"],[45752517,null,false,null,null,null,\"F1plqc\"],[45826729,null,false,null,null,null,\"IKu6Ue\"],[45449467,null,null,null,\"variant3\",null,\"qL2Vf\"],[45449469,null,null,null,\"default\",null,\"mBNY1\"],[45837118,null,false,null,null,null,\"zbMFKc\"],[45771867,null,false,null,null,null,\"MHNqU\"],[45449434,null,true,null,null,null,\"PvZHQ\"],[45754671,null,true,null,null,null,\"hMe1rb\"],[45817954,null,false,null,null,null,\"BJOcCd\"],[45745727,null,true,null,null,null,\"yjPBc\"],[45449435,null,false,null,null,null,\"s7Z7Ld\"],[45812792,null,true,null,null,null,\"R7XCie\"],[45767041,null,true,null,null,null,\"bdhplb\"],[45532646,null,true,null,null,null,\"RIvlU\"],[45449439,null,true,null,null,null,\"lsuui\"],[45752205,null,false,null,null,null,\"oiRoS\"],[45795490,null,true,null,null,null,\"Jpadob\"],[45651724,null,true,null,null,null,\"xYDLRc\"],[45725850,null,true,null,null,null,\"gC7Zce\"],[45449444,null,true,null,null,null,\"HGJqie\"],[45753540,null,true,null,null,null,\"S8n1J\"],[45768800,null,true,null,null,null,\"HIWUOc\"],[45757409,null,false,null,null,null,\"u4N7kf\"],[45778758,null,true,null,null,null,\"yj6JAc\"],[45449436,null,false,null,null,null,\"NCoWOd\"],[45743518,null,true,null,null,null,\"uYraWb\"],[45775335,null,true,null,null,null,\"Q5MWO\"],[45735522,null,true,null,null,null,\"jzW39e\"],[45685295,null,false,null,null,null,\"gu5ZGb\"],[45674523,null,false,null,null,null,\"EB3TEf\"],[45773628,null,true,null,null,null,\"BjJdxb\"],[45449442,null,true,null,null,null,\"dsKk4d\"],[45788620,null,true,null,null,null,\"h5BYjc\"],[45741355,null,true,null,null,null,\"l9Tv3e\"],[45815772,null,true,null,null,null,\"AiR0Db\"],[45728287,null,true,null,null,null,\"uafElc\"],[45459555,null,false,null,null,null,\"Imeoqb\"],[45449440,null,false,null,null,null,\"j9nUqf\"],[45786094,null,true,null,null,null,\"RU5eB\"],[45734162,null,true,null,null,null,\"oQBWLd\"],[45449471,null,null,null,\"default\",null,\"Ammqqf\"],[45726389,null,true,null,null,null,\"aMBCvc\"],[45702737,null,true,null,null,null,\"pcLlld\"],[45739488,null,false,null,null,null,\"VaCY3d\"],[45734163,null,true,null,null,null,\"T74Ilb\"],[45612748,null,false,null,null,null,\"fdXYmb\"],[45738613,null,false,null,null,null,\"mHT8Be\"],[45671281,null,false,null,null,null,\"TQUxrf\"],[45823449,null,true,null,null,null,\"Uwy9Df\"],[45449443,null,false,null,null,null,\"wvKxS\"],[45830711,null,false,null,null,null,\"EMC88b\"],[45449450,null,false,null,null,null,\"PTNaKe\"],[45795459,null,false,null,null,null,\"T0LQ0d\"],[45681401,null,false,null,null,null,\"aj6iDb\"],[45752829,null,false,null,null,null,\"Fajj6c\"],[45801909,3000,null,null,null,null,\"K6BlHd\"],[45734079,null,false,null,null,null,\"vCPH2e\"],[45449446,null,true,null,null,null,\"ktxJzc\"],[45449468,null,null,null,\"variant3\",null,\"BUEcUe\"],[45747617,null,true,null,null,null,\"SV187c\"],[45628378,null,true,null,null,null,\"hRRuzd\"],[45662552,null,true,null,null,null,\"epuB3d\"],[45733437,null,true,null,null,null,\"qvuKo\"]],\"CAMSIR0Y4c2IEJn+BOmHrBAKAArapfAECsy6BpO1F+ixBM2mGw\\u003d\\u003d\"]]]","UUFaWc":"%.@.null,1000,2]","Vvafkd":false,"Yllh3e":"%.@.1789170656149361,130343851,3643200718]","aAofAd":"%.@.[[[\"Solutions \\u0026 technology\",null,[[[\"AI \\u0026 Machine Learning\",\"/blog/products/ai-machine-learning\"],[\"API Management\",\"/blog/products/api-management\"],[\"Application Development\",\"/blog/products/application-development\"],[\"Application Modernization\",\"/blog/products/application-modernization\"],[\"Chrome Enterprise\",\"/blog/products/chrome-enterprise\"],[\"Compute\",\"/blog/products/compute\"],[\"Containers \\u0026 Kubernetes\",\"/blog/products/containers-kubernetes\"],[\"Data Analytics\",\"/blog/products/data-analytics\"],[\"Databases\",\"/blog/products/databases\"],[\"DevOps \\u0026 SRE\",\"/blog/products/devops-sre\"],[\"Maps \\u0026 Geospatial\",\"/blog/topics/maps-geospatial\"],[\"Security\",null,[[[\"Security \\u0026 Identity\",\"/blog/products/identity-security\"],[\"Threat Intelligence\",\"/blog/topics/threat-intelligence\"]]]],[\"Infrastructure\",\"/blog/products/infrastructure\"],[\"Infrastructure Modernization\",\"/blog/products/infrastructure-modernization\"],[\"Networking\",\"/blog/products/networking\"],[\"Productivity \\u0026 Collaboration\",\"/blog/products/productivity-collaboration\"],[\"SAP on Google Cloud\",\"/blog/products/sap-google-cloud\"],[\"Storage \\u0026 Data Transfer\",\"/blog/products/storage-data-transfer\"],[\"Sustainability\",\"/blog/topics/sustainability\"]]]],[\"Ecosystem\",null,[[[\"IT Leaders\",\"/transform\"],[\"Industries\",null,[[[\"Financial Services\",\"/blog/topics/financial-services\"],[\"Healthcare \\u0026 Life Sciences\",\"/blog/topics/healthcare-life-sciences\"],[\"Manufacturing\",\"/blog/topics/manufacturing\"],[\"Media \\u0026 Entertainment\",\"/blog/products/media-entertainment\"],[\"Public Sector\",\"/blog/topics/public-sector\"],[\"Retail\",\"/blog/topics/retail\"],[\"Supply Chain\",\"/blog/topics/supply-chain-logistics\"],[\"Telecommunications\",\"/blog/topics/telecommunications\"]]]],[\"Partners\",\"/blog/topics/partners\"],[\"Startups \\u0026 SMB\",\"/blog/topics/startups\"],[\"Training \\u0026 Certifications\",\"/blog/topics/training-certifications\"],[\"Inside Google Cloud\",\"/blog/topics/inside-google-cloud\"],[\"Google Cloud Next \\u0026 Events\",\"/blog/topics/google-cloud-next\"],[\"Google Cloud Consulting\",\"/blog/topics/consulting\"],[\"Google Maps Platform\",\"https://mapsplatform.google.com/resources/blog/\"],[\"Google Workspace\",\"https://workspace.google.com/blog\"]]]],[\"Developers \\u0026 Practitioners\",\"/blog/topics/developers-practitioners\"],[\"Transform with Google Cloud\",\"/transform\"]]],[[\"de\",[[[\"Neuigkeiten\",\"/blog/de/topics/whats-new/aktuelles-auf-dem-google-cloud-blog\"],[\"Lösungen \\u0026 Technologien\",null,[[[\"Anwendungsentwicklung\",\"/blog/de/products/application-development\"],[\"Anwendungsmodernisierung\",\"/blog/de/products/anwendungsmodernisierung\"],[\"API-Verwaltung\",\"/blog/de/products/api-management\"],[\"Chrome Enterprise\",\"/blog/de/products/chrome-enterprise\"],[\"Computing\",\"/blog/de/products/compute\"],[\"Containers \\u0026 Kubernetes\",\"/blog/de/products/containers-kubernetes\"],[\"Datenanalysen\",\"/blog/de/products/data-analytics\"],[\"Datenbanken\",\"/blog/de/products/databases\"],[\"DevOps \\u0026 SRE\",\"/blog/de/products/devops-sre\"],[\"Infrastruktur\",\"/blog/de/products/infrastructure\"],[\"KI \\u0026 Machine Learning\",\"/blog/de/products/ai-machine-learning\"],[\"Maps \\u0026 Geospatial\",\"/blog/de/topics/maps-geospatial\"],[\"Modernisierung der Infrastruktur\",\"/blog/de/products/modernisierung-der-infrastruktur\"],[\"Nachhaltigkeit\",\"/blog/de/topics/nachhaltigkeit\"],[\"Netzwerk\",\"/blog/de/products/networking\"],[\"Produktivität und Zusammenarbeit\",\"/blog/de/products/produktivitaet-und-kollaboration\"],[\"SAP in Google Cloud\",\"/blog/de/products/sap-google-cloud\"],[\"Sicherheit \\u0026 Identität\",\"/blog/de/products/identity-security\"],[\"Speicher und Datentransfer\",\"/blog/de/products/storage-data-transfer\"]]]],[\"Ökosystem\",null,[[[\"IT Leader\",\"/transform/de\"],[\"Industrien\",null,[[[\"Behörden und öffentlicher Sektor\",\"/blog/de/topics/public-sector\"],[\"Einzelhandel\",\"/blog/de/topics/retail\"],[\"Fertigung\",\"/blog/de/topics/fertigung\"],[\"Finanzdienstleistungen\",\"/blog/de/topics/financial-services\"],[\"Gesundheitswesen und Biowissenschaften\",\"/blog/de/topics/healthcare-life-sciences\"],[\"Lieferkette und Logistik\",\"/blog/de/topics/lieferkette-und-logistik\"],[\"Medien und Unterhaltung\",\"/blog/de/products/media-entertainment\"],[\"Telekommunikation\",\"/blog/de/topics/telecommunications\"]]]],[\"Entwickler*innen \\u0026 Fachkräfte\",\"/blog/de/topics/developers-practitioners\"],[\"Google Cloud Next \\u0026 Events\",\"/blog/de/topics/events\"],[\"Google Maps Platform\",\"/blog/de/products/maps-platform\"],[\"Google Workspace\",\"https://workspace.google.com/blog/de\"],[\"Inside Google Cloud\",\"/blog/de/topics/inside-google-cloud\"],[\"Kunden\",\"/blog/de/topics/kunden\"],[\"Partner\",\"/blog/de/topics/partners\"],[\"Start-ups und KMU\",\"/blog/de/topics/startups\"],[\"Training und Zertifizierung\",\"/blog/de/topics/training-certifications\"]]]],[\"Transformation mit Google Cloud\",\"/transform/de\"]]]],[\"en\",[[[\"Solutions \\u0026 technology\",null,[[[\"AI \\u0026 Machine Learning\",\"/blog/products/ai-machine-learning\"],[\"API Management\",\"/blog/products/api-management\"],[\"Application Development\",\"/blog/products/application-development\"],[\"Application Modernization\",\"/blog/products/application-modernization\"],[\"Chrome Enterprise\",\"/blog/products/chrome-enterprise\"],[\"Compute\",\"/blog/products/compute\"],[\"Containers \\u0026 Kubernetes\",\"/blog/products/containers-kubernetes\"],[\"Data Analytics\",\"/blog/products/data-analytics\"],[\"Databases\",\"/blog/products/databases\"],[\"DevOps \\u0026 SRE\",\"/blog/products/devops-sre\"],[\"Maps \\u0026 Geospatial\",\"/blog/topics/maps-geospatial\"],[\"Security\",null,[[[\"Security \\u0026 Identity\",\"/blog/products/identity-security\"],[\"Threat Intelligence\",\"/blog/topics/threat-intelligence\"]]]],[\"Infrastructure\",\"/blog/products/infrastructure\"],[\"Infrastructure Modernization\",\"/blog/products/infrastructure-modernization\"],[\"Networking\",\"/blog/products/networking\"],[\"Productivity \\u0026 Collaboration\",\"/blog/products/productivity-collaboration\"],[\"SAP on Google Cloud\",\"/blog/products/sap-google-cloud\"],[\"Storage \\u0026 Data Transfer\",\"/blog/products/storage-data-transfer\"],[\"Sustainability\",\"/blog/topics/sustainability\"]]]],[\"Ecosystem\",null,[[[\"IT Leaders\",\"/transform\"],[\"Industries\",null,[[[\"Financial Services\",\"/blog/topics/financial-services\"],[\"Healthcare \\u0026 Life Sciences\",\"/blog/topics/healthcare-life-sciences\"],[\"Manufacturing\",\"/blog/topics/manufacturing\"],[\"Media \\u0026 Entertainment\",\"/blog/products/media-entertainment\"],[\"Public Sector\",\"/blog/topics/public-sector\"],[\"Retail\",\"/blog/topics/retail\"],[\"Supply Chain\",\"/blog/topics/supply-chain-logistics\"],[\"Telecommunications\",\"/blog/topics/telecommunications\"]]]],[\"Partners\",\"/blog/topics/partners\"],[\"Startups \\u0026 SMB\",\"/blog/topics/startups\"],[\"Training \\u0026 Certifications\",\"/blog/topics/training-certifications\"],[\"Inside Google Cloud\",\"/blog/topics/inside-google-cloud\"],[\"Google Cloud Next \\u0026 Events\",\"/blog/topics/google-cloud-next\"],[\"Google Cloud Consulting\",\"/blog/topics/consulting\"],[\"Google Maps Platform\",\"https://mapsplatform.google.com/resources/blog/\"],[\"Google Workspace\",\"https://workspace.google.com/blog\"]]]],[\"Developers \\u0026 Practitioners\",\"/blog/topics/developers-practitioners\"],[\"Transform with Google Cloud\",\"/transform\"]]]],[\"fr\",[[[\"Les tendances\",\"/blog/fr/topics/les-tendances/quelles-sont-les-nouveautes-de-google-cloud\"],[\"Solutions et Technologie\",null,[[[\"Analyse de données\",\"/blog/fr/products/analyse-de-donnees/\"],[\"Bases de données\",\"/blog/fr/products/databases\"],[\"Calcul\",\"/blog/fr/products/calcul/\"],[\"Chrome Entreprise\",\"/blog/fr/products/chrome-enterprise/\"],[\"Conteneurs et Kubernetes\",\"/blog/fr/products/conteneurs-et-kubernetes/\"],[\"Développement d\u0027Applications\",\"/blog/fr/products/application-development\"],[\"Développement durable\",\"/blog/fr/topics/developpement-durable\"],[\"DevOps et ingénierie SRE\",\"/blog/fr/products/devops-sre\"],[\"Gestion des API\",\"/blog/fr/products/api-management\"],[\"IA et Machine Learning\",\"/blog/fr/products/ai-machine-learning\"],[\"Infrastructure\",\"/blog/fr/products/infrastructure\"],[\"Maps et Géospatial\",\"/blog/fr/topics/maps-geospatial\"],[\"Modernisation d\u0027Applications\",\"/blog/fr/products/modernisation-dapplications/\"],[\"Modernisation d\u0027Infrastructure\",\"/blog/fr/products/modernisation-dinfrastructure/\"],[\"Networking\",\"/blog/fr/products/networking\"],[\"Productivité et Collaboration\",\"/blog/fr/products/productivite-et-collaboration\"],[\"SAP sur Google Cloud\",\"/blog/fr/products/sap-google-cloud\"],[\"Sécurité et Identité\",\"/blog/fr/products/identity-security\"],[\"Stockage et transfert de données\",\"/blog/fr/products/storage-data-transfer\"]]]],[\"Écosystème\",null,[[[\"Responsables IT\",\"/transform/fr\"],[\"Industries\",null,[[[\"Commerce\",\"/blog/fr/topics/retail\"],[\"Manufacturing\",\"/blog/fr/topics/manufacturing\"],[\"Médias et Divertissement\",\"/blog/fr/products/media-entertainment\"],[\"Santé\",\"/blog/fr/topics/healthcare-life-sciences\"],[\"Secteur Public\",\"/blog/fr/topics/public-sector\"],[\"Services Financiers\",\"/blog/fr/topics/financial-services\"],[\"Supply Chain\",\"/blog/fr/topics/supply-chain/\"],[\"Telecommunications\",\"/blog/fr/topics/telecommunications\"]]]],[\"Clients\",\"/blog/fr/topics/clients/\"],[\"Développeurs et professionnels\",\"/blog/fr/topics/developers-practitioners\"],[\"Formations et certifications\",\"/blog/fr/topics/training-certifications\"],[\"Google Cloud Next et Événements\",\"/blog/fr/topics/evenements\"],[\"Google Maps Platform\",\"/blog/fr/products/maps-platform\"],[\"Google Workspace\",\"https://workspace.google.com/blog/fr\"],[\"Inside Google Cloud\",\"/blog/fr/topics/inside-google-cloud\"],[\"Partenaires\",\"/blog/fr/topics/partners\"],[\"Start-ups et PME\",\"/blog/fr/topics/startups\"]]]],[\"Transformer avec Google Cloud\",\"/transform/fr\"]]]],[\"ja\",[[[\"ソリューションとテクノロジー\",null,[[[\"AI \\u0026 機械学習\",\"/blog/ja/products/ai-machine-learning\"],[\"API 管理\",\"/blog/ja/products/api-management\"],[\"アプリケーション開発\",\"/blog/ja/products/application-development\"],[\"アプリケーション モダナイゼーション\",\"/blog/ja/products/application-modernization\"],[\"Chrome Enterprise\",\"/blog/ja/products/chrome-enterprise\"],[\"コンピューティング\",\"/blog/ja/products/compute\"],[\"Containers \\u0026 Kubernetes\",\"/blog/ja/products/containers-kubernetes\"],[\"データ分析\",\"/blog/ja/products/data-analytics\"],[\"データベース\",\"/blog/ja/products/databases\"],[\"DevOps \\u0026 SRE\",\"/blog/ja/products/devops-sre\"],[\"Maps \\u0026 Geospatial\",\"/blog/ja/products/maps-platform\"],[\"セキュリティ\",null,[[[\"セキュリティ \\u0026 アイデンティティ\",\"/blog/ja/products/identity-security\"],[\"脅威インテリジェンス\",\"/blog/ja/topics/threat-intelligence\"]]]],[\"インフラストラクチャ\",\"/blog/ja/products/infrastructure\"],[\"インフラ モダナイゼーション\",\"/blog/ja/products/infrastructure-modernization\"],[\"ネットワーキング\",\"/blog/ja/products/networking\"],[\"生産性とコラボレーション\",\"/blog/ja/products/productivity-collaboration\"],[\"Google Cloud での SAP\",\"/blog/ja/products/sap-google-cloud\"],[\"ストレージとデータ転送\",\"/blog/ja/products/storage-data-transfer\"],[\"サステナビリティ\",\"/blog/ja/topics/sustainability\"]]]],[\"エコシステム\",null,[[[\"ITリーダー\",\"/transform/ja\"],[\"業種\",null,[[[\"金融サービス\",\"/blog/ja/topics/financial-services\"],[\"ヘルスケア、ライフ サイエンス\",\"/blog/ja/topics/healthcare-life-sciences\"],[\"製造\",\"/blog/ja/topics/manufacturing\"],[\"メディア、エンターテイメント\",\"/blog/ja/products/media-entertainment\"],[\"公共部門\",\"/blog/ja/topics/public-sector\"],[\"小売業\",\"/blog/ja/topics/retail\"],[\"サプライ チェーン\",\"/blog/ja/topics/supply-chain-logistics\"],[\"通信\",\"/blog/ja/topics/telecommunications\"]]]],[\"顧客事例\",\"/blog/ja/topics/customers\"],[\"パートナー\",\"/blog/ja/topics/partners\"],[\"スタートアップ \\u0026 SMB\",\"/blog/ja/topics/startups\"],[\"トレーニングと認定\",\"/blog/ja/topics/training-certifications\"],[\"Inside Google Cloud\",\"/blog/ja/topics/inside-google-cloud\"],[\"Google Cloud Next と イベント\",\"/blog/ja/topics/google-cloud-next\"],[\"Google Maps Platform\",\"/blog/ja/products/maps-platform\"],[\"Google Workspace\",\"https://workspace.google.com/blog/ja\"]]]],[\"デベロッパー\",\"/blog/ja/topics/developers-practitioners\"],[\"Transform with Google Cloud\",\"/transform/ja\"]]]],[\"ko\",[[[\"솔루션 및 기술\",null,[[[\"AI 및 머신러닝\",\"/blog/ko/products/ai-machine-learning\"],[\"API 관리\",\"/blog/ko/products/api-management\"],[\"애플리케이션 개발\",\"/blog/ko/products/application-development\"],[\"애플리케이션 현대화\",\"/blog/ko/products/application-modernization\"],[\"Chrome Enterprise\",\"/blog/products/chrome-enterprise\"],[\"컴퓨팅\",\"/blog/ko/products/compute\"],[\"컨테이너 \\u0026 Kubernetes\",\"/blog/ko/products/containers-kubernetes\"],[\"데이터 분석\",\"/blog/ko/products/data-analytics\"],[\"데이터베이스\",\"/blog/ko/products/databases\"],[\"DevOps 및 SRE\",\"/blog/ko/products/devops-sre\"],[\"Maps \\u0026 Geospatial\",\"/blog/ko/products/maps-platform\"],[\"보안\",null,[[[\"보안 \\u0026 아이덴티티\",\"/blog/ko/products/identity-security\"],[\"위협 인텔리전스\",\"/blog/ko/topics/threat-intelligence\"]]]],[\"인프라\",\"/blog/ko/products/infrastructure\"],[\"Infrastructure Modernization\",\"/blog/ko/products/infrastructure-modernization\"],[\"네트워킹\",\"/blog/ko/products/networking\"],[\"생산성 및 공동작업\",\"/blog/ko/products/productivity-collaboration\"],[\"SAP on Google Cloud\",\"/blog/ko/products/sap-google-cloud\"],[\"스토리지 및 데이터 전송\",\"/blog/ko/products/storage-data-transfer\"],[\"지속가능성\",\"/blog/ko/topics/sustainability\"]]]],[\"에코시스템\",null,[[[\"IT Leaders\",\"/transform/ko\"],[\"업종\",null,[[[\"금융 서비스\",\"/blog/ko/topics/financial-services\"],[\"의료 및 생명과학\",\"/blog/ko/topics/healthcare-life-sciences\"],[\"제조업\",\"/blog/ko/topics/manufacturing\"],[\"미디어 및 엔터테인먼트\",\"/blog/ko/products/media-entertainment\"],[\"공공부문\",\"/blog/ko/topics/public-sector\"],[\"소매업\",\"/blog/ko/topics/retail\"],[\"공급망\",\"/blog/topics/supply-chain-logistics\"],[\"통신\",\"/blog/ko/topics/telecommunications\"]]]],[\"고객 사례\",\"/blog/ko/topics/customers\"],[\"파트너\",\"/blog/ko/topics/partners\"],[\"스타트업 \\u0026 SMB\",\"/blog/ko/topics/startups\"],[\"교육 \\u0026 인증\",\"/blog/ko/topics/training-certifications\"],[\"Inside Google Cloud\",\"/blog/ko/topics/inside-google-cloud\"],[\"Google Cloud Next 및 이벤트\",\"/blog/ko/topics/google-cloud-next\"],[\"Google Maps Platform\",\"/blog/ko/products/maps-platform\"],[\"Google Workspace\",\"https://workspace.google.com/blog/ko\"]]]],[\"개발 및 IT운영\",\"/blog/ko/topics/developers-practitioners\"],[\"Google Cloud와 함께 하는 디지털 혁신\",\"/transform/ko\"]]]]],[[\"de\",[[[\"Products \\u0026 technology\",null,[[[\"AI \\u0026 Machine Learning\",\"/blog/p-t/ai-machine-learning\"],[\"API Management\",\"/blog/api-management\"],[\"Applied engineering\",\"/blog/products-technology/applied-engineering\"],[\"Developer tools\",\"/blog/developer-tools\"],[\"Business intelligence (BI)\",\"/blog/business-intelligence-bi\"],[\"Chrome Enterprise\",\"/blog/chrome-enterprise\"],[\"Compute\",\"/blog/compute\"],[\"Containers \\u0026 Kubernetes\",\"/blog/containers-kubernetes\"],[\"Data analytics\",\"/blog/data-analytics\"],[\"Databases\",\"/blog/databases\"],[\"DevOps\",\"/blog/devops\"],[\"Distributed cloud\",\"/blog/distributed-cloud\"],[\"Hybrid \\u0026 multicloud\",\"/blog/hybrid-multicloud/\"],[\"Management tools\",\"/blog/management-tools\"],[\"Maps \\u0026 geospatial\",\"/blog/maps-geospatial\"],[\"Migration\",\"/blog/migration\"],[\"Networking\",\"/blog/networking\"],[\"SAP on Google Cloud\",\"/blog/sap-google-cloud\"],[\"Security\",\"/blog/security\"],[\"Sovereignty \\u0026 compliance\",\"/blog/sovereignty-compliance\"],[\"SRE\",\"/blog/site-reliability-engineering-sre\"],[\"Storage\",\"/blog/storage\"],[\"Threat Intelligence\",\"/blog/threat-intelligence\"]]],[\"See all product news\",\"Stay informed on all Cloud product announcements\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)\",\"#2F3793\"],7],[\"Learning\",null,[[[\"Cloud architecture\",\"/blog/cloud-architecture\"],[\"IT leaders\",\"/blog/it-leaders\"],[\"Training \\u0026 certifications\",\"/blog/training-certifications\"]]],[\"Explore learning\",\"Develop your cloud skills and enhance your expertise\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"#004E41\"]],[\"Developers\",\"/blog/developers-practitioners\"],[\"Customers \\u0026 partners\",null,[[[\"Customer stories\",\"/blog/customer-stories\"],[\"Financial services\",\"/blog/financial-services\"],[\"Gaming\",\"/blog/gaming\"],[\"Healthcare \\u0026 life sciences\",\"/blog/healthcare-life-sciences\"],[\"Manufacturing\",\"/blog/manufacturing\"],[\"Media \\u0026 entertainment\",\"/blog/media-entertainment\"],[\"Partners\",\"/blog/partners\"],[\"Public sector\",\"/blog/public-sector\"],[\"Retail\",\"/blog/retail\"],[\"Startups\",\"/blog/startups\"],[\"Supply chain \\u0026 logistics\",\"/blog/supply-chain-logistics\"],[\"Telecommunications\",\"/blog/telecommunications\"]]],[\"Explore customers \\u0026 partners\",\"Learn how we work with organizations to transform industries\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(251, 188, 4, 0.2) 0%, rgba(242, 153, 0, 0.2) 50.64%, rgba(251, 188, 4, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(251, 188, 4, 0.3) 0%, rgba(242, 153, 0, 0.3) 50.64%, rgba(251, 188, 4, 0.3) 101.28%)\",\"#202124\"]],[\"Inside Google Cloud\",null,[[[\"Company news\",\"/blog/company-news\"],[\"Data centers \\u0026 regions\",\"/blog/data-centers-and-regions\"],[\"Events\",\"/blog/events\"],[\"Consulting\",\"/blog/google-cloud-consulting\"],[\"Google Cloud Next\",\"/blog/google-cloud-next\"],[\"Sustainability\",\"/blog/sustainability\"],[\"Systems\",\"/blog/systems\"]]],[\"Explore Inside Google Cloud\",\"Explore the latest Google Cloud news and events\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(254, 63, 60, 0.2) 0%, rgba(255, 110, 178, 0.2) 51.13%, rgba(254, 63, 60, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(254, 63, 60, 0.3) 0%, rgba(255, 110, 178, 0.3) 51.13%, rgba(254, 63, 60, 0.3) 101.28%)\",\"#7D0304\"]]]]],[\"en\",[[[\"Products \\u0026 technology\",null,[[[\"AI \\u0026 Machine Learning\",\"/blog/p-t/ai-machine-learning\"],[\"API Management\",\"/blog/api-management\"],[\"Applied engineering\",\"/blog/products-technology/applied-engineering\"],[\"Developer tools\",\"/blog/developer-tools\"],[\"Business intelligence (BI)\",\"/blog/business-intelligence-bi\"],[\"Chrome Enterprise\",\"/blog/chrome-enterprise\"],[\"Compute\",\"/blog/compute\"],[\"Containers \\u0026 Kubernetes\",\"/blog/containers-kubernetes\"],[\"Data analytics\",\"/blog/data-analytics\"],[\"Databases\",\"/blog/databases\"],[\"DevOps\",\"/blog/devops\"],[\"Distributed cloud\",\"/blog/distributed-cloud\"],[\"Hybrid \\u0026 multicloud\",\"/blog/hybrid-multicloud/\"],[\"Management tools\",\"/blog/management-tools\"],[\"Maps \\u0026 geospatial\",\"/blog/maps-geospatial\"],[\"Migration\",\"/blog/migration\"],[\"Networking\",\"/blog/networking\"],[\"SAP on Google Cloud\",\"/blog/sap-google-cloud\"],[\"Security\",\"/blog/security\"],[\"Sovereignty \\u0026 compliance\",\"/blog/sovereignty-compliance\"],[\"SRE\",\"/blog/site-reliability-engineering-sre\"],[\"Storage\",\"/blog/storage\"],[\"Threat Intelligence\",\"/blog/threat-intelligence\"]]],[\"See all product news\",\"Stay informed on all Cloud product announcements\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)\",\"#2F3793\"],7],[\"Learning\",null,[[[\"Cloud architecture\",\"/blog/cloud-architecture\"],[\"IT leaders\",\"/blog/it-leaders\"],[\"Training \\u0026 certifications\",\"/blog/training-certifications\"]]],[\"Explore learning\",\"Develop your cloud skills and enhance your expertise\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"#004E41\"]],[\"Developers\",\"/blog/developers-practitioners\"],[\"Customers \\u0026 partners\",null,[[[\"Customer stories\",\"/blog/customer-stories\"],[\"Financial services\",\"/blog/financial-services\"],[\"Gaming\",\"/blog/gaming\"],[\"Healthcare \\u0026 life sciences\",\"/blog/healthcare-life-sciences\"],[\"Manufacturing\",\"/blog/manufacturing\"],[\"Media \\u0026 entertainment\",\"/blog/media-entertainment\"],[\"Partners\",\"/blog/partners\"],[\"Public sector\",\"/blog/public-sector\"],[\"Retail\",\"/blog/retail\"],[\"Startups\",\"/blog/startups\"],[\"Supply chain \\u0026 logistics\",\"/blog/supply-chain-logistics\"],[\"Telecommunications\",\"/blog/telecommunications\"]]],[\"Explore customers \\u0026 partners\",\"Learn how we work with organizations to transform industries\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(251, 188, 4, 0.2) 0%, rgba(242, 153, 0, 0.2) 50.64%, rgba(251, 188, 4, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(251, 188, 4, 0.3) 0%, rgba(242, 153, 0, 0.3) 50.64%, rgba(251, 188, 4, 0.3) 101.28%)\",\"#202124\"]],[\"Inside Google Cloud\",null,[[[\"Company news\",\"/blog/company-news\"],[\"Data centers \\u0026 regions\",\"/blog/data-centers-and-regions\"],[\"Events\",\"/blog/events\"],[\"Consulting\",\"/blog/google-cloud-consulting\"],[\"Google Cloud Next\",\"/blog/google-cloud-next\"],[\"Sustainability\",\"/blog/sustainability\"],[\"Systems\",\"/blog/systems\"]]],[\"Explore Inside Google Cloud\",\"Explore the latest Google Cloud news and events\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(254, 63, 60, 0.2) 0%, rgba(255, 110, 178, 0.2) 51.13%, rgba(254, 63, 60, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(254, 63, 60, 0.3) 0%, rgba(255, 110, 178, 0.3) 51.13%, rgba(254, 63, 60, 0.3) 101.28%)\",\"#7D0304\"]]]]],[\"fr\",[[[\"Products \\u0026 technology\",null,[[[\"AI \\u0026 Machine Learning\",\"/blog/p-t/ai-machine-learning\"],[\"API Management\",\"/blog/api-management\"],[\"Applied engineering\",\"/blog/products-technology/applied-engineering\"],[\"Developer tools\",\"/blog/developer-tools\"],[\"Business intelligence (BI)\",\"/blog/business-intelligence-bi\"],[\"Chrome Enterprise\",\"/blog/chrome-enterprise\"],[\"Compute\",\"/blog/compute\"],[\"Containers \\u0026 Kubernetes\",\"/blog/containers-kubernetes\"],[\"Data analytics\",\"/blog/data-analytics\"],[\"Databases\",\"/blog/databases\"],[\"DevOps\",\"/blog/devops\"],[\"Distributed cloud\",\"/blog/distributed-cloud\"],[\"Hybrid \\u0026 multicloud\",\"/blog/hybrid-multicloud/\"],[\"Management tools\",\"/blog/management-tools\"],[\"Maps \\u0026 geospatial\",\"/blog/maps-geospatial\"],[\"Migration\",\"/blog/migration\"],[\"Networking\",\"/blog/networking\"],[\"SAP on Google Cloud\",\"/blog/sap-google-cloud\"],[\"Security\",\"/blog/security\"],[\"Sovereignty \\u0026 compliance\",\"/blog/sovereignty-compliance\"],[\"SRE\",\"/blog/site-reliability-engineering-sre\"],[\"Storage\",\"/blog/storage\"],[\"Threat Intelligence\",\"/blog/threat-intelligence\"]]],[\"See all product news\",\"Stay informed on all Cloud product announcements\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)\",\"#2F3793\"],7],[\"Learning\",null,[[[\"Cloud architecture\",\"/blog/cloud-architecture\"],[\"IT leaders\",\"/blog/it-leaders\"],[\"Training \\u0026 certifications\",\"/blog/training-certifications\"]]],[\"Explore learning\",\"Develop your cloud skills and enhance your expertise\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"#004E41\"]],[\"Developers\",\"/blog/developers-practitioners\"],[\"Customers \\u0026 partners\",null,[[[\"Customer stories\",\"/blog/customer-stories\"],[\"Financial services\",\"/blog/financial-services\"],[\"Gaming\",\"/blog/gaming\"],[\"Healthcare \\u0026 life sciences\",\"/blog/healthcare-life-sciences\"],[\"Manufacturing\",\"/blog/manufacturing\"],[\"Media \\u0026 entertainment\",\"/blog/media-entertainment\"],[\"Partners\",\"/blog/partners\"],[\"Public sector\",\"/blog/public-sector\"],[\"Retail\",\"/blog/retail\"],[\"Startups\",\"/blog/startups\"],[\"Supply chain \\u0026 logistics\",\"/blog/supply-chain-logistics\"],[\"Telecommunications\",\"/blog/telecommunications\"]]],[\"Explore customers \\u0026 partners\",\"Learn how we work with organizations to transform industries\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(251, 188, 4, 0.2) 0%, rgba(242, 153, 0, 0.2) 50.64%, rgba(251, 188, 4, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(251, 188, 4, 0.3) 0%, rgba(242, 153, 0, 0.3) 50.64%, rgba(251, 188, 4, 0.3) 101.28%)\",\"#202124\"]],[\"Inside Google Cloud\",null,[[[\"Company news\",\"/blog/company-news\"],[\"Data centers \\u0026 regions\",\"/blog/data-centers-and-regions\"],[\"Events\",\"/blog/events\"],[\"Consulting\",\"/blog/google-cloud-consulting\"],[\"Google Cloud Next\",\"/blog/google-cloud-next\"],[\"Sustainability\",\"/blog/sustainability\"],[\"Systems\",\"/blog/systems\"]]],[\"Explore Inside Google Cloud\",\"Explore the latest Google Cloud news and events\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(254, 63, 60, 0.2) 0%, rgba(255, 110, 178, 0.2) 51.13%, rgba(254, 63, 60, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(254, 63, 60, 0.3) 0%, rgba(255, 110, 178, 0.3) 51.13%, rgba(254, 63, 60, 0.3) 101.28%)\",\"#7D0304\"]]]]],[\"ja\",[[[\"Products \\u0026 technology\",null,[[[\"AI \\u0026 Machine Learning\",\"/blog/p-t/ai-machine-learning\"],[\"API Management\",\"/blog/api-management\"],[\"Applied engineering\",\"/blog/products-technology/applied-engineering\"],[\"Developer tools\",\"/blog/developer-tools\"],[\"Business intelligence (BI)\",\"/blog/business-intelligence-bi\"],[\"Chrome Enterprise\",\"/blog/chrome-enterprise\"],[\"Compute\",\"/blog/compute\"],[\"Containers \\u0026 Kubernetes\",\"/blog/containers-kubernetes\"],[\"Data analytics\",\"/blog/data-analytics\"],[\"Databases\",\"/blog/databases\"],[\"DevOps\",\"/blog/devops\"],[\"Distributed cloud\",\"/blog/distributed-cloud\"],[\"Hybrid \\u0026 multicloud\",\"/blog/hybrid-multicloud/\"],[\"Management tools\",\"/blog/management-tools\"],[\"Maps \\u0026 geospatial\",\"/blog/maps-geospatial\"],[\"Migration\",\"/blog/migration\"],[\"Networking\",\"/blog/networking\"],[\"SAP on Google Cloud\",\"/blog/sap-google-cloud\"],[\"Security\",\"/blog/security\"],[\"Sovereignty \\u0026 compliance\",\"/blog/sovereignty-compliance\"],[\"SRE\",\"/blog/site-reliability-engineering-sre\"],[\"Storage\",\"/blog/storage\"],[\"Threat Intelligence\",\"/blog/threat-intelligence\"]]],[\"See all product news\",\"Stay informed on all Cloud product announcements\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)\",\"#2F3793\"],7],[\"Learning\",null,[[[\"Cloud architecture\",\"/blog/cloud-architecture\"],[\"IT leaders\",\"/blog/it-leaders\"],[\"Training \\u0026 certifications\",\"/blog/training-certifications\"]]],[\"Explore learning\",\"Develop your cloud skills and enhance your expertise\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"#004E41\"]],[\"Developers\",\"/blog/developers-practitioners\"],[\"Customers \\u0026 partners\",null,[[[\"Customer stories\",\"/blog/customer-stories\"],[\"Financial services\",\"/blog/financial-services\"],[\"Gaming\",\"/blog/gaming\"],[\"Healthcare \\u0026 life sciences\",\"/blog/healthcare-life-sciences\"],[\"Manufacturing\",\"/blog/manufacturing\"],[\"Media \\u0026 entertainment\",\"/blog/media-entertainment\"],[\"Partners\",\"/blog/partners\"],[\"Public sector\",\"/blog/public-sector\"],[\"Retail\",\"/blog/retail\"],[\"Startups\",\"/blog/startups\"],[\"Supply chain \\u0026 logistics\",\"/blog/supply-chain-logistics\"],[\"Telecommunications\",\"/blog/telecommunications\"]]],[\"Explore customers \\u0026 partners\",\"Learn how we work with organizations to transform industries\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(251, 188, 4, 0.2) 0%, rgba(242, 153, 0, 0.2) 50.64%, rgba(251, 188, 4, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(251, 188, 4, 0.3) 0%, rgba(242, 153, 0, 0.3) 50.64%, rgba(251, 188, 4, 0.3) 101.28%)\",\"#202124\"]],[\"Inside Google Cloud\",null,[[[\"Company news\",\"/blog/company-news\"],[\"Data centers \\u0026 regions\",\"/blog/data-centers-and-regions\"],[\"Events\",\"/blog/events\"],[\"Consulting\",\"/blog/google-cloud-consulting\"],[\"Google Cloud Next\",\"/blog/google-cloud-next\"],[\"Sustainability\",\"/blog/sustainability\"],[\"Systems\",\"/blog/systems\"]]],[\"Explore Inside Google Cloud\",\"Explore the latest Google Cloud news and events\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(254, 63, 60, 0.2) 0%, rgba(255, 110, 178, 0.2) 51.13%, rgba(254, 63, 60, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(254, 63, 60, 0.3) 0%, rgba(255, 110, 178, 0.3) 51.13%, rgba(254, 63, 60, 0.3) 101.28%)\",\"#7D0304\"]]]]],[\"ko\",[[[\"Products \\u0026 technology\",null,[[[\"AI \\u0026 Machine Learning\",\"/blog/p-t/ai-machine-learning\"],[\"API Management\",\"/blog/api-management\"],[\"Applied engineering\",\"/blog/products-technology/applied-engineering\"],[\"Developer tools\",\"/blog/developer-tools\"],[\"Business intelligence (BI)\",\"/blog/business-intelligence-bi\"],[\"Chrome Enterprise\",\"/blog/chrome-enterprise\"],[\"Compute\",\"/blog/compute\"],[\"Containers \\u0026 Kubernetes\",\"/blog/containers-kubernetes\"],[\"Data analytics\",\"/blog/data-analytics\"],[\"Databases\",\"/blog/databases\"],[\"DevOps\",\"/blog/devops\"],[\"Distributed cloud\",\"/blog/distributed-cloud\"],[\"Hybrid \\u0026 multicloud\",\"/blog/hybrid-multicloud/\"],[\"Management tools\",\"/blog/management-tools\"],[\"Maps \\u0026 geospatial\",\"/blog/maps-geospatial\"],[\"Migration\",\"/blog/migration\"],[\"Networking\",\"/blog/networking\"],[\"SAP on Google Cloud\",\"/blog/sap-google-cloud\"],[\"Security\",\"/blog/security\"],[\"Sovereignty \\u0026 compliance\",\"/blog/sovereignty-compliance\"],[\"SRE\",\"/blog/site-reliability-engineering-sre\"],[\"Storage\",\"/blog/storage\"],[\"Threat Intelligence\",\"/blog/threat-intelligence\"]]],[\"See all product news\",\"Stay informed on all Cloud product announcements\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)\",\"#2F3793\"],7],[\"Learning\",null,[[[\"Cloud architecture\",\"/blog/cloud-architecture\"],[\"IT leaders\",\"/blog/it-leaders\"],[\"Training \\u0026 certifications\",\"/blog/training-certifications\"]]],[\"Explore learning\",\"Develop your cloud skills and enhance your expertise\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"#004E41\"]],[\"Developers\",\"/blog/developers-practitioners\"],[\"Customers \\u0026 partners\",null,[[[\"Customer stories\",\"/blog/customer-stories\"],[\"Financial services\",\"/blog/financial-services\"],[\"Gaming\",\"/blog/gaming\"],[\"Healthcare \\u0026 life sciences\",\"/blog/healthcare-life-sciences\"],[\"Manufacturing\",\"/blog/manufacturing\"],[\"Media \\u0026 entertainment\",\"/blog/media-entertainment\"],[\"Partners\",\"/blog/partners\"],[\"Public sector\",\"/blog/public-sector\"],[\"Retail\",\"/blog/retail\"],[\"Startups\",\"/blog/startups\"],[\"Supply chain \\u0026 logistics\",\"/blog/supply-chain-logistics\"],[\"Telecommunications\",\"/blog/telecommunications\"]]],[\"Explore customers \\u0026 partners\",\"Learn how we work with organizations to transform industries\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(251, 188, 4, 0.2) 0%, rgba(242, 153, 0, 0.2) 50.64%, rgba(251, 188, 4, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(251, 188, 4, 0.3) 0%, rgba(242, 153, 0, 0.3) 50.64%, rgba(251, 188, 4, 0.3) 101.28%)\",\"#202124\"]],[\"Inside Google Cloud\",null,[[[\"Company news\",\"/blog/company-news\"],[\"Data centers \\u0026 regions\",\"/blog/data-centers-and-regions\"],[\"Events\",\"/blog/events\"],[\"Consulting\",\"/blog/google-cloud-consulting\"],[\"Google Cloud Next\",\"/blog/google-cloud-next\"],[\"Sustainability\",\"/blog/sustainability\"],[\"Systems\",\"/blog/systems\"]]],[\"Explore Inside Google Cloud\",\"Explore the latest Google Cloud news and events\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(254, 63, 60, 0.2) 0%, rgba(255, 110, 178, 0.2) 51.13%, rgba(254, 63, 60, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(254, 63, 60, 0.3) 0%, rgba(255, 110, 178, 0.3) 51.13%, rgba(254, 63, 60, 0.3) 101.28%)\",\"#7D0304\"]]]]]]]","b5W2zf":"default_TransformBlogUi","cfb2h":"boq_cloudx-web-blog-uiserver_20260909.00_p0","eptZe":"/blog/_/TransformBlogUi/","f8POw":"%.@.[106242883,1714247,97656895,98225186,106088277,105763536,105993283,1706538,48554501,106551328,97493656,106565539,105901316,106058902,105739268,97493634,106032101,97535270,98073360,97442195,97785984,48489830,97656881,105993269,97493642,105739254,97493620,98073330,97442181,97785970],null,null,null,null,true]","gGcLoe":false,"hsFLT":"%.@.null,10,3]","iCzhFc":false,"nQyAE":{"PTNaKe":"false","RU5eB":"true","MHNqU":"false","ktxJzc":"true","BUEcUe":"variant3","aY24Yb":"false","y6g6ie":"false","kG32O":"false","oSympb":"false","IKu6Ue":"false","BJOcCd":"false","bdhplb":"true","Jpadob":"true","gu5ZGb":"false","EB3TEf":"false","h5BYjc":"true","j9nUqf":"false","pcLlld":"true","wvKxS":"false","EMC88b":"false","srequb":"false","PvHIUc":"true","JxMqJf":"false","V8lsGf":"projects/gweb-cloud-chat-prod/locations/us/apps/45c2d323-204d-48d3-92fc-2687b7b83fc2/deployments/067abe51-ab2d-4b92-9bd7-da8449eb9242","KrIGrd":"true","tfPPe":"true","Ekaiab":"false","m0uJSe":"false","PvZHQ":"true","s7Z7Ld":"false","RIvlU":"true","lsuui":"true","HGJqie":"true","u4N7kf":"false","NCoWOd":"false","jzW39e":"true","dsKk4d":"true","l9Tv3e":"true","uafElc":"true","VaCY3d":"false","fdXYmb":"false","TQUxrf":"false","Uwy9Df":"true","K6BlHd":"3000","vCPH2e":"false","epuB3d":"true","BotAtd":"true"},"p9hQne":"https://www.gstatic.com/_/boq-cloudx-web-blog/_/r/","qwAQke":"TransformBlogUi","rtQCxc":420,"u4g7r":"%.@.null,1,3]","vJ2GOe":"%.@.null,[[\"de\",[[[\"Themen\",null,[[[\"Product Announcements\",\"/blog/de/product-announcements\"],[\"KI \\u0026 Machine Learning\",\"/blog/de/ai-machine-learning\"],[\"Produktivität und Kollaboration\",\"/blog/de/productivity-collaboration\"],[\"Identität und Sicherheit\",\"/blog/de/identity-and-security\"],[\"Future of Work\",\"/blog/de/future-of-work\"],[\"Hybrides Arbeiten\",\"/blog/de/hybrid-work\"],[\"Kundenreferenzen\",\"/blog/de/customer-stories\"],[\"Entwickler*innen und Fachkräfte\",\"/blog/de/developers-practitioners\"],[\"Partner\",\"/blog/de/partners\"],[\"Events\",\"/blog/de/events\"],[\"Öffentlicher Sektor\",\"/blog/de/public-sector\"]]]],[\"Produktneuigkeiten\",null,[[[\"Gmail\",\"/blog/de/gmail\"],[\"Meet\",\"/blog/de/meet\"],[\"Chat\",\"/blog/de/chat-spaces\"],[\"Drive\",\"/blog/de/drive\"],[\"Docs\",\"/blog/de/docs\"],[\"Sheets\",\"/blog/de/sheets\"]]]]]]],[\"en\",[[[\"Topics\",null,[[[\"Product Announcements\",\"/blog/product-announcements\"],[\"AI and Machine Learning\",\"/blog/ai-machine-learning\"],[\"Productivity and Collaboration\",\"/blog/productivity-collaboration\"],[\"Identity and Security\",\"/blog/identity-and-security\"],[\"Future of Work\",\"/blog/future-of-work\"],[\"Hybrid Work\",\"/blog/hybrid-work\"],[\"Customer Stories\",\"/blog/customer-stories\"],[\"Developers and Practitioners\",\"/blog/developers-practitioners\"],[\"Partners\",\"/blog/partners\"],[\"Events\",\"/blog/events\"],[\"Public Sector\",\"/blog/public-sector\"]]]],[\"Product News\",null,[[[\"Gmail\",\"/blog/gmail\"],[\"Meet\",\"/blog/meet\"],[\"Chat\",\"/blog/chat-spaces\"],[\"Drive\",\"/blog/drive\"],[\"Docs\",\"/blog/docs\"],[\"Sheets\",\"/blog/sheets\"],[\"Vids\",\"/blog/google-vids\"]]]]]]],[\"fr\",[[[\"Thèmes\",null,[[[\"Product Announcements\",\"/blog/fr/product-announcements\"],[\"IA et Machine Learning\",\"/blog/fr/ai-machine-learning\"],[\"Productivité et Collaboration\",\"/blog/fr/productivity-collaboration\"],[\"Identité et Sécurité\",\"/blog/fr/identity-and-security\"],[\"L\u0027avenir du travail\",\"/blog/fr/future-of-work\"],[\"Travail hybride\",\"/blog/fr/hybrid-work\"],[\"Témoignages Clients\",\"/blog/fr/customer-stories\"],[\"Développeurs et professionnels\",\"/blog/fr/developers-practitioners\"],[\"Partenaires\",\"/blog/fr/partners\"],[\"Événements\",\"/blog/fr/events\"],[\"Secteur Public\",\"/blog/fr/public-sector\"]]]],[\"Annonces sur les produits\",null,[[[\"Gmail\",\"/blog/fr/gmail\"],[\"Meet\",\"/blog/fr/meet\"],[\"Chat\",\"/blog/fr/chat-spaces\"],[\"Drive\",\"/blog/fr/drive\"],[\"Docs\",\"/blog/fr/docs\"],[\"Sheets\",\"/blog/fr/sheets\"]]]]]]],[\"ja\",[[[\"トピック\",null,[[[\"プロダクトの発表\",\"/blog/ja/product-announcements\"],[\"AI \\u0026 機械学習\",\"/blog/ja/ai-machine-learning\"],[\"生産性とコラボレーション\",\"/blog/ja/productivity-collaboration\"],[\"アイデンティティとセキュリティ\",\"/blog/ja/identity-and-security\"],[\"未来の働き方\",\"/blog/ja/future-of-work\"],[\"ハイブリッドな働き方\",\"/blog/ja/hybrid-work\"],[\"顧客事例\",\"/blog/ja/customer-stories\"],[\"デベロッパー\",\"/blog/ja/developers-practitioners\"],[\"パートナー\",\"/blog/ja/partners\"],[\"イベント\",\"/blog/ja/events\"],[\"公共部門\",\"/blog/ja/public-sector\"]]]],[\"製品ニュース\",null,[[[\"Gmail\",\"/blog/ja/gmail\"],[\"Meet\",\"/blog/ja/meet\"],[\"Chat\",\"/blog/ja/chat-spaces\"],[\"ドライブ\",\"/blog/ja/drive\"],[\"ドキュメント\",\"/blog/ja/docs\"],[\"スプレッドシート\",\"/blog/ja/sheets\"]]]]]]],[\"ko\",[[[\"주제\",null,[[[\"제품 업데이트\",\"/blog/ko/product-announcements\"],[\"AI 및 머신러닝\",\"/blog/ko/ai-machine-learning\"],[\"생산성 및 공동작업\",\"/blog/ko/productivity-collaboration\"],[\"인증 및 보안 \",\"/blog/ko/identity-and-security\"],[\"Future of Work\",\"/blog/ko/future-of-work\"],[\"하이브리드 업무\",\"/blog/ko/hybrid-work\"],[\"고객 사례\",\"/blog/ko/customer-stories\"],[\"개발자\",\"/blog/ko/developers-practitioners\"],[\"파트너\",\"/blog/ko/partners\"],[\"이벤트\",\"/blog/ko/events\"],[\"공공부문\",\"/blog/ko/public-sector\"]]]],[\"제품 소식\",null,[[[\"Gmail\",\"/blog/ko/gmail\"],[\"Meet\",\"/blog/ko/meet\"],[\"Chat\",\"/blog/ko/chat-spaces\"],[\"Drive\",\"/blog/ko/drive\"],[\"Docs\",\"/blog/ko/docs\"],[\"Sheets\",\"/blog/ko/sheets\"]]]]]]]],null,[[\"de\",[[[[[\"Enthaltene Anwendungen\",\"https://workspace.google.com/intl/de/features/\",[[[\"Gmail\",\"https://workspace.google.com/intl/de/products/gmail/\"],[\"Meet\",\"https://workspace.google.com/intl/de/products/meet/\"],[\"Chat\",\"https://workspace.google.com/intl/de/products/chat/\"],[\"Kalender\",\"https://workspace.google.com/intl/de/products/calendar/\"],[\"Drive\",\"https://workspace.google.com/intl/de/products/drive/\"],[\"Docs\",\"https://workspace.google.com/intl/de/products/docs/\"],[\"Tabellen\",\"https://workspace.google.com/intl/de/products/sheets/\"],[\"Präsentationen\",\"https://workspace.google.com/intl/de/products/slides/\"],[\"Formulare\",\"https://workspace.google.com/intl/de/products/forms/\"],[\"Sites\",\"https://workspace.google.com/intl/de/products/sites/\"],[\"Notizen\",\"https://workspace.google.com/intl/de/products/keep/\"],[\"Apps Script\",\"https://workspace.google.com/intl/de/products/apps-script/\"]]]]]],[[[\"Sicherheit und Verwaltung\",\"https://workspace.google.com/intl/de/security/\",[[[\"Admin\",\"https://workspace.google.com/intl/de/products/admin/\"],[\"Endpunkt\",\"https://workspace.google.com/intl/de/products/admin/endpoint/\"],[\"Vault\",\"https://workspace.google.com/intl/de/products/vault/\"],[\"Work Insights\",\"https://workspace.google.com/intl/de/products/workinsights/\"]]]],[\"Lösungen\",\"https://workspace.google.com/intl/de/solutions/\",[[[\"Neue Unternehmen\",\"https://workspace.google.com/intl/de/business/new-business/\"],[\"Kleine Unternehmen\",\"https://workspace.google.com/intl/de/business/small-business/\"],[\"Große Unternehmen\",\"https://workspace.google.com/intl/de/enterprise/\"],[\"Education\",\"https://edu.google.com/products/workspace-for-education/education-fundamentals/\"],[\"Nonprofit-Organisationen\",\"https://www.google.com/nonprofits/\"]]]]]],[[[\"Preise\",\"https://workspace.google.com/intl/de/pricing.html\",[[[\"Version auswählen\",\"https://workspace.google.com/intl/de/pricing.html\"]]]],[\"Add-ons\",null,[[[\"Gemini für Workspace\",\"https://workspace.google.com/solutions/ai/\"],[\"Google Voice\",\"https://workspace.google.com/intl/de/products/voice/\"],[\"AppSheet\",\"https://about.appsheet.com/home/\"]]]]]],[[[\"Ressourcen\",\"https://workspace.google.com/intl/de/faq/\",[[[\"Telearbeit\",\"https://workspace.google.com/intl/de/resources/working-remotely/\"],[\"Sicherheit\",\"https://workspace.google.com/intl/de/security/\"],[\"FAQ\",\"https://workspace.google.com/intl/de/faq/\"],[\"Partner\",\"https://cloud.withgoogle.com/partners/?products\\u003dGOOGLE_WORKSPACE_PRODUCT\"],[\"Google Workspace Marketplace\",\"https://workspace.google.com/marketplace/?hl\\u003dde\"],[\"Integrationen\",\"https://workspace.google.com/intl/de/integrations/\"],[\"Schulung \\u0026 Zertifizierung\",\"https://workspace.google.com/intl/de/training/\"]]]]]],[[[\"Schulung und Support\",\"https://workspace.google.com/intl/de/support/\",[[[\"Admin-Hilfe\",\"https://support.google.com/a/#topic\\u003d29157\"],[\"Einrichtungs- und Bereitstellungscenter\",\"https://support.google.com/a/answer/6365252?hl\\u003dde\"],[\"Schulungscenter für Nutzer\",\"https://support.google.com/a/users?hl\\u003dde#topic\\u003d11499463\"],[\"Foren für Administratoren\",\"https://productforums.google.com/forum/#!forum/apps\"],[\"Google Workspace-Dashboard\",\"https://www.google.com/appsstatus\"],[\"Presse\",\"https://cloud.google.com/press/\"]]]],[\"Mehr von Google\",null,[[[\"Google Cloud\",\"https://cloud.google.com/?hl\\u003dde\"],[\"Chrome Enterprise\",\"https://chromeenterprise.google/\"],[\"Google Lösungen für Unternehmen\",\"https://www.google.com/intl/de/services/\"],[\"Google Ads\",\"https://ads.google.com/home/?subid\\u003dde-de-xs-aw-z-a-dyn-accounts_wsft!o3\"],[\"Business Messages\",\"https://businessmessages.google/\"],[\"An Nutzerstudien teilnehmen\",\"https://userresearch.google.com/?reserved\\u003d0\\u0026utm_source\\u003dgsuite.google.com\\u0026Q_Language\\u003den\\u0026utm_medium\\u003down_srch\\u0026utm_campaign\\u003dGlobal-GSuite\\u0026utm_term\\u003d0\\u0026utm_content\\u003d0\\u0026productTag\\u003dgafw\\u0026campaignDate\\u003dnov18\\u0026pType\\u003dbprof\\u0026referral_code\\u003dug422768\"]]]]]]]]],[\"en\",[[[[[\"Included applications\",\"https://workspace.google.com/features/\",[[[\"Gmail\",\"https://workspace.google.com/products/gmail/\"],[\"Meet\",\"https://workspace.google.com/products/meet/\"],[\"Chat\",\"https://workspace.google.com/products/chat/\"],[\"Calendar\",\"https://workspace.google.com/products/calendar/\"],[\"Drive\",\"https://workspace.google.com/products/drive/\"],[\"Docs\",\"https://workspace.google.com/products/docs/\"],[\"Sheets\",\"https://workspace.google.com/products/sheets/\"],[\"Slides\",\"https://workspace.google.com/products/slides/\"],[\"Forms\",\"https://workspace.google.com/products/forms/\"],[\"Sites\",\"https://workspace.google.com/products/sites/\"],[\"Keep\",\"https://workspace.google.com/products/keep/\"],[\"Apps Script\",\"https://workspace.google.com/products/apps-script/\"]]]]]],[[[\"Security and management\",\"https://workspace.google.com/security/\",[[[\"Admin\",\"https://workspace.google.com/products/admin/\"],[\"Endpoint\",\"https://workspace.google.com/products/admin/endpoint/\"],[\"Vault\",\"https://workspace.google.com/products/vault/\"],[\"Work Insights\",\"https://workspace.google.com/products/workinsights/\"]]]],[\"Solutions\",\"https://workspace.google.com/solutions/\",[[[\"New Business\",\"https://workspace.google.com/business/new-business/\"],[\"Small Business\",\"https://workspace.google.com/business/small-business/\"],[\"Enterprise\",\"https://workspace.google.com/enterprise/\"],[\"Retail\",\"https://workspace.google.com/industries/retail/\"],[\"Manufacturing\",\"https://workspace.google.com/industries/manufacturing/\"],[\"Professional Services\",\"https://workspace.google.com/industries/professional-services/\"],[\"Technology\",\"https://workspace.google.com/industries/technology/\"],[\"Healthcare\",\"https://workspace.google.com/industries/healthcare/\"],[\"Government\",\"https://workspace.google.com/industries/government/\"],[\"Education\",\"https://edu.google.com/products/workspace-for-education/education-fundamentals/\"],[\"Nonprofits\",\"https://www.google.com/nonprofits/\"],[\"Artificial Intelligence\",\"https://workspace.google.com/solutions/ai/\"]]]]]],[[[\"Pricing\",\"https://workspace.google.com/pricing.html\",[[[\"Compare pricing plans\",\"https://workspace.google.com/pricing.html\"]]]],[\"Add-ons\",null,[[[\"Gemini for Workspace\",\"https://workspace.google.com/solutions/ai/\"],[\"Meet hardware\",\"https://workspace.google.com/products/meet-hardware/\"],[\"Google Voice\",\"https://workspace.google.com/products/voice/\"],[\"AppSheet\",\"https://about.appsheet.com/home/\"]]]]]],[[[\"Resources\",\"https://workspace.google.com/faq/\",[[[\"Working remotely\",\"https://workspace.google.com/resources/working-remotely/\"],[\"Security\",\"https://workspace.google.com/security/\"],[\"Customer Stories\",\"https://workspace.google.com/customers/\"],[\"FAQs\",\"https://workspace.google.com/faq/\"],[\"Partners\",\"https://cloud.withgoogle.com/partners/?products\\u003dGOOGLE_WORKSPACE_PRODUCT\"],[\"Marketplace\",\"https://workspace.google.com/marketplace/\"],[\"Integrations\",\"https://workspace.google.com/integrations/\"],[\"Training \\u0026 Certification\",\"https://workspace.google.com/training/\"],[\"Refer Google Workspace\",\"https://workspace.google.com/landing/partners/referral/\"]]]]]],[[[\"Learning and support\",\"https://workspace.google.com/support/\",[[[\"Admin Help\",\"https://support.google.com/a/#topic\\u003d29157\"],[\"Setup and Deployment Center\",\"https://support.google.com/a/answer/6365252\"],[\"Learning Center for Users\",\"https://support.google.com/a/users#topic\\u003d11499463\"],[\"Forums for Admins\",\"https://productforums.google.com/forum/#!forum/apps\"],[\"Google Workspace Dashboard\",\"https://www.google.com/appsstatus\"],[\"What\u0027s New in Google Workspace\",\"https://workspace.google.com/whatsnew/\"],[\"Find a Google Workspace Partner\",\"https://www.google.com/a/partnersearch/\"],[\"Join the community of IT Admins\",\"https://www.googlecloudcommunity.com/gc/Google-Workspace/ct-p/google-workspace\"],[\"Press\",\"https://cloud.google.com/press/\"]]]],[\"More from Google\",null,[[[\"Google Cloud\",\"https://cloud.google.com/\"],[\"Google Domains\",\"https://domains.google.com/about/?utm_source\\u003dgoogleappsforwork\\u0026utm_medium\\u003dreferral\\u0026utm_campaign\\u003dgooglepromos\"],[\"Chrome Enterprise\",\"https://chromeenterprise.google/\"],[\"Google Business Solutions\",\"https://www.google.com/services/\"],[\"Google Ads\",\"https://ads.google.com/home/?subid\\u003dus-en-xs-aw-z-a-dyn-accounts_wsft!o3\"],[\"Business Messages\",\"https://businessmessages.google/\"],[\"Join User Studies\",\"https://userresearch.google.com/?reserved\\u003d0\\u0026utm_source\\u003dgsuite.google.com\\u0026Q_Language\\u003den\\u0026utm_medium\\u003down_srch\\u0026utm_campaign\\u003dGlobal-GSuite\\u0026utm_term\\u003d0\\u0026utm_content\\u003d0\\u0026productTag\\u003dgafw\\u0026campaignDate\\u003dnov18\\u0026pType\\u003dbprof\\u0026referral_code\\u003dug422768\"]]]]]]]]],[\"fr\",[[[[[\"Enthaltene Anwendungen\",\"https://workspace.google.com/intl/fr/features/\",[[[\"Gmail\",\"https://workspace.google.com/intl/fr/products/gmail/\"],[\"Meet\",\"https://workspace.google.com/intl/fr/products/meet/\"],[\"Chat\",\"https://workspace.google.com/intl/fr/products/chat/\"],[\"Google Agenda\",\"https://workspace.google.com/intl/fr/products/calendar/\"],[\"Drive\",\"https://workspace.google.com/intl/fr/products/drive/\"],[\"Docs\",\"https://workspace.google.com/intl/fr/products/docs/\"],[\"Sheets\",\"https://workspace.google.com/intl/fr/products/sheets/\"],[\"Slides\",\"https://workspace.google.com/intl/fr/products/slides/\"],[\"Forms\",\"https://workspace.google.com/intl/fr/products/forms/\"],[\"Google Sites\",\"https://workspace.google.com/intl/fr/products/sites/\"],[\"Keep\",\"https://workspace.google.com/intl/fr/products/keep/\"],[\"Apps Script\",\"https://workspace.google.com/intl/fr/products/apps-script/\"]]]]]],[[[\"Sécurité et gestion\",\"https://workspace.google.com/intl/fr/security/\",[[[\"Console d\u0027administration\",\"https://workspace.google.com/intl/fr/products/admin/\"],[\"Point de terminaison\",\"https://workspace.google.com/intl/fr/products/admin/endpoint/\"],[\"Vault\",\"https://workspace.google.com/intl/fr/products/vault/\"],[\"Work Insights\",\"https://workspace.google.com/intl/fr/products/workinsights/\"]]]],[\"Solutions\",\"https://workspace.google.com/intl/fr/solutions/\",[[[\"Nouvelle entreprise\",\"https://workspace.google.com/intl/fr/business/new-business/\"],[\"PME\",\"https://workspace.google.com/intl/fr/business/small-business/\"],[\"Grande entreprise\",\"https://workspace.google.com/intl/fr/enterprise/\"],[\"Education\",\"https://edu.google.com/products/workspace-for-education/education-fundamentals/\"],[\"Associations\",\"https://www.google.com/nonprofits/\"]]]]]],[[[\"Tarifs\",\"https://workspace.google.com/intl/fr/pricing.html\",[[[\"Choisissez une édition\",\"https://workspace.google.com/intl/fr/pricing.html\"]]]],[\"Add-ons\",null,[[[\"Gemini pour Workspace\",\"https://workspace.google.com/solutions/ai/\"],[\"Matériel Meet\",\"https://workspace.google.com/intl/fr/products/meet-hardware/\"],[\"Google Voice\",\"https://workspace.google.com/intl/fr/products/voice/\"],[\"AppSheet\",\"https://about.appsheet.com/home/\"]]]]]],[[[\"Ressources\",\"https://workspace.google.com/intl/fr/faq/\",[[[\"Travail à distance\",\"https://workspace.google.com/intl/fr/resources/working-remotely/\"],[\"Sécurité\",\"https://workspace.google.com/intl/fr/security/\"],[\"Questions fréquentes\",\"https://workspace.google.com/intl/fr/faq/\"],[\"Partenaires\",\"https://cloud.withgoogle.com/partners/?products\\u003dGOOGLE_WORKSPACE_PRODUCT\"],[\"Marketplace\",\"https://workspace.google.com/marketplace/?hl\\u003dfr\"],[\"Intégrations\",\"https://workspace.google.com/intl/fr/integrations/\"],[\"Formation et certification\",\"https://workspace.google.com/intl/fr/training/\"]]]]]],[[[\"Formation et assistance\",\"https://workspace.google.com/intl/fr/support/\",[[[\"Aide pour les administrateurs\",\"https://support.google.com/a/#topic\\u003d29157\"],[\"Centre de configuration et de déploiement\",\"https://support.google.com/a/answer/6365252?hl\\u003dfr\"],[\"Centre de formation pour les utilisateurs\",\"https://support.google.com/a/users?hl\\u003dfr#topic\\u003d11499463\"],[\"Forums pour les administrateurs\",\"https://productforums.google.com/forum/#!forum/apps\"],[\"Tableau de bord Google Workspace\",\"https://www.google.com/appsstatus#hl\\u003dfr\"],[\"Rechercher un partenaire Google Workspace\",\"https://www.google.com/a/partnersearch/?hl\\u003dfr#home\"],[\"Presse\",\"https://cloud.google.com/press/\"]]]],[\"Autres ressources Google\",null,[[[\"Google Cloud\",\"https://cloud.google.com/?hl\\u003dfr\"],[\"Chrome Enterprise\",\"https://chromeenterprise.google/\"],[\"Solutions d\u0027entreprise Google\",\"https://www.google.com/intl/fr/services/\"],[\"Google pour les Pros\",\"https://pourlespros.withgoogle.com/?utm_source\\u003dEngagement\\u0026utm_medium\\u003dep\\u0026utm_term\\u003dSMB\\u0026utm_content\\u003dFR%20Apps%20for%20work%20footert\\u0026utm_campaign\\u003dQ4_2015%20FR%20Apps%20for%20work%20footer\"],[\"Google Ads\",\"https://ads.google.com/home/?subid\\u003dfr-fr-xs-aw-z-a-dyn-accounts_wsft!o3\"],[\"Business Messages\",\"https://businessmessages.google/\"],[\"Participer aux études sur l\u0027expérience utilisateur\",\"https://userresearch.google.com/?reserved\\u003d0\\u0026utm_source\\u003dgsuite.google.com\\u0026Q_Language\\u003den\\u0026utm_medium\\u003down_srch\\u0026utm_campaign\\u003dGlobal-GSuite\\u0026utm_term\\u003d0\\u0026utm_content\\u003d0\\u0026productTag\\u003dgafw\\u0026campaignDate\\u003dnov18\\u0026pType\\u003dbprof\\u0026referral_code\\u003dug422768\"]]]]]]]]],[\"ja\",[[[[[\"ご利用いただけるアプリケーション\",\"https://workspace.google.com/intl/ja/features/\",[[[\"Gmail\",\"https://workspace.google.com/intl/ja/products/gmail/\"],[\"Meet\",\"https://workspace.google.com/intl/ja/products/meet/\"],[\"Chat\",\"https://workspace.google.com/intl/ja/products/chat/\"],[\"カレンダー\",\"https://workspace.google.com/intl/ja/products/calendar/\"],[\"ドライブ\",\"https://workspace.google.com/intl/ja/products/drive/\"],[\"ドキュメント\",\"https://workspace.google.com/intl/ja/products/docs/\"],[\"スプレッドシート\",\"https://workspace.google.com/intl/ja/products/sheets/\"],[\"スライド\",\"https://workspace.google.com/intl/ja/products/slides/\"],[\"フォーム\",\"https://workspace.google.com/intl/ja/products/forms/\"],[\"サイト\",\"https://workspace.google.com/intl/ja/products/sites/\"],[\"Keep\",\"https://workspace.google.com/intl/ja/products/keep/\"],[\"Apps Script\",\"https://workspace.google.com/intl/ja/products/apps-script/\"]]]]]],[[[\"セキュリティと管理\",\"https://workspace.google.com/intl/ja/security/\",[[[\"管理コンソール\",\"https://workspace.google.com/intl/ja/products/admin/\"],[\"エンドポイント\",\"https://workspace.google.com/intl/ja/products/admin/endpoint/\"],[\"Vault\",\"https://workspace.google.com/intl/ja/products/vault/\"],[\"Work Insights\",\"https://workspace.google.com/intl/ja/products/workinsights/\"]]]],[\"ソリューション\",\"https://workspace.google.com/intl/ja/solutions/\",[[[\"新規ビジネス\",\"https://workspace.google.com/intl/ja/business/new-business/\"],[\"小規模ビジネス\",\"https://workspace.google.com/intl/ja/business/small-business/\"],[\"大規模ビジネス\",\"https://workspace.google.com/intl/ja/enterprise/\"],[\"Education\",\"https://edu.google.com/intl/ja/products/workspace-for-education/education-fundamentals/\"],[\"非営利団体\",\"https://www.google.com/intl/ja/nonprofits/\"]]]]]],[[[\"料金\",\"https://workspace.google.com/intl/ja/pricing.html\",[[[\"エディションを選ぶ\",\"https://workspace.google.com/intl/ja/pricing.html\"]]]],[\"Add-ons\",null,[[[\"Gemini for Workspace\",\"https://workspace.google.com/solutions/ai/\"],[\"Meet ハードウェア\",\"https://workspace.google.com/intl/ja/products/meet-hardware/\"],[\"AppSheet\",\"https://about.appsheet.com/home/\"]]]]]],[[[\"関連情報\",\"https://workspace.google.com/intl/ja/faq/\",[[[\"リモートワーク\",\"https://workspace.google.com/intl/ja/resources/working-remotely/\"],[\"セキュリティ\",\"https://workspace.google.com/intl/ja/security/\"],[\"事例紹介\",\"https://workspace.google.com/intl/ja/customers/\"],[\"よくある質問\",\"https://workspace.google.com/intl/ja/faq/\"],[\"パートナー\",\"https://cloud.withgoogle.com/partners/?products\\u003dGOOGLE_WORKSPACE_PRODUCT\"],[\"Marketplace\",\"https://workspace.google.com/marketplace/?hl\\u003dja\"],[\"統合\",\"https://workspace.google.com/intl/ja/integrations/\"],[\"トレーニングと認定資格\",\"https://workspace.google.com/intl/ja/training/\"]]]]]],[[[\"学習とサポート\",\"https://workspace.google.com/intl/ja/support/\",[[[\"管理者用ヘルプ\",\"https://support.google.com/a/#topic\\u003d29157\"],[\"設定と導入のガイド\",\"https://support.google.com/a/answer/6365252?hl\\u003dja\"],[\"ユーザー向けラーニング センター\",\"https://support.google.com/a/users?hl\\u003dja#topic\\u003d11499463\"],[\"管理者向けフォーラム\",\"https://productforums.google.com/forum/#!forum/apps\"],[\"Google Workspace ステータス ダッシュボード\",\"https://www.google.com/appsstatus#hl\\u003dja\"],[\"Google Workspace パートナーを探す\",\"https://www.google.com/a/partnersearch/?hl\\u003dja#home\"],[\"プレスリリース\",\"https://cloud.google.com/press/?hl\\u003dja\"]]]],[\"その他の Google サービス\",null,[[[\"Google Cloud\",\"https://cloud.google.com/?hl\\u003dja\"],[\"Chrome Enterprise\",\"https://chromeenterprise.google/\"],[\"Google ビジネス ソリューション\",\"https://www.google.com/intl/ja/services/\"],[\"Google 広告\",\"https://ads.google.com/home/?subid\\u003dja-ja-xs-aw-z-a-dyn-accounts_wsft!o3\"],[\"Business Messages\",\"https://businessmessages.google/\"],[\"ユーザー調査に参加する\",\"https://userresearch.google.com/?reserved\\u003d0\\u0026utm_source\\u003dgsuite.google.com\\u0026Q_Language\\u003den\\u0026utm_medium\\u003down_srch\\u0026utm_campaign\\u003dGlobal-GSuite\\u0026utm_term\\u003d0\\u0026utm_content\\u003d0\\u0026productTag\\u003dgafw\\u0026campaignDate\\u003dnov18\\u0026pType\\u003dbprof\\u0026referral_code\\u003dug422768\"]]]]]]]]],[\"ko\",[[[[[\"포함된 애플리케이션\",\"https://workspace.google.com/intl/ko/features/\",[[[\"Gmail\",\"https://workspace.google.com/intl/ko/products/gmail/\"],[\"Meet\",\"https://workspace.google.com/intl/ko/products/meet/\"],[\"Chat\",\"https://workspace.google.com/intl/ko/products/chat/\"],[\"Calendar\",\"https://workspace.google.com/intl/ko/products/calendar/\"],[\"Drive\",\"https://workspace.google.com/intl/ko/products/drive/\"],[\"Docs\",\"https://workspace.google.com/intl/ko/products/docs/\"],[\"Sheets\",\"https://workspace.google.com/intl/ko/products/sheets/\"],[\"Slides\",\"https://workspace.google.com/intl/ko/products/slides/\"],[\"설문지\",\"https://workspace.google.com/intl/ko/products/forms/\"],[\"사이트 도구\",\"https://workspace.google.com/intl/ko/products/sites/\"],[\"Keep\",\"https://workspace.google.com/intl/ko/products/keep/\"],[\"Apps Script\",\"https://workspace.google.com/intl/ko/products/apps-script/\"]]]]]],[[[\"보안 및 관리\",\"https://workspace.google.com/intl/ko/security/\",[[[\"관리\",\"https://workspace.google.com/intl/ko/products/admin/\"],[\"엔드포인트\",\"https://workspace.google.com/intl/ko/products/admin/endpoint/\"],[\"Vault\",\"https://workspace.google.com/intl/ko/products/vault/\"],[\"Work Insights\",\"https://workspace.google.com/intl/ko/products/workinsights/\"]]]],[\"솔루션\",\"https://workspace.google.com/intl/ko/solutions/\",[[[\"신규 업체\",\"https://workspace.google.com/intl/ko/business/new-business/\"],[\"중소기업\",\"https://workspace.google.com/intl/ko/business/small-business/\"],[\"엔터프라이즈\",\"https://workspace.google.com/intl/ko/enterprise/\"],[\"Education\",\"https://edu.google.com/products/workspace-for-education/education-fundamentals/\"],[\"비영리단체\",\"https://www.google.com/nonprofits/\"]]]]]],[[[\"가격\",\"https://workspace.google.com/intl/ko/pricing.html\",[[[\"버전 선택\",\"https://workspace.google.com/intl/ko/pricing.html\"]]]],[\"Add-ons\",null,[[[\"Workspace를 위한 Gemini\",\"https://workspace.google.com/solutions/ai/\"],[\"AppSheet\",\"https://about.appsheet.com/home/\"]]]]]],[[[\"리소스\",\"https://workspace.google.com/intl/ko/faq/\",[[[\"원격 근무\",\"https://workspace.google.com/intl/ko/resources/working-remotely/\"],[\"보안\",\"https://workspace.google.com/intl/ko/security/\"],[\"FAQ\",\"https://workspace.google.com/intl/ko/faq/\"],[\"파트너\",\"https://cloud.withgoogle.com/partners/?products\\u003dGOOGLE_WORKSPACE_PRODUCT\"],[\"Marketplace\",\"https://workspace.google.com/marketplace/?hl\\u003dko\"],[\"통합\",\"https://workspace.google.com/intl/ko/integrations/\"],[\"교육 및 인증\",\"https://workspace.google.com/intl/ko/training/\"]]]]]],[[[\"학습 및 지원\",\"https://workspace.google.com/intl/ko/support/\",[[[\"관리자 도움말\",\"https://support.google.com/a/#topic\\u003d29157\"],[\"설치 및 배포 센터\",\"https://support.google.com/a/answer/6365252?hl\\u003dko\"],[\"사용자를 위한 학습 센터\",\"https://support.google.com/a/users?hl\\u003dko#topic\\u003d11499463\"],[\"관리자 포럼\",\"https://productforums.google.com/forum/#!forum/apps\"],[\"Google Workspace 대시보드\",\"https://www.google.com/appsstatus#hl\\u003dko\"],[\"Google Workspace 파트너 찾기\",\"https://www.google.com/a/partnersearch/?hl\\u003dko#home\"],[\"보도자료\",\"https://cloud.google.com/press/\"]]]],[\"Google의 다른 제품\",null,[[[\"Google Cloud\",\"https://cloud.google.com/?hl\\u003dko\"],[\"Chrome Enterprise\",\"https://chromeenterprise.google/\"],[\"Google 비즈니스 솔루션\",\"https://www.google.com/intl/ko_kr/business/\"],[\"Google Ads\",\"https://ads.google.com/home/?subid\\u003dkr-ko-xs-aw-z-a-dyn-accounts_wsft!o3\"],[\"Business Messages\",\"https://businessmessages.google/\"],[\"사용자 연구 참여\",\"https://userresearch.google.com/?reserved\\u003d0\\u0026utm_source\\u003dgsuite.google.com\\u0026Q_Language\\u003den\\u0026utm_medium\\u003down_srch\\u0026utm_campaign\\u003dGlobal-GSuite\\u0026utm_term\\u003d0\\u0026utm_content\\u003d0\\u0026productTag\\u003dgafw\\u0026campaignDate\\u003dnov18\\u0026pType\\u003dbprof\\u0026referral_code\\u003dug422768\"]]]]]]]]]],[[\"de\",[[[\"Product News\",null,[[[\"Product News\",\"/blog/product-announcements/\"],[\"Workspace with Gemini\",\"/blog/workspace-with-gemini\"],[\"Gemini app\",\"/blog/gemini-app\"],[\"NotebookLM\",\"/blog/notebooklm\"],[\"Meet\",\"/blog/meet\"],[\"Gmail\",\"/blog/gmail\"],[\"Chat\",\"/blog/chat-spaces\"],[\"Drive\",\"/blog/drive\"],[\"Docs\",\"/blog/docs\"],[\"Sheets\",\"/blog/sheets\"],[\"Slides\",\"/blog/slides\"],[\"Vids\",\"/blog/google-vids\"],[\"Calendar\",\"/blog/calendar\"]]],[\"Explore product news\",\"Stay informed on all Cloud product announcements\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)\",\"#2F3793\"],4],[\"Topics\",null,[[[\"Transforming work with AI\",\"/blog/transforming-work-with-ai\"],[\"Future of work\",\"/blog/future-of-work\"],[\"Security \\u0026 identity\",\"/blog/security-and-identity\"],[\"Enterprise-ready\",\"/blog/enterprise-ready\"],[\"Small business\",\"/blog/small-business\"],[\"Partners \\u0026 integrations\",\"/blog/partners-and-integrations\"]]],[\"Explore topics\",\"Get expert analysis on trends and workspace strategy\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(115, 186, 255, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"#004E41\"]],[\"Developers \\u0026 Prectitioner\",null,[[[\"Dev tools \\u0026 APIs\",\"/blog/dev-tools-and-apis\"],[\"Dev guides\",\"/blog/dev-guides\"]]],[\"Explore developers \\u0026 practitioners\",\"Learn how we work with organizations to transform industries\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(255, 122, 114, 0.2) 0%, rgba(251, 188, 4, 0.2) 50.64%, rgba(255, 233, 33, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(255, 122, 114, 0.3) 0%, rgba(251, 188, 4, 0.3) 50.64%, rgba(255, 233, 33, 0.3) 101.28%)\",\"#202124\"]],[\"Learning\",null,[[[\"Training\",\"/blog/training\"],[\"How-to guides\",\"/blog/how-to-guides\"],[\"Best practices\",\"/blog/best-practices\"]]],[\"Explore learning\",\"Develop your Workspace skills and enhance your expertise\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(147, 120, 255, 0.2) 0%, rgba(106, 100, 253, 0.2) 51.13%, rgba(62, 106, 240, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(147, 120, 255, 0.3) 0%, rgba(106, 100, 253, 0.3) 51.13%, rgba(62, 106, 240, 0.3) 101.28%)\",\"#4D1D9B\"]],[\"Customer stories\",null,[[[\"Public sector\",\"/blog/public-sector\"],[\"Financial services\",\"/blog/financial-services\"],[\"Healthcare \\u0026 life sciences\",\"/blog/healthcare-and-life-sciences\"],[\"Telco\",\"/blog/telco\"],[\"Retail\",\"/blog/retail\"],[\"Media \\u0026 entertainment\",\"/blog/media-entertainment\"],[\"Consumer packaged goods (CPG)\",\"/blog/consumer-packaged-goods-cpg\"],[\"Supply chain \\u0026 logistics\",\"/blog/supply-chain-and-logistics\"],[\"Professional services\",\"/blog/professional-services\"],[\"Technology\",\"/blog/technology\"],[\"Education\",\"/blog/education\"]]],[\"Explore customer stories\",\"See how we work with customers to transform businesses and industries\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)\",\"#2F3793\"]]]]],[\"en\",[[[\"Product News\",null,[[[\"Product News\",\"/blog/product-announcements/\"],[\"Workspace with Gemini\",\"/blog/workspace-with-gemini\"],[\"Gemini app\",\"/blog/gemini-app\"],[\"NotebookLM\",\"/blog/notebooklm\"],[\"Meet\",\"/blog/meet\"],[\"Gmail\",\"/blog/gmail\"],[\"Chat\",\"/blog/chat-spaces\"],[\"Drive\",\"/blog/drive\"],[\"Docs\",\"/blog/docs\"],[\"Sheets\",\"/blog/sheets\"],[\"Slides\",\"/blog/slides\"],[\"Vids\",\"/blog/google-vids\"],[\"Calendar\",\"/blog/calendar\"]]],[\"Explore product news\",\"Stay informed on all Cloud product announcements\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)\",\"#2F3793\"],4],[\"Topics\",null,[[[\"Transforming work with AI\",\"/blog/transforming-work-with-ai\"],[\"Future of work\",\"/blog/future-of-work\"],[\"Security \\u0026 identity\",\"/blog/security-and-identity\"],[\"Enterprise-ready\",\"/blog/enterprise-ready\"],[\"Small business\",\"/blog/small-business\"],[\"Partners \\u0026 integrations\",\"/blog/partners-and-integrations\"]]],[\"Explore topics\",\"Get expert analysis on trends and workspace strategy\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(115, 186, 255, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"#004E41\"]],[\"Developers \\u0026 Prectitioner\",null,[[[\"Dev tools \\u0026 APIs\",\"/blog/dev-tools-and-apis\"],[\"Dev guides\",\"/blog/dev-guides\"]]],[\"Explore developers \\u0026 practitioners\",\"Learn how we work with organizations to transform industries\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(255, 122, 114, 0.2) 0%, rgba(251, 188, 4, 0.2) 50.64%, rgba(255, 233, 33, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(255, 122, 114, 0.3) 0%, rgba(251, 188, 4, 0.3) 50.64%, rgba(255, 233, 33, 0.3) 101.28%)\",\"#202124\"]],[\"Learning\",null,[[[\"Training\",\"/blog/training\"],[\"How-to guides\",\"/blog/how-to-guides\"],[\"Best practices\",\"/blog/best-practices\"]]],[\"Explore learning\",\"Develop your Workspace skills and enhance your expertise\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(147, 120, 255, 0.2) 0%, rgba(106, 100, 253, 0.2) 51.13%, rgba(62, 106, 240, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(147, 120, 255, 0.3) 0%, rgba(106, 100, 253, 0.3) 51.13%, rgba(62, 106, 240, 0.3) 101.28%)\",\"#4D1D9B\"]],[\"Customer stories\",null,[[[\"Public sector\",\"/blog/public-sector\"],[\"Financial services\",\"/blog/financial-services\"],[\"Healthcare \\u0026 life sciences\",\"/blog/healthcare-and-life-sciences\"],[\"Telco\",\"/blog/telco\"],[\"Retail\",\"/blog/retail\"],[\"Media \\u0026 entertainment\",\"/blog/media-entertainment\"],[\"Consumer packaged goods (CPG)\",\"/blog/consumer-packaged-goods-cpg\"],[\"Supply chain \\u0026 logistics\",\"/blog/supply-chain-and-logistics\"],[\"Professional services\",\"/blog/professional-services\"],[\"Technology\",\"/blog/technology\"],[\"Education\",\"/blog/education\"]]],[\"Explore customer stories\",\"See how we work with customers to transform businesses and industries\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)\",\"#2F3793\"]]]]],[\"fr\",[[[\"Product News\",null,[[[\"Product News\",\"/blog/product-announcements/\"],[\"Workspace with Gemini\",\"/blog/workspace-with-gemini\"],[\"Gemini app\",\"/blog/gemini-app\"],[\"NotebookLM\",\"/blog/notebooklm\"],[\"Meet\",\"/blog/meet\"],[\"Gmail\",\"/blog/gmail\"],[\"Chat\",\"/blog/chat-spaces\"],[\"Drive\",\"/blog/drive\"],[\"Docs\",\"/blog/docs\"],[\"Sheets\",\"/blog/sheets\"],[\"Slides\",\"/blog/slides\"],[\"Vids\",\"/blog/google-vids\"],[\"Calendar\",\"/blog/calendar\"]]],[\"Explore product news\",\"Stay informed on all Cloud product announcements\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)\",\"#2F3793\"],4],[\"Topics\",null,[[[\"Transforming work with AI\",\"/blog/transforming-work-with-ai\"],[\"Future of work\",\"/blog/future-of-work\"],[\"Security \\u0026 identity\",\"/blog/security-and-identity\"],[\"Enterprise-ready\",\"/blog/enterprise-ready\"],[\"Small business\",\"/blog/small-business\"],[\"Partners \\u0026 integrations\",\"/blog/partners-and-integrations\"]]],[\"Explore topics\",\"Get expert analysis on trends and workspace strategy\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(115, 186, 255, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"#004E41\"]],[\"Developers \\u0026 Prectitioner\",null,[[[\"Dev tools \\u0026 APIs\",\"/blog/dev-tools-and-apis\"],[\"Dev guides\",\"/blog/dev-guides\"]]],[\"Explore developers \\u0026 practitioners\",\"Learn how we work with organizations to transform industries\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(255, 122, 114, 0.2) 0%, rgba(251, 188, 4, 0.2) 50.64%, rgba(255, 233, 33, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(255, 122, 114, 0.3) 0%, rgba(251, 188, 4, 0.3) 50.64%, rgba(255, 233, 33, 0.3) 101.28%)\",\"#202124\"]],[\"Learning\",null,[[[\"Training\",\"/blog/training\"],[\"How-to guides\",\"/blog/how-to-guides\"],[\"Best practices\",\"/blog/best-practices\"]]],[\"Explore learning\",\"Develop your Workspace skills and enhance your expertise\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(147, 120, 255, 0.2) 0%, rgba(106, 100, 253, 0.2) 51.13%, rgba(62, 106, 240, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(147, 120, 255, 0.3) 0%, rgba(106, 100, 253, 0.3) 51.13%, rgba(62, 106, 240, 0.3) 101.28%)\",\"#4D1D9B\"]],[\"Customer stories\",null,[[[\"Public sector\",\"/blog/public-sector\"],[\"Financial services\",\"/blog/financial-services\"],[\"Healthcare \\u0026 life sciences\",\"/blog/healthcare-and-life-sciences\"],[\"Telco\",\"/blog/telco\"],[\"Retail\",\"/blog/retail\"],[\"Media \\u0026 entertainment\",\"/blog/media-entertainment\"],[\"Consumer packaged goods (CPG)\",\"/blog/consumer-packaged-goods-cpg\"],[\"Supply chain \\u0026 logistics\",\"/blog/supply-chain-and-logistics\"],[\"Professional services\",\"/blog/professional-services\"],[\"Technology\",\"/blog/technology\"],[\"Education\",\"/blog/education\"]]],[\"Explore customer stories\",\"See how we work with customers to transform businesses and industries\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)\",\"#2F3793\"]]]]],[\"ja\",[[[\"Product News\",null,[[[\"Product News\",\"/blog/product-announcements/\"],[\"Workspace with Gemini\",\"/blog/workspace-with-gemini\"],[\"Gemini app\",\"/blog/gemini-app\"],[\"NotebookLM\",\"/blog/notebooklm\"],[\"Meet\",\"/blog/meet\"],[\"Gmail\",\"/blog/gmail\"],[\"Chat\",\"/blog/chat-spaces\"],[\"Drive\",\"/blog/drive\"],[\"Docs\",\"/blog/docs\"],[\"Sheets\",\"/blog/sheets\"],[\"Slides\",\"/blog/slides\"],[\"Vids\",\"/blog/google-vids\"],[\"Calendar\",\"/blog/calendar\"]]],[\"Explore product news\",\"Stay informed on all Cloud product announcements\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)\",\"#2F3793\"],4],[\"Topics\",null,[[[\"Transforming work with AI\",\"/blog/transforming-work-with-ai\"],[\"Future of work\",\"/blog/future-of-work\"],[\"Security \\u0026 identity\",\"/blog/security-and-identity\"],[\"Enterprise-ready\",\"/blog/enterprise-ready\"],[\"Small business\",\"/blog/small-business\"],[\"Partners \\u0026 integrations\",\"/blog/partners-and-integrations\"]]],[\"Explore topics\",\"Get expert analysis on trends and workspace strategy\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(115, 186, 255, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"#004E41\"]],[\"Developers \\u0026 Prectitioner\",null,[[[\"Dev tools \\u0026 APIs\",\"/blog/dev-tools-and-apis\"],[\"Dev guides\",\"/blog/dev-guides\"]]],[\"Explore developers \\u0026 practitioners\",\"Learn how we work with organizations to transform industries\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(255, 122, 114, 0.2) 0%, rgba(251, 188, 4, 0.2) 50.64%, rgba(255, 233, 33, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(255, 122, 114, 0.3) 0%, rgba(251, 188, 4, 0.3) 50.64%, rgba(255, 233, 33, 0.3) 101.28%)\",\"#202124\"]],[\"Learning\",null,[[[\"Training\",\"/blog/training\"],[\"How-to guides\",\"/blog/how-to-guides\"],[\"Best practices\",\"/blog/best-practices\"]]],[\"Explore learning\",\"Develop your Workspace skills and enhance your expertise\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(147, 120, 255, 0.2) 0%, rgba(106, 100, 253, 0.2) 51.13%, rgba(62, 106, 240, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(147, 120, 255, 0.3) 0%, rgba(106, 100, 253, 0.3) 51.13%, rgba(62, 106, 240, 0.3) 101.28%)\",\"#4D1D9B\"]],[\"Customer stories\",null,[[[\"Public sector\",\"/blog/public-sector\"],[\"Financial services\",\"/blog/financial-services\"],[\"Healthcare \\u0026 life sciences\",\"/blog/healthcare-and-life-sciences\"],[\"Telco\",\"/blog/telco\"],[\"Retail\",\"/blog/retail\"],[\"Media \\u0026 entertainment\",\"/blog/media-entertainment\"],[\"Consumer packaged goods (CPG)\",\"/blog/consumer-packaged-goods-cpg\"],[\"Supply chain \\u0026 logistics\",\"/blog/supply-chain-and-logistics\"],[\"Professional services\",\"/blog/professional-services\"],[\"Technology\",\"/blog/technology\"],[\"Education\",\"/blog/education\"]]],[\"Explore customer stories\",\"See how we work with customers to transform businesses and industries\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)\",\"#2F3793\"]]]]],[\"ko\",[[[\"Product News\",null,[[[\"Product News\",\"/blog/product-announcements/\"],[\"Workspace with Gemini\",\"/blog/workspace-with-gemini\"],[\"Gemini app\",\"/blog/gemini-app\"],[\"NotebookLM\",\"/blog/notebooklm\"],[\"Meet\",\"/blog/meet\"],[\"Gmail\",\"/blog/gmail\"],[\"Chat\",\"/blog/chat-spaces\"],[\"Drive\",\"/blog/drive\"],[\"Docs\",\"/blog/docs\"],[\"Sheets\",\"/blog/sheets\"],[\"Slides\",\"/blog/slides\"],[\"Vids\",\"/blog/google-vids\"],[\"Calendar\",\"/blog/calendar\"]]],[\"Explore product news\",\"Stay informed on all Cloud product announcements\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)\",\"#2F3793\"],4],[\"Topics\",null,[[[\"Transforming work with AI\",\"/blog/transforming-work-with-ai\"],[\"Future of work\",\"/blog/future-of-work\"],[\"Security \\u0026 identity\",\"/blog/security-and-identity\"],[\"Enterprise-ready\",\"/blog/enterprise-ready\"],[\"Small business\",\"/blog/small-business\"],[\"Partners \\u0026 integrations\",\"/blog/partners-and-integrations\"]]],[\"Explore topics\",\"Get expert analysis on trends and workspace strategy\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(115, 186, 255, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)\",\"#004E41\"]],[\"Developers \\u0026 Prectitioner\",null,[[[\"Dev tools \\u0026 APIs\",\"/blog/dev-tools-and-apis\"],[\"Dev guides\",\"/blog/dev-guides\"]]],[\"Explore developers \\u0026 practitioners\",\"Learn how we work with organizations to transform industries\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(255, 122, 114, 0.2) 0%, rgba(251, 188, 4, 0.2) 50.64%, rgba(255, 233, 33, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(255, 122, 114, 0.3) 0%, rgba(251, 188, 4, 0.3) 50.64%, rgba(255, 233, 33, 0.3) 101.28%)\",\"#202124\"]],[\"Learning\",null,[[[\"Training\",\"/blog/training\"],[\"How-to guides\",\"/blog/how-to-guides\"],[\"Best practices\",\"/blog/best-practices\"]]],[\"Explore learning\",\"Develop your Workspace skills and enhance your expertise\",\"/blog/products/\",\"linear-gradient(80.33deg, rgba(147, 120, 255, 0.2) 0%, rgba(106, 100, 253, 0.2) 51.13%, rgba(62, 106, 240, 0.2) 101.28%)\",\"linear-gradient(80.33deg, rgba(147, 120, 255, 0.3) 0%, rgba(106, 100, 253, 0.3) 51.13%, rgba(62, 106, 240, 0.3) 101.28%)\",\"#4D1D9B\"]],[\"Customer stories\",null,[[[\"Public sector\",\"/blog/public-sector\"],[\"Financial services\",\"/blog/financial-services\"],[\"Healthcare \\u0026 life sciences\",\"/blog/healthcare-and-life-sciences\"],[\"Telco\",\"/blog/telco\"],[\"Retail\",\"/blog/retail\"],[\"Media \\u0026 entertainment\",\"/blog/media-entertainment\"],[\"Consumer packaged goods (CPG)\",\"/blog/consumer-packaged-goods-cpg\"],[\"Supply chain \\u0026 logistics\",\"/blog/supply-chain-and-logistics\"],[\"Professional services\",\"/blog/professional-services\"],[\"Technology\",\"/blog/technology\"],[\"Education\",\"/blog/education\"]]],[\"Explore customer stories\",\"See how we work with customers to transform businesses and industries\",\"/blog/products/\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)\",\"linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)\",\"#2F3793\"]]]]]]]","w2btAe":"%.@.null,null,\"\",false,null,null,true,false]","xn5OId":false,"xnI9P":true,"xwAfE":true,"y2FhP":"prod","yFnxrf":1884,"zChJod":"%.@.]"};</script><script nonce="o0pp75lutLPAHrhr1N3ntw">window["_F_toggles_default_TransformBlogUi"] = [0x400402, 0x26406, 0x20, ];</script><script nonce="o0pp75lutLPAHrhr1N3ntw">(function(){'use strict';var a=window,d=a.performance,l=k();a.cc_latency_start_time=d&&d.now?0:d&&d.timing&&d.timing.navigationStart?d.timing.navigationStart:l;function k(){return d&&d.now?d.now():(new Date).getTime()}function n(e){if(d&&d.now&&d.mark){var g=d.mark(e);if(g)return g.startTime;if(d.getEntriesByName&&(e=d.getEntriesByName(e).pop()))return e.startTime}return k()}a.onaft=function(){n("aft")};a._isLazyImage=function(e){return e.hasAttribute("data-src")||e.hasAttribute("data-ils")||e.getAttribute("loading")==="lazy"};
|
||
a.l=function(e){function g(b){var c={};c[b]=k();a.cc_latency.push(c)}function m(b){var c=n("iml");b.setAttribute("data-iml",c);return c}a.cc_aid=e;a.iml_start=a.cc_latency_start_time;a.css_size=0;a.cc_latency=[];a.ccTick=g;a.onJsLoad=function(){g("jsl")};a.onCssLoad=function(){g("cssl")};a._isVisible=function(b,c){if(!c||c.style.display=="none")return!1;var f=b.defaultView;if(f&&f.getComputedStyle&&(f=f.getComputedStyle(c),f.height=="0px"||f.width=="0px"||f.visibility=="hidden"))return!1;if(!c.getBoundingClientRect)return!0;
|
||
var h=c.getBoundingClientRect();c=h.left+a.pageXOffset;f=h.top+a.pageYOffset;if(f+h.height<0||c+h.width<0||h.height<=0||h.width<=0)return!1;b=b.documentElement;return f<=(a.innerHeight||b.clientHeight)&&c<=(a.innerWidth||b.clientWidth)};a._recordImlEl=m;document.documentElement.addEventListener("load",function(b){b=b.target;var c;b.tagName!="IMG"||b.hasAttribute("data-iid")||a._isLazyImage(b)||b.hasAttribute("data-noaft")||(c=m(b));if(a.aft_counter&&(b=a.aft_counter.indexOf(b),b!==-1&&(b=a.aft_counter.splice(b,
|
||
1).length===1,a.aft_counter.length===0&&b&&c)))a.onaft(c)},!0);a.prt=-1;a.wiz_tick=function(){var b=n("prt");a.prt=b}};}).call(this);
|
||
l('DK1zsb')</script><script nonce="o0pp75lutLPAHrhr1N3ntw">var _F_cssRowKey = 'boq-cloudx-web-blog.TransformBlogUi.yZgsDxAfBrU.L.B1.O';var _F_combinedSignature = 'AHrnUqUGNGNeCiP-_qWKs7Ba6w58X6y9Cg';function _DumpException(e) {throw e;}</script><link rel="stylesheet" href="https://www.gstatic.com/_/mss/boq-cloudx-web-blog/_/ss/k=boq-cloudx-web-blog.TransformBlogUi.yZgsDxAfBrU.L.B1.O/am=AgRAgAGZAAAC/d=1/ed=1/rs=AHrnUqXpecS6QUjjCqXIIH_7efvk5j1Ndw/m=articleview,_b,_tp" data-id="_cl" nonce="fNg-9ZZU2njgMObN0w-WGw"><script nonce="o0pp75lutLPAHrhr1N3ntw">onCssLoad();</script><style data-font-stylesheet nonce="fNg-9ZZU2njgMObN0w-WGw">@font-face{font-family:'Material Icons Extended';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialiconsextended/v154/kJEjBvgX7BgnkSrUwT8UnLVc38YydejYY-oE_LvJHMXBBA.woff2)format('woff2');}.material-icons-extended{font-family:'Material Icons Extended';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;}@font-face{font-family:'Google Material Icons';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlematerialicons/v144/Gw6kwdfw6UnXLJCcmafZyFRXb3BL9rvi0QZG3Sy7X00.woff2)format('woff2');}.google-material-icons{font-family:'Google Material Icons';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;}@font-face{font-family:'Product Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/productsans/v9/pxiDypQkot1TnFhsFMOfGShVGdeOYktMqlap.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Product Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/productsans/v9/pxiDypQkot1TnFhsFMOfGShVF9eOYktMqg.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiIUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0308,U+0530-058F,U+2010,U+2024,U+25CC,U+FB13-FB17;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiAUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0951-0952,U+0964-0965,U+0980-09FE,U+1CD0,U+1CD2,U+1CD5-1CD6,U+1CD8,U+1CE1,U+1CEA,U+1CED,U+1CF2,U+1CF5-1CF7,U+200C-200D,U+20B9,U+25CC,U+A8F1;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPh0UvbQoi-Entw.woff2)format('woff2');unicode-range:U+02C7,U+02D8-02D9,U+02DB,U+0307,U+1400-167F,U+18B0-18F5,U+25CC,U+11AB0-11ABF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPj8UvbQoi-Entw.woff2)format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjYUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjMUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiMUvbQoi-Entw.woff2)format('woff2');unicode-range:U+030E,U+1200-1399,U+2D80-2DDE,U+AB01-AB2E,U+1E7E0-1E7E6,U+1E7E8-1E7EB,U+1E7ED-1E7EE,U+1E7F0-1E7FE;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPi0UvbQoi-Entw.woff2)format('woff2');unicode-range:U+0589,U+10A0-10FF,U+1C90-1CBA,U+1CBD-1CBF,U+205A,U+2D00-2D2F,U+2E31;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPj4UvbQoi-Entw.woff2)format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjEUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPikUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0951-0952,U+0964-0965,U+0A80-0AFF,U+200C-200D,U+20B9,U+25CC,U+A830-A839;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPhEUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0951-0952,U+0964-0965,U+0A01-0A76,U+200C-200D,U+20B9,U+25CC,U+262C,U+A830-A839;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjAUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjkUvbQoi-Entw.woff2)format('woff2');unicode-range:U+1780-17FF,U+19E0-19FF,U+200C-200D,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjsUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0E81-0EDF,U+200C-200D,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPioUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0307,U+0323,U+0951-0952,U+0964-0965,U+0D00-0D7F,U+1CDA,U+1CF2,U+200C-200D,U+20B9,U+25CC,U+A830-A832;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPisUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0951-0952,U+0964-0965,U+0B01-0B77,U+1CDA,U+1CF2,U+200C-200D,U+20B9,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPi8UvbQoi-Entw.woff2)format('woff2');unicode-range:U+0964-0965,U+0D81-0DF4,U+1CF2,U+200C-200D,U+25CC,U+111E1-111F4;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPlwUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiQUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0964-0965,U+0B82-0BFA,U+200C-200D,U+20B9,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPi4UvbQoi-Entw.woff2)format('woff2');unicode-range:U+0951-0952,U+0964-0965,U+0C00-0C7F,U+1CDA,U+1CF2,U+200C-200D,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiYUvbQoi-Entw.woff2)format('woff2');unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPj0UvbQoi-Entw.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjwUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjIUvbQoi-E.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiIUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0308,U+0530-058F,U+2010,U+2024,U+25CC,U+FB13-FB17;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiAUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0951-0952,U+0964-0965,U+0980-09FE,U+1CD0,U+1CD2,U+1CD5-1CD6,U+1CD8,U+1CE1,U+1CEA,U+1CED,U+1CF2,U+1CF5-1CF7,U+200C-200D,U+20B9,U+25CC,U+A8F1;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPh0UvbQoi-Entw.woff2)format('woff2');unicode-range:U+02C7,U+02D8-02D9,U+02DB,U+0307,U+1400-167F,U+18B0-18F5,U+25CC,U+11AB0-11ABF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPj8UvbQoi-Entw.woff2)format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjYUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjMUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiMUvbQoi-Entw.woff2)format('woff2');unicode-range:U+030E,U+1200-1399,U+2D80-2DDE,U+AB01-AB2E,U+1E7E0-1E7E6,U+1E7E8-1E7EB,U+1E7ED-1E7EE,U+1E7F0-1E7FE;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPi0UvbQoi-Entw.woff2)format('woff2');unicode-range:U+0589,U+10A0-10FF,U+1C90-1CBA,U+1CBD-1CBF,U+205A,U+2D00-2D2F,U+2E31;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPj4UvbQoi-Entw.woff2)format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjEUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPikUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0951-0952,U+0964-0965,U+0A80-0AFF,U+200C-200D,U+20B9,U+25CC,U+A830-A839;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPhEUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0951-0952,U+0964-0965,U+0A01-0A76,U+200C-200D,U+20B9,U+25CC,U+262C,U+A830-A839;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjAUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjkUvbQoi-Entw.woff2)format('woff2');unicode-range:U+1780-17FF,U+19E0-19FF,U+200C-200D,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjsUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0E81-0EDF,U+200C-200D,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPioUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0307,U+0323,U+0951-0952,U+0964-0965,U+0D00-0D7F,U+1CDA,U+1CF2,U+200C-200D,U+20B9,U+25CC,U+A830-A832;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPisUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0951-0952,U+0964-0965,U+0B01-0B77,U+1CDA,U+1CF2,U+200C-200D,U+20B9,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPi8UvbQoi-Entw.woff2)format('woff2');unicode-range:U+0964-0965,U+0D81-0DF4,U+1CF2,U+200C-200D,U+25CC,U+111E1-111F4;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPlwUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiQUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0964-0965,U+0B82-0BFA,U+200C-200D,U+20B9,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPi4UvbQoi-Entw.woff2)format('woff2');unicode-range:U+0951-0952,U+0964-0965,U+0C00-0C7F,U+1CDA,U+1CF2,U+200C-200D,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiYUvbQoi-Entw.woff2)format('woff2');unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPj0UvbQoi-Entw.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjwUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjIUvbQoi-E.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiIUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0308,U+0530-058F,U+2010,U+2024,U+25CC,U+FB13-FB17;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiAUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0951-0952,U+0964-0965,U+0980-09FE,U+1CD0,U+1CD2,U+1CD5-1CD6,U+1CD8,U+1CE1,U+1CEA,U+1CED,U+1CF2,U+1CF5-1CF7,U+200C-200D,U+20B9,U+25CC,U+A8F1;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPh0UvbQoi-Entw.woff2)format('woff2');unicode-range:U+02C7,U+02D8-02D9,U+02DB,U+0307,U+1400-167F,U+18B0-18F5,U+25CC,U+11AB0-11ABF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPj8UvbQoi-Entw.woff2)format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjYUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjMUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiMUvbQoi-Entw.woff2)format('woff2');unicode-range:U+030E,U+1200-1399,U+2D80-2DDE,U+AB01-AB2E,U+1E7E0-1E7E6,U+1E7E8-1E7EB,U+1E7ED-1E7EE,U+1E7F0-1E7FE;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPi0UvbQoi-Entw.woff2)format('woff2');unicode-range:U+0589,U+10A0-10FF,U+1C90-1CBA,U+1CBD-1CBF,U+205A,U+2D00-2D2F,U+2E31;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPj4UvbQoi-Entw.woff2)format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjEUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPikUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0951-0952,U+0964-0965,U+0A80-0AFF,U+200C-200D,U+20B9,U+25CC,U+A830-A839;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPhEUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0951-0952,U+0964-0965,U+0A01-0A76,U+200C-200D,U+20B9,U+25CC,U+262C,U+A830-A839;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjAUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjkUvbQoi-Entw.woff2)format('woff2');unicode-range:U+1780-17FF,U+19E0-19FF,U+200C-200D,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjsUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0E81-0EDF,U+200C-200D,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPioUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0307,U+0323,U+0951-0952,U+0964-0965,U+0D00-0D7F,U+1CDA,U+1CF2,U+200C-200D,U+20B9,U+25CC,U+A830-A832;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPisUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0951-0952,U+0964-0965,U+0B01-0B77,U+1CDA,U+1CF2,U+200C-200D,U+20B9,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPi8UvbQoi-Entw.woff2)format('woff2');unicode-range:U+0964-0965,U+0D81-0DF4,U+1CF2,U+200C-200D,U+25CC,U+111E1-111F4;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPlwUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiQUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0964-0965,U+0B82-0BFA,U+200C-200D,U+20B9,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPi4UvbQoi-Entw.woff2)format('woff2');unicode-range:U+0951-0952,U+0964-0965,U+0C00-0C7F,U+1CDA,U+1CF2,U+200C-200D,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiYUvbQoi-Entw.woff2)format('woff2');unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPj0UvbQoi-Entw.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjwUvbQoi-Entw.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesans/v62/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjIUvbQoi-E.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesansdisplay/v13/ea8FacM9Wef3EJPWRrHjgE4B6CnlZxHVDvr9oT3ZQZRENA.woff2)format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesansdisplay/v13/ea8FacM9Wef3EJPWRrHjgE4B6CnlZxHVDv39oT3ZQZRENA.woff2)format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesansdisplay/v13/ea8FacM9Wef3EJPWRrHjgE4B6CnlZxHVDvH9oT3ZQZRENA.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesansdisplay/v13/ea8FacM9Wef3EJPWRrHjgE4B6CnlZxHVDvD9oT3ZQZRENA.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/googlesansdisplay/v13/ea8FacM9Wef3EJPWRrHjgE4B6CnlZxHVDv79oT3ZQZQ.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesansdisplay/v13/ea8IacM9Wef3EJPWRrHjgE4B6CnlZxHVBg3etBT7TL5-PQEKcA.woff2)format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesansdisplay/v13/ea8IacM9Wef3EJPWRrHjgE4B6CnlZxHVBg3etBP7TL5-PQEKcA.woff2)format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesansdisplay/v13/ea8IacM9Wef3EJPWRrHjgE4B6CnlZxHVBg3etB_7TL5-PQEKcA.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesansdisplay/v13/ea8IacM9Wef3EJPWRrHjgE4B6CnlZxHVBg3etB77TL5-PQEKcA.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:500;src:url(https://fonts.gstatic.com/s/googlesansdisplay/v13/ea8IacM9Wef3EJPWRrHjgE4B6CnlZxHVBg3etBD7TL5-PQE.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesansdisplay/v13/ea8IacM9Wef3EJPWRrHjgE4B6CnlZxHVBkXYtBT7TL5-PQEKcA.woff2)format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesansdisplay/v13/ea8IacM9Wef3EJPWRrHjgE4B6CnlZxHVBkXYtBP7TL5-PQEKcA.woff2)format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesansdisplay/v13/ea8IacM9Wef3EJPWRrHjgE4B6CnlZxHVBkXYtB_7TL5-PQEKcA.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesansdisplay/v13/ea8IacM9Wef3EJPWRrHjgE4B6CnlZxHVBkXYtB77TL5-PQEKcA.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Google Sans Display';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/googlesansdisplay/v13/ea8IacM9Wef3EJPWRrHjgE4B6CnlZxHVBkXYtBD7TL5-PQE.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Google Symbols';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/l/font?kit=HhzMU5Ak9u-oMExPeInvcuEmPosC9zyteYEFU68cPrjdKM1XLPTxlGmzczpgWvF1d8Yp7AudBnt3CPar1JFWjoLAUv3G-tSNljixIIGUsC62cYrKiAwGax-fp9PtdVq68d0yHSjUy2BdPvfEJ2rDQwn79OOKv3UwEzsxQ4hmXu95&skey=f8ec4d50247dc1c1&v=v456)format('woff2');}.google-symbols{font-family:'Google Symbols';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;}</style><script nonce="o0pp75lutLPAHrhr1N3ntw">(function(){'use strict';function g(){var a=k,b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}};/*
|
||
|
||
Copyright The Closure Library Authors.
|
||
SPDX-License-Identifier: Apache-2.0
|
||
*/
|
||
var l=this||self;/*
|
||
|
||
Copyright 2024 Google, Inc
|
||
SPDX-License-Identifier: MIT
|
||
*/
|
||
var m=["focus","blur","error","load","toggle"];function n(a){return a==="mouseenter"?"mouseover":a==="mouseleave"?"mouseout":a==="pointerenter"?"pointerover":a==="pointerleave"?"pointerout":a};function p(a){this.l={};this.m={};this.j=null;this.i=[];this.o=a}p.prototype.handleEvent=function(a,b,c){q(this,{eventType:a,event:b,targetElement:b.target,eic:c,timeStamp:Date.now(),eia:void 0,eirp:void 0,eiack:void 0})};function q(a,b){if(a.j)a.j(b);else{b.eirp=!0;var c;(c=a.i)==null||c.push(b)}}
|
||
function r(a,b,c){if(!(b in a.l)&&a.o){var e=function(f,d,B){a.handleEvent(f,d,B)};a.l[b]=e;c=n(c||b);if(c!==b){var h=a.m[c]||[];h.push(b);a.m[c]=h}a.o.addEventListener(c,function(f){return function(d){e(b,d,f)}},void 0)}}p.prototype.handler=function(a){return this.l[a]};p.prototype.ecrd=function(a){this.j=a;var b;if((b=this.i)==null?0:b.length){for(a=0;a<this.i.length;a++)q(this,this.i[a]);this.i=null}};function t(a){this.element=a;this.i=[]}t.prototype.addEventListener=function(a,b,c){var e=this.i,h=e.push,f=this.element;b=b(this.element);var d=!1;m.indexOf(a)>=0&&(d=!0);f.addEventListener(a,b,typeof c==="boolean"?{capture:d,passive:c}:d);h.call(e,{eventType:a,handler:b,capture:d,passive:c})};var k="click dblclick focus focusin blur error focusout keydown keyup keypress load mouseover mouseout mouseenter mouseleave mousemove submit toggle touchstart touchend touchmove touchcancel auxclick change compositionstart compositionupdate compositionend beforeinput input select selectstart textinput copy cut paste mousedown mouseup wheel contextmenu dragover dragenter dragleave drop dragstart dragend pointerdown pointermove pointerup pointercancel pointerenter pointerleave pointerover pointerout gotpointercapture lostpointercapture ended loadedmetadata pagehide pageshow visibilitychange beforematch".split(" ");
|
||
if(!(k instanceof Array)){var u;var v=typeof Symbol!="undefined"&&Symbol.iterator&&k[Symbol.iterator];if(v)u=v.call(k);else if(typeof k.length=="number")u={next:g()};else throw Error(String(k)+" is not an iterable or ArrayLike");for(var w,x=[];!(w=u.next()).done;)x.push(w.value)};var y=function(a){return{trigger:function(b){var c=a.handler(b.type);c||(r(a,b.type),c=a.handler(b.type));var e=b.target||b.srcElement;c&&c(b.type,b,e.ownerDocument.documentElement)},configure:function(b){b(a)}}}(function(){var a=window,b=new t(a.document.documentElement),c=new p(b);k.forEach(function(d){return r(c,d)});var e,h,f;"onwebkitanimationend"in a&&(e="webkitAnimationEnd");r(c,"animationend",e);"onwebkitanimationstart"in a&&(h="webkitAnimationStart");r(c,"animationstart",h);r(c,"animationcancel");
|
||
"onwebkittransitionend"in a&&(f="webkitTransitionEnd");r(c,"transitionend",f);return{u:c,container:b}}().u),z=["BOQ_wizbind"],A=window||l,C;for(;z.length&&(C=z.shift());)z.length||y===void 0?A[C]&&A[C]!==Object.prototype[C]?A=A[C]:A=A[C]={}:A[C]=y;}).call(this);
|
||
</script><script noCollect src="https://www.gstatic.com/_/mss/boq-cloudx-web-blog/_/js/k=boq-cloudx-web-blog.TransformBlogUi.en_US.wJiMbTLBlzA.2018.O/am=AAAAAACZ/d=1/excm=_b,_tp,articleview/ed=1/dg=0/wt=2/ujg=1/rs=AHrnUqVxHxeZ_6gyIm6jL7m-uySGzhDRDQ/dti=1/m=_b,_tp" defer id="base-js" fetchpriority="high" nonce="o0pp75lutLPAHrhr1N3ntw"></script><script nonce="o0pp75lutLPAHrhr1N3ntw">if (window.BOQ_loadedInitialJS) {onJsLoad();} else {document.getElementById('base-js').addEventListener('load', onJsLoad, false);}</script><script nonce="o0pp75lutLPAHrhr1N3ntw">
|
||
window['_wjdc'] = function (d) {window['_wjdd'] = d};
|
||
</script><link rel="alternate" type="application/rss+xml" title="Serverless" href="https://cloudblog.withgoogle.com/products/serverless/rss"><title>Cloud Functions pro tips: Using retries to build reliable serverless systems | Google Cloud Blog</title><meta name="description" content="Cloud Functions pro tips: Using retries to build reliable serverless systems"><meta name="robots" content="max-image-preview:large"><meta property="og:title" content="Cloud Functions pro tips: Using retries to build reliable serverless systems | Google Cloud Blog"><meta property="og:type" content="website"><meta property="og:url" content="https://cloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems"><meta property="og:image" content="https://storage.googleapis.com/gweb-cloudblog-publish/images/31_-_Serverless_jUYyB2k.max-2600x2600.jpg"><meta property="og:description" content="Cloud Functions pro tips: Using retries to build reliable serverless systems"><meta property="og:site_name" content="Google Cloud Blog"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:url" content="https://cloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems"><meta name="twitter:title" content="Cloud Functions pro tips: Using retries to build reliable serverless systems | Google Cloud Blog"><meta name="twitter:description" content="Cloud Functions pro tips: Using retries to build reliable serverless systems"><meta name="twitter:image" content="https://storage.googleapis.com/gweb-cloudblog-publish/images/31_-_Serverless_jUYyB2k.max-2600x2600.jpg"><meta name="twitter:site" content="@googlecloud"><script type="application/ld+json">{"@context":"https://schema.org","@type":"BlogPosting","@id":"https://cloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems","headline":"Cloud Functions pro tips: Using retries to build reliable serverless systems","description":"Cloud Functions pro tips: Using retries to build reliable serverless systems","image":"https://storage.googleapis.com/gweb-cloudblog-publish/images/31_-_Serverless_jUYyB2k.max-2600x2600.jpg","author":[{"@type":"Person","name":"Slawomir Walkowski","url":""}],"datePublished":"2018-11-17","publisher":{"@type":"Organization","name":"Google Cloud","logo":{"@type":"ImageObject","url":"https://www.gstatic.com/cgc/google-cloud-logo.svg"}},"url":"https://cloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems","keywords":["Serverless","Application Development","Google Cloud"],"timeRequired":"PT5M"}</script><link rel="canonical" href="https://cloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems/"><meta name="track-metadata-page_post_title" content="Cloud Functions pro tips: Using retries to build reliable serverless systems"><meta name="track-metadata-page_post_labels" content="Serverless"><meta name="track-metadata-page_first_published" content="2018-11-16 17:11:00"><meta name="published_time" content="2018-11-16T17:00:04-0800"><meta name="track-metadata-page_last_published" content="2018-11-16 17:11:00"><meta name="track-metadata-page_post_author" content="Slawomir Walkowski"><meta name="track-metadata-page_post_author_role" content="Software Engineer"><meta name="authors" content="Slawomir Walkowski"><meta name="page" content="37791"><meta name="locale" content="en"><meta name="content_type" content="blog.articlepage"><meta name="tags" content="Serverless,Application Development,Google Cloud"><meta name="read_duration" content="5"><header jsaction="rcuQ6b:npT2md" jscontroller="o60eef" class="glue-header nRhiJb-tJHJj-OWXEXe-kFx1Ae" id="kO001e"><a href="./#content" class="glue-header__link glue-header__skip-content">Jump to Content</a><div class="glue-header__bar glue-header__bar--mobile DFb9Jf" track-metadata-module="header"><div class="nRhiJb-mb9u9d"><div class="glue-header__container JF2WI"><div class="nRhiJb-o2XRw-yHKmmc lUwpmd"><div class="nRhiJb-rSCjMe"><a class="nRhiJb-rSCjMe-hSRGPd" href="https://cloud.google.com/" title="Google Cloud" track-name="google cloud"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/"track-metadata-module="header"><div class="nRhiJb-rSCjMe-haAclf"><svg class="glue-header__logo-svg" viewBox="0 0 74 24" role="presentation" aria-hidden="true"><path fill="#4285F4" d="M9.24 8.19v2.46h5.88c-.18 1.38-.64 2.39-1.34 3.1-.86.86-2.2 1.8-4.54 1.8-3.62 0-6.45-2.92-6.45-6.54s2.83-6.54 6.45-6.54c1.95 0 3.38.77 4.43 1.76L15.4 2.5C13.94 1.08 11.98 0 9.24 0 4.28 0 .11 4.04.11 9s4.17 9 9.13 9c2.68 0 4.7-.88 6.28-2.52 1.62-1.62 2.13-3.91 2.13-5.75 0-.57-.04-1.1-.13-1.54H9.24z"></path><path fill="#EA4335" d="M25 6.19c-3.21 0-5.83 2.44-5.83 5.81 0 3.34 2.62 5.81 5.83 5.81s5.83-2.46 5.83-5.81c0-3.37-2.62-5.81-5.83-5.81zm0 9.33c-1.76 0-3.28-1.45-3.28-3.52 0-2.09 1.52-3.52 3.28-3.52s3.28 1.43 3.28 3.52c0 2.07-1.52 3.52-3.28 3.52z"></path><path fill="#4285F4" d="M53.58 7.49h-.09c-.57-.68-1.67-1.3-3.06-1.3C47.53 6.19 45 8.72 45 12c0 3.26 2.53 5.81 5.43 5.81 1.39 0 2.49-.62 3.06-1.32h.09v.81c0 2.22-1.19 3.41-3.1 3.41-1.56 0-2.53-1.12-2.93-2.07l-2.22.92c.64 1.54 2.33 3.43 5.15 3.43 2.99 0 5.52-1.76 5.52-6.05V6.49h-2.42v1zm-2.93 8.03c-1.76 0-3.1-1.5-3.1-3.52 0-2.05 1.34-3.52 3.1-3.52 1.74 0 3.1 1.5 3.1 3.54.01 2.03-1.36 3.5-3.1 3.5z"></path><path fill="#FBBC05" d="M38 6.19c-3.21 0-5.83 2.44-5.83 5.81 0 3.34 2.62 5.81 5.83 5.81s5.83-2.46 5.83-5.81c0-3.37-2.62-5.81-5.83-5.81zm0 9.33c-1.76 0-3.28-1.45-3.28-3.52 0-2.09 1.52-3.52 3.28-3.52s3.28 1.43 3.28 3.52c0 2.07-1.52 3.52-3.28 3.52z"></path><path fill="#34A853" d="M58 .24h2.51v17.57H58z"></path><path fill="#EA4335" d="M68.26 15.52c-1.3 0-2.22-.59-2.82-1.76l7.77-3.21-.26-.66c-.48-1.3-1.96-3.7-4.97-3.7-2.99 0-5.48 2.35-5.48 5.81 0 3.26 2.46 5.81 5.76 5.81 2.66 0 4.2-1.63 4.84-2.57l-1.98-1.32c-.66.96-1.56 1.6-2.86 1.6zm-.18-7.15c1.03 0 1.91.53 2.2 1.28l-5.25 2.17c0-2.44 1.73-3.45 3.05-3.45z"></path></svg></div><span class="nRhiJb-rSCjMe-OWXEXe-UBMNlb khBwGd">Cloud</span></a></div></div><div class="glue-header__hamburger s6BfRd"><button class="glue-header__drawer-toggle-btn" aria-label="Open the navigation drawer"><svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-xgZe3c" viewBox="0 0 24 24" role="presentation" aria-hidden="true"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"></path></svg></button></div><div class="nRhiJb-o2XRw-yHKmmc UrjqX"><div class="nRhiJb-rSCjMe"><a class="nRhiJb-rSCjMe-hSRGPd" href="https://cloud.google.com/blog/" title="Google Cloud Blog" track-name="blog"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/"track-metadata-module="header"><span class="nRhiJb-rSCjMe-OWXEXe-UBMNlb khBwGd">Blog</span></a></div></div></div><div class="glue-header__container ca6rub"><div class="nRhiJb-GUI8l"><a class="nRhiJb-LgbsSe nRhiJb-LgbsSe-OWXEXe-pSzOP-o6Shpd " href="https://cloud.google.com/contact/" track-name="contact sales"track-type="blog nav"track-metadata-eventdetail="cloud.google.com/contact/"track-metadata-module="header" track-name="contact sales"track-type="button"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/contact/">Contact sales </a><a class="nRhiJb-LgbsSe nRhiJb-LgbsSe-OWXEXe-CNusmb-o6Shpd " href="https://console.cloud.google.com/freetrial/" track-name="get started for free"track-type="blog nav"track-metadata-eventdetail="console.cloud.google.com/freetrial/"track-metadata-module="header" track-name="get started for free"track-type="button"track-metadata-position="nav"track-metadata-eventdetail="console.cloud.google.com/freetrial/">Get started for free </a></div><div class="GKI4ub"><div class="Jhiezd"><form action="/blog/search/" class="A2C6Ob"><input class="BAhdXd" jsname="oJAbI" name="query" type="text" placeholder="Find an article..."><input type="hidden" name="language" value=en hidden><input type="hidden" name="category" value=article hidden><input type="hidden" name="paginate" value="25" hidden><input type="hidden" name="order" value="newest" hidden><input type="hidden" name="hl" value=en hidden><span class="A0lwXc" jsname="D8MWrd" aria-label="Show the search input field." role="button" jsaction="click:jUF4E"><svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-xgZe3c" viewBox="0 0 24 24" role="presentation" aria-hidden="true" width="40" height="22"><path d="M20.49 19l-5.73-5.73C15.53 12.2 16 10.91 16 9.5A6.5 6.5 0 1 0 9.5 16c1.41 0 2.7-.47 3.77-1.24L19 20.49 20.49 19zM5 9.5C5 7.01 7.01 5 9.5 5S14 7.01 14 9.5 11.99 14 9.5 14 5 11.99 5 9.5z"></path></svg></span></form></div></div></div></div></div><div class="glue-header__bar glue-header__bar--desktop glue-header__drawer YcctDe" track-metadata-module="header"><div class="nRhiJb-mb9u9d M7RUq"><div class="glue-header__container JF2WI"><div class="nRhiJb-o2XRw-yHKmmc lUwpmd"><div class="nRhiJb-rSCjMe"><a class="nRhiJb-rSCjMe-hSRGPd" href="https://cloud.google.com/" title="Google Cloud" track-name="google cloud"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/"track-metadata-module="header"><div class="nRhiJb-rSCjMe-haAclf"><svg class="glue-header__logo-svg" viewBox="0 0 74 24" role="presentation" aria-hidden="true"><path fill="#4285F4" d="M9.24 8.19v2.46h5.88c-.18 1.38-.64 2.39-1.34 3.1-.86.86-2.2 1.8-4.54 1.8-3.62 0-6.45-2.92-6.45-6.54s2.83-6.54 6.45-6.54c1.95 0 3.38.77 4.43 1.76L15.4 2.5C13.94 1.08 11.98 0 9.24 0 4.28 0 .11 4.04.11 9s4.17 9 9.13 9c2.68 0 4.7-.88 6.28-2.52 1.62-1.62 2.13-3.91 2.13-5.75 0-.57-.04-1.1-.13-1.54H9.24z"></path><path fill="#EA4335" d="M25 6.19c-3.21 0-5.83 2.44-5.83 5.81 0 3.34 2.62 5.81 5.83 5.81s5.83-2.46 5.83-5.81c0-3.37-2.62-5.81-5.83-5.81zm0 9.33c-1.76 0-3.28-1.45-3.28-3.52 0-2.09 1.52-3.52 3.28-3.52s3.28 1.43 3.28 3.52c0 2.07-1.52 3.52-3.28 3.52z"></path><path fill="#4285F4" d="M53.58 7.49h-.09c-.57-.68-1.67-1.3-3.06-1.3C47.53 6.19 45 8.72 45 12c0 3.26 2.53 5.81 5.43 5.81 1.39 0 2.49-.62 3.06-1.32h.09v.81c0 2.22-1.19 3.41-3.1 3.41-1.56 0-2.53-1.12-2.93-2.07l-2.22.92c.64 1.54 2.33 3.43 5.15 3.43 2.99 0 5.52-1.76 5.52-6.05V6.49h-2.42v1zm-2.93 8.03c-1.76 0-3.1-1.5-3.1-3.52 0-2.05 1.34-3.52 3.1-3.52 1.74 0 3.1 1.5 3.1 3.54.01 2.03-1.36 3.5-3.1 3.5z"></path><path fill="#FBBC05" d="M38 6.19c-3.21 0-5.83 2.44-5.83 5.81 0 3.34 2.62 5.81 5.83 5.81s5.83-2.46 5.83-5.81c0-3.37-2.62-5.81-5.83-5.81zm0 9.33c-1.76 0-3.28-1.45-3.28-3.52 0-2.09 1.52-3.52 3.28-3.52s3.28 1.43 3.28 3.52c0 2.07-1.52 3.52-3.28 3.52z"></path><path fill="#34A853" d="M58 .24h2.51v17.57H58z"></path><path fill="#EA4335" d="M68.26 15.52c-1.3 0-2.22-.59-2.82-1.76l7.77-3.21-.26-.66c-.48-1.3-1.96-3.7-4.97-3.7-2.99 0-5.48 2.35-5.48 5.81 0 3.26 2.46 5.81 5.76 5.81 2.66 0 4.2-1.63 4.84-2.57l-1.98-1.32c-.66.96-1.56 1.6-2.86 1.6zm-.18-7.15c1.03 0 1.91.53 2.2 1.28l-5.25 2.17c0-2.44 1.73-3.45 3.05-3.45z"></path></svg></div><span class="nRhiJb-rSCjMe-OWXEXe-UBMNlb khBwGd">Cloud</span></a></div></div><div class="nRhiJb-o2XRw-yHKmmc UrjqX"><div class="nRhiJb-rSCjMe"><a class="nRhiJb-rSCjMe-hSRGPd" href="https://cloud.google.com/blog/" title="Google Cloud Blog" track-name="blog"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/"track-metadata-module="header"><span class="nRhiJb-rSCjMe-OWXEXe-UBMNlb khBwGd">Blog</span></a></div></div></div><div class="glue-header__container glue-header__stepped-nav LKvi8b" role="navigation"><div class="glue-header__stepped-nav-controls-container"><div class="glue-header__stepped-nav-controls"><div class="glue-header__stepped-nav-controls-arrow"><svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-SFi8G" viewBox="0 0 24 24" role="presentation" aria-hidden="true"><path d="M16.41 5.41L15 4l-8 8 8 8 1.41-1.41L9.83 12"></path></svg><svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-SFi8G glue-header__stepped-nav-subnav-icon" viewBox="0 0 24 24" role="presentation" aria-hidden="true"><path d="M7.59 18.59L9 20l8-8-8-8-1.41 1.41L14.17 12"></path></svg></div><div class="glue-header__stepped-nav-controls-title glue-header__link"></div></div></div><div class="glue-header__stepped-nav-menus"></div></div><div class="glue-header__container nRhiJb-J6KYL-OWXEXe-Q4irje"><nav class="glue-header__link-bar"><ul class="glue-header__list glue-header__list--nested glue-header__deep-nav URiJfb"><li class="glue-header__item "><a class="glue-header__link">Solutions & technology<svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-SFi8G" viewBox="0 0 24 24" role="presentation" aria-hidden="true"><path d="M5.41 7.59L4 9l8 8 8-8-1.41-1.41L12 14.17"></path></svg></a><ul class="glue-header__list NDdrcc"><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/ai-machine-learning" track-name="ai & machine learning"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/ai-machine-learning"track-metadata-module="header"><span>AI & Machine Learning</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/api-management" track-name="api management"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/api-management"track-metadata-module="header"><span>API Management</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/application-development" track-name="application development"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/application-development"track-metadata-module="header"><span>Application Development</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/application-modernization" track-name="application modernization"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/application-modernization"track-metadata-module="header"><span>Application Modernization</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/chrome-enterprise" track-name="chrome enterprise"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/chrome-enterprise"track-metadata-module="header"><span>Chrome Enterprise</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/compute" track-name="compute"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/compute"track-metadata-module="header"><span>Compute</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/containers-kubernetes" track-name="containers & kubernetes"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/containers-kubernetes"track-metadata-module="header"><span>Containers & Kubernetes</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/data-analytics" track-name="data analytics"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/data-analytics"track-metadata-module="header"><span>Data Analytics</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/databases" track-name="databases"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/databases"track-metadata-module="header"><span>Databases</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/devops-sre" track-name="devops & sre"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/devops-sre"track-metadata-module="header"><span>DevOps & SRE</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/topics/maps-geospatial" track-name="maps & geospatial"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/topics/maps-geospatial"track-metadata-module="header"><span>Maps & Geospatial</span></a></li><li class="glue-header__item "><a class="glue-header__link janap">Security<svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-SFi8G" viewBox="0 0 24 24" role="presentation" aria-hidden="true"><path d="M7.59 18.59L9 20l8-8-8-8-1.41 1.41L14.17 12"></path></svg></a><ul class="glue-header__list NDdrcc"><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/identity-security" track-name="security & identity"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/identity-security"track-metadata-module="header"><span>Security & Identity</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/topics/threat-intelligence" track-name="threat intelligence"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/topics/threat-intelligence"track-metadata-module="header"><span>Threat Intelligence</span></a></li></ul></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/infrastructure" track-name="infrastructure"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/infrastructure"track-metadata-module="header"><span>Infrastructure</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/infrastructure-modernization" track-name="infrastructure modernization"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/infrastructure-modernization"track-metadata-module="header"><span>Infrastructure Modernization</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/networking" track-name="networking"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/networking"track-metadata-module="header"><span>Networking</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/productivity-collaboration" track-name="productivity & collaboration"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/productivity-collaboration"track-metadata-module="header"><span>Productivity & Collaboration</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/sap-google-cloud" track-name="sap on google cloud"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/sap-google-cloud"track-metadata-module="header"><span>SAP on Google Cloud</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/storage-data-transfer" track-name="storage & data transfer"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/storage-data-transfer"track-metadata-module="header"><span>Storage & Data Transfer</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/topics/sustainability" track-name="sustainability"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/topics/sustainability"track-metadata-module="header"><span>Sustainability</span></a></li></ul></li><li class="glue-header__item "><a class="glue-header__link">Ecosystem<svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-SFi8G" viewBox="0 0 24 24" role="presentation" aria-hidden="true"><path d="M5.41 7.59L4 9l8 8 8-8-1.41-1.41L12 14.17"></path></svg></a><ul class="glue-header__list NDdrcc"><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/transform" track-name="it leaders"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/transform"track-metadata-module="header"><span>IT Leaders</span></a></li><li class="glue-header__item "><a class="glue-header__link janap">Industries<svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-SFi8G" viewBox="0 0 24 24" role="presentation" aria-hidden="true"><path d="M7.59 18.59L9 20l8-8-8-8-1.41 1.41L14.17 12"></path></svg></a><ul class="glue-header__list NDdrcc"><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/topics/financial-services" track-name="financial services"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/topics/financial-services"track-metadata-module="header"><span>Financial Services</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/topics/healthcare-life-sciences" track-name="healthcare & life sciences"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/topics/healthcare-life-sciences"track-metadata-module="header"><span>Healthcare & Life Sciences</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/topics/manufacturing" track-name="manufacturing"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/topics/manufacturing"track-metadata-module="header"><span>Manufacturing</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/products/media-entertainment" track-name="media & entertainment"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/products/media-entertainment"track-metadata-module="header"><span>Media & Entertainment</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/topics/public-sector" track-name="public sector"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/topics/public-sector"track-metadata-module="header"><span>Public Sector</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/topics/retail" track-name="retail"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/topics/retail"track-metadata-module="header"><span>Retail</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/topics/supply-chain-logistics" track-name="supply chain"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/topics/supply-chain-logistics"track-metadata-module="header"><span>Supply Chain</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/topics/telecommunications" track-name="telecommunications"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/topics/telecommunications"track-metadata-module="header"><span>Telecommunications</span></a></li></ul></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/topics/partners" track-name="partners"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/topics/partners"track-metadata-module="header"><span>Partners</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/topics/startups" track-name="startups & smb"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/topics/startups"track-metadata-module="header"><span>Startups & SMB</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/topics/training-certifications" track-name="training & certifications"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/topics/training-certifications"track-metadata-module="header"><span>Training & Certifications</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/topics/inside-google-cloud" track-name="inside google cloud"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/topics/inside-google-cloud"track-metadata-module="header"><span>Inside Google Cloud</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/topics/google-cloud-next" track-name="google cloud next & events"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/topics/google-cloud-next"track-metadata-module="header"><span>Google Cloud Next & Events</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://cloud.google.com/blog/topics/consulting" track-name="google cloud consulting"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/topics/consulting"track-metadata-module="header"><span>Google Cloud Consulting</span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://mapsplatform.google.com/resources/blog/" track-name="google maps platform"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="mapsplatform.google.com/resources/blog/"track-metadata-module="header" target="_blank"><span>Google Maps Platform<svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-SFi8G FsOzib nRhiJb-tHaKme-AipIyc" viewBox="0 0 24 24" role="presentation" aria-hidden="true"><path d="m8.9 16.075 5.4-5.4v2.675h1.4V8.3h-5.05v1.4h2.65l-5.375 5.375ZM12 21.3q-1.925 0-3.625-.738-1.7-.737-2.95-1.987-1.25-1.25-1.987-2.95Q2.7 13.925 2.7 12t.738-3.625q.737-1.7 1.987-2.95 1.25-1.25 2.95-1.988Q10.075 2.7 12 2.7t3.625.737q1.7.738 2.95 1.988 1.25 1.25 1.987 2.95.738 1.7.738 3.625t-.738 3.625q-.737 1.7-1.987 2.95-1.25 1.25-2.95 1.987-1.7.738-3.625.738Z"></path></svg></span></a></li><li class="glue-header__item "><a class="glue-header__link janap " href="https://workspace.google.com/blog" track-name="google workspace"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="workspace.google.com/blog"track-metadata-module="header" target="_blank"><span>Google Workspace<svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-SFi8G FsOzib nRhiJb-tHaKme-AipIyc" viewBox="0 0 24 24" role="presentation" aria-hidden="true"><path d="m8.9 16.075 5.4-5.4v2.675h1.4V8.3h-5.05v1.4h2.65l-5.375 5.375ZM12 21.3q-1.925 0-3.625-.738-1.7-.737-2.95-1.987-1.25-1.25-1.987-2.95Q2.7 13.925 2.7 12t.738-3.625q.737-1.7 1.987-2.95 1.25-1.25 2.95-1.988Q10.075 2.7 12 2.7t3.625.737q1.7.738 2.95 1.988 1.25 1.25 1.987 2.95.738 1.7.738 3.625t-.738 3.625q-.737 1.7-1.987 2.95-1.25 1.25-2.95 1.987-1.7.738-3.625.738Z"></path></svg></span></a></li></ul></li><li class="glue-header__item "><a class="glue-header__link " href="https://cloud.google.com/blog/topics/developers-practitioners" track-name="developers & practitioners"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/blog/topics/developers-practitioners"track-metadata-module="header"><span>Developers & Practitioners</span></a></li><li class="glue-header__item "><a class="glue-header__link " href="https://cloud.google.com/transform" track-name="transform with google cloud"track-type="blog nav"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/transform"track-metadata-module="header"><span>Transform with Google Cloud</span></a></li></ul></nav></div><div class="glue-header__container ca6rub nRhiJb-J6KYL-OWXEXe-SU0ZEf"><div class="nRhiJb-GUI8l"><a class="nRhiJb-LgbsSe nRhiJb-LgbsSe-OWXEXe-pSzOP-o6Shpd " href="https://cloud.google.com/contact/" track-name="contact sales"track-type="blog nav"track-metadata-eventdetail="cloud.google.com/contact/"track-metadata-module="header" track-name="contact sales"track-type="button"track-metadata-position="nav"track-metadata-eventdetail="cloud.google.com/contact/">Contact sales </a><a class="nRhiJb-LgbsSe nRhiJb-LgbsSe-OWXEXe-CNusmb-o6Shpd " href="https://console.cloud.google.com/freetrial/" track-name="get started for free"track-type="blog nav"track-metadata-eventdetail="console.cloud.google.com/freetrial/"track-metadata-module="header" track-name="get started for free"track-type="button"track-metadata-position="nav"track-metadata-eventdetail="console.cloud.google.com/freetrial/">Get started for free </a></div><div class="GKI4ub"><div class="Jhiezd"><form action="/blog/search/" class="A2C6Ob"><input class="BAhdXd" jsname="oJAbI" name="query" type="text" placeholder="Find an article..."><input type="hidden" name="language" value=en hidden><input type="hidden" name="category" value=article hidden><input type="hidden" name="paginate" value="25" hidden><input type="hidden" name="order" value="newest" hidden><input type="hidden" name="hl" value=en hidden><span class="A0lwXc" jsname="D8MWrd" aria-label="Show the search input field." role="button" jsaction="click:jUF4E"><svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-xgZe3c" viewBox="0 0 24 24" role="presentation" aria-hidden="true" width="40" height="22"><path d="M20.49 19l-5.73-5.73C15.53 12.2 16 10.91 16 9.5A6.5 6.5 0 1 0 9.5 16c1.41 0 2.7-.47 3.77-1.24L19 20.49 20.49 19zM5 9.5C5 7.01 7.01 5 9.5 5S14 7.01 14 9.5 11.99 14 9.5 14 5 11.99 5 9.5z"></path></svg></span></form></div></div></div></div></div><div class="glue-header__drawer-backdrop"></div></header><script nonce="o0pp75lutLPAHrhr1N3ntw">var AF_initDataKeys = ["ds:0"]; var AF_dataServiceRequests = {'ds:0' : {id:'nInjGe',request:["cloudblog","products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems","en"]}}; var AF_initDataChunkQueue = []; var AF_initDataCallback; var AF_initDataInitializeCallback; if (AF_initDataInitializeCallback) {AF_initDataInitializeCallback(AF_initDataKeys, AF_initDataChunkQueue, AF_dataServiceRequests);}if (!AF_initDataCallback) {AF_initDataCallback = function(chunk) {AF_initDataChunkQueue.push(chunk);};}</script></head><body id="yDmH0d" jscontroller="pjICDe" jsaction="rcuQ6b:npT2md; click:FAbpgf; auxclick:FAbpgf" class="tQj5Y ghyPEc IqBfM ecJEib EWZcud nRhiJb-qJTHM" data-has-header="true" data-has-footer="true"><script aria-hidden="true" nonce="o0pp75lutLPAHrhr1N3ntw">window.wiz_progress&&window.wiz_progress();</script><div class="VUoKZ" aria-hidden="true"><div class="TRHLAc"></div></div><c-wiz jsrenderer="zPZHOe" class="SSPGKf" jsdata="deferred-i1" data-p="%.@."cloudblog","products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems","en"]" data-node-index="0;0" jsmodel="hc6Ubd" view c-wiz data-ogpc><div class="T4LgNb " jsname="a9kxte"><div jsname="qJTHM" class="kFwPee"><article class="nRhiJb-qJTHM" jsaction="rcuQ6b:npT2md" jscontroller="kxO7ab"><section class="nRhiJb-DARUcf"><div class="Wdmc0c nRhiJb-DbgRPb-wNfPc-cGMI2b"><div class="Qwf2Db-MnozTc Qwf2Db-MnozTc-OWXEXe-MnozTc-qWD73c nRhiJb-BFbNVe-r8s4j-bMElCd dIsJJe" track-name="serverless"track-type="tag">Serverless</div><div class="nRhiJb-ObfsIf"><div class="nRhiJb-kR0ZEf-OWXEXe-GV1x9e-R6PoUb"></div><div class="nRhiJb-kR0ZEf-OWXEXe-GV1x9e-EehZO nRhiJb-fmcmS-oXtfBe"><h1 class="Qwf2Db-MnozTc Qwf2Db-MnozTc-OWXEXe-MnozTc-ibL1re"><div class="Qwf2Db-MnozTc Qwf2Db-MnozTc-OWXEXe-MnozTc-ibL1re"><span class="FewWi"></span>Cloud Functions pro tips: Using retries to build reliable serverless systems</div></h1></div></div><div class="nRhiJb-fmcmS-oXtfBe dEogG">November 16, 2018</div></div></section><div class="EKklye"><div class="nRhiJb-DARUcf ZWw7T"><div class="npzWPc"><div class="dzoHJ"><div class="nRhiJb-DX2B6 nRhiJb-DX2B6-OWXEXe-h30Snd"><div class="nRhiJb-j5y3u"><ul class="nRhiJb-Qijihe phRaUe" role="list"><li class="hpHPGf"><a class="nRhiJb-ARYxNe" href="https://x.com/intent/tweet?text=Cloud%20Functions%20pro%20tips:%20Using%20retries%20to%20build%20reliable%20serverless%20systems%20@googlecloud&url=https://cloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems" track-name="x"track-type="social share"track-metadata-eventdetail="x.com/intent/tweet?text=Cloud Functions pro tips: Using retries to build reliable serverless systems%20@googlecloud&url=cloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems"track-metadata-module="social icons" target="_blank" rel="noopener"><svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-DX2B6 nRhiJb-Bz112c-OWXEXe-nSuQf" viewBox="0 0 24 24" role="presentation" aria-hidden="true" role="presentation" aria-hidden="true"><path d="M13.9,10.5L21.1,2h-1.7l-6.3,7.4L8,2H2.2l7.6,11.1L2.2,22h1.7l6.7-7.8L16,22h5.8L13.9,10.5L13.9,10.5z M11.5,13.2l-0.8-1.1 L4.6,3.3h2.7l5,7.1l0.8,1.1l6.5,9.2h-2.7L11.5,13.2L11.5,13.2z"></path></svg></a></li><li class="hpHPGf"><a class="nRhiJb-ARYxNe" href="https://www.linkedin.com/shareArticle?mini=true&url=https://cloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems&title=Cloud%20Functions%20pro%20tips:%20Using%20retries%20to%20build%20reliable%20serverless%20systems" track-name="linkedin"track-type="social share"track-metadata-eventdetail="www.linkedin.com/shareArticle?mini=true&url=cloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems&title=Cloud Functions pro tips: Using retries to build reliable serverless systems"track-metadata-module="social icons" target="_blank" rel="noopener"><svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-DX2B6 nRhiJb-Bz112c-OWXEXe-nSuQf" viewBox="0 0 24 24" role="presentation" aria-hidden="true" role="presentation" aria-hidden="true"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 20c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 19H5v-9h3v9zM6.5 8.31c-1 0-1.81-.81-1.81-1.81S5.5 4.69 6.5 4.69s1.81.81 1.81 1.81S7.5 8.31 6.5 8.31zM19 19h-3v-5.3c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5V19h-3v-9h3v1.2c.52-.84 1.59-1.4 2.5-1.4 1.93 0 3.5 1.57 3.5 3.5V19z"></path></svg></a></li><li class="hpHPGf"><a class="nRhiJb-ARYxNe" href="https://www.facebook.com/sharer/sharer.php?caption=Cloud%20Functions%20pro%20tips:%20Using%20retries%20to%20build%20reliable%20serverless%20systems&u=https://cloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems" track-name="facebook"track-type="social share"track-metadata-eventdetail="www.facebook.com/sharer/sharer.php?caption=Cloud Functions pro tips: Using retries to build reliable serverless systems&u=cloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems"track-metadata-module="social icons" target="_blank" rel="noopener"><svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-DX2B6 nRhiJb-Bz112c-OWXEXe-nSuQf" viewBox="0 0 24 24" role="presentation" aria-hidden="true" role="presentation" aria-hidden="true"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 20c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-1 2v3h-2c-.55 0-1 .45-1 1v2h3v3h-3v7h-3v-7h-2v-3h2V7.5C13 5.57 14.57 4 16.5 4H19z"></path></svg></a></li><li class="hpHPGf"><a class="nRhiJb-ARYxNe" href="mailto:?subject=Cloud%20Functions%20pro%20tips:%20Using%20retries%20to%20build%20reliable%20serverless%20systems&body=Check%20out%20this%20article%20on%20the%20Cloud%20Blog:%0A%0ACloud%20Functions%20pro%20tips:%20Using%20retries%20to%20build%20reliable%20serverless%20systems%0A%0ACloud%20Functions%20pro%20tips:%20Using%20retries%20to%20build%20reliable%20serverless%20systems%0A%0Ahttps://cloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems" track-name="email"track-type="social share"track-metadata-eventdetail="mailto:?subject=Cloud Functions pro tips: Using retries to build reliable serverless systems&body=Check%20out%20this%20article%20on%20the%20Cloud%20Blog:%0A%0ACloud Functions pro tips: Using retries to build reliable serverless systems%0A%0ACloud Functions pro tips: Using retries to build reliable serverless systems%0A%0Acloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems"track-metadata-module="social icons" target="_blank" rel="noopener"><svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-DX2B6 nRhiJb-Bz112c-OWXEXe-nSuQf" viewBox="0 0 24 24" role="presentation" aria-hidden="true" role="presentation" aria-hidden="true"><path d="M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-.8 2L12 10.8 4.8 6h14.4zM4 18V7.87l8 5.33 8-5.33V18H4z"></path></svg></a></li></ul></div></div></div></div></div><div><section class="nRhiJb-DARUcf"><div class="nRhiJb-DbgRPb-wNfPc-ma6Yeb nRhiJb-DbgRPb-wNfPc-cGMI2b"><section class="DA9Qj nRhiJb-ObfsIf nRhiJb-fmcmS-oXtfBe"><div class="nRhiJb-kR0ZEf-OWXEXe-GV1x9e-c5RTEf"></div><div class="nRhiJb-kR0ZEf-OWXEXe-GV1x9e-qWD73c"><h5 class="cHE8Ub Qwf2Db-MnozTc Qwf2Db-MnozTc-OWXEXe-MnozTc-qWD73c">Slawomir Walkowski</h5><p class="nRhiJb-qJTHM khCp7b">Software Engineer</p></div></section></div></section><div class="nRhiJb-DARUcf"><div class="nRhiJb-ObfsIf nRhiJb-DbgRPb-wNfPc-ma6Yeb nRhiJb-DbgRPb-qWD73c-cGMI2b"><div class="nRhiJb-kR0ZEf-OWXEXe-GV1x9e-ibL1re dzoHJ"></div><div class="OYL9D nRhiJb-kR0ZEf-OWXEXe-GV1x9e-OiUrBf" jsname="tx2NYc"><section class="Wy08Ac nRhiJb-qJTHM-OWXEXe-hJDwNd nRhiJb-DbgRPb-II5mzb-cGMI2b"><div jsaction="rcuQ6b:npT2md" jscontroller="M0Q3Qb" data-is-cws-richtext="true" class=" "><p>By now, you’re probably familiar with Cloud Functions, Google Cloud’s event-driven serverless compute platform. You may have even written a few functions yourself. Cloud Functions runs code in response to events emitted by <a href="https://cloud.google.com/">Google Cloud Platform</a> (GCP) or third-party services and clients. This is one of the simplest ways to run your code in the cloud: there are no servers to think about, you just wire your code to events, and pay only when it runs.</p><p>In theory, any service you build on top of Cloud Functions will scale automatically and also benefit from Cloud Functions’ availability and fault-tolerance characteristics, for example, provisioning and autoscaling of your functions, and its production-grade SLA.</p><p>But does that mean you don’t need to think about reliability issues associated with large-scale distributed systems? The answer is, not completely. While there are many things that GCP and Cloud Functions handle behind the scenes, you still need to keep a couple of best practices in mind while building a reliable serverless solution. In this post, we’ll discuss one of the key aspects of building reliable production systems with Cloud Functions: retrying executions.</p></div></section><section class="QzPuud"><div><section><figure class="NEBdNd"><section class="PBkdHd DhGbH" jscontroller="SCGBie" jsaction="rcuQ6b:npT2md"><img class="JcsBte mZzdH ZOnyjc" src="https://storage.googleapis.com/gweb-cloudblog-publish/images/builtin.max-1100x1100.png" alt="https://storage.googleapis.com/gweb-cloudblog-publish/images/builtin.max-1100x1100.png" jsname='P3Vluc' jsaction="click:HTIlC" loading="lazy"/><section class="glue-modal glue-modal--dark QHdDac" role="dialog" aria-modal="true"><img class="JcsBte mZzdH ZOnyjc" src="https://storage.googleapis.com/gweb-cloudblog-publish/images/builtin.max-1100x1100.png" alt="https://storage.googleapis.com/gweb-cloudblog-publish/images/builtin.max-1100x1100.png" jsname='P3Vluc' jsaction="click:HTIlC" loading="lazy"/><button class="glue-modal__close-btn" tabindex="0" aria-label="Close this modal"></button></section></section></figure></section></div></section><section class="Wy08Ac nRhiJb-qJTHM-OWXEXe-hJDwNd nRhiJb-DbgRPb-II5mzb-cGMI2b"><div jsaction="rcuQ6b:npT2md" jscontroller="M0Q3Qb" data-is-cws-richtext="true" class=" "><p><b>Retrying executions in Cloud Functions</b></p><p>The first thing you need to accept is that in distributed systems, failures happen. In fact, they are an inherent part of complex distributed systems, and it’s practically impossible to build one without them. To learn more about fault tolerance in distributed systems, check out <i>Distributed systems: principles and paradigms</i> book by A. S. Tanenbaum and M. van Steen.</p><p>You can, however, follow system-design best practices on how to handle failures gracefully. GCP helps in many ways, for example, by handling hardware failures and replicating your data. When you call the Cloud Vision API to identify an image, GCP makes sure that the service is available and can handle your request; when you put an object into a Cloud Storage bucket, Google makes sure it is persisted, using replication. But the overall reliability of your software running in the cloud must be a shared priority between you and the cloud provider. </p><p>As mentioned, functions act on events. They are particularly useful for connecting different systems, for example processing incoming data and uploading it to a storage system. In a perfect world, everything works as planned—a function receives data and persists it, for example in a database.</p></div></section><section class="QzPuud"><div><section><figure class="NEBdNd"><section class="PBkdHd DhGbH" jscontroller="SCGBie" jsaction="rcuQ6b:npT2md"><img class="JcsBte mZzdH ZOnyjc" src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Success_scenario.max-300x300.png" alt="https://storage.googleapis.com/gweb-cloudblog-publish/images/Success_scenario.max-300x300.png" jsname='P3Vluc' jsaction="click:HTIlC" loading="lazy"/><section class="glue-modal glue-modal--dark QHdDac" role="dialog" aria-modal="true"><img class="JcsBte mZzdH ZOnyjc" src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Success_scenario.max-300x300.png" alt="https://storage.googleapis.com/gweb-cloudblog-publish/images/Success_scenario.max-300x300.png" jsname='P3Vluc' jsaction="click:HTIlC" loading="lazy"/><button class="glue-modal__close-btn" tabindex="0" aria-label="Close this modal"></button></section></section></figure><div class="nRhiJb-cHYyed nRhiJb-DbgRPb-R6PoUb-ma6Yeb ZpqjUe"><div jsaction="rcuQ6b:npT2md" jscontroller="M0Q3Qb" data-is-cws-richtext="true" class=" "><i><b>Success scenario</b><b>:</b> function processes and saves data in a database</i></div></div></section></div></section><section class="Wy08Ac nRhiJb-qJTHM-OWXEXe-hJDwNd nRhiJb-DbgRPb-II5mzb-cGMI2b"><div jsaction="rcuQ6b:npT2md" jscontroller="M0Q3Qb" data-is-cws-richtext="true" class=" "><p>Unfortunately, there are lots of ways a function can fail. For example, it could run out of memory, there could be an external network connection issue, or a dependent third-party service may respond with a transient error. All these issues may result in data loss if the data doesn’t make it to the storage system.</p></div></section><section class="QzPuud"><div><section><figure class="NEBdNd"><section class="PBkdHd DhGbH" jscontroller="SCGBie" jsaction="rcuQ6b:npT2md"><img class="JcsBte mZzdH ZOnyjc" src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Error_scenario.max-400x400.png" alt="https://storage.googleapis.com/gweb-cloudblog-publish/images/Error_scenario.max-400x400.png" jsname='P3Vluc' jsaction="click:HTIlC" loading="lazy"/><section class="glue-modal glue-modal--dark QHdDac" role="dialog" aria-modal="true"><img class="JcsBte mZzdH ZOnyjc" src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Error_scenario.max-400x400.png" alt="https://storage.googleapis.com/gweb-cloudblog-publish/images/Error_scenario.max-400x400.png" jsname='P3Vluc' jsaction="click:HTIlC" loading="lazy"/><button class="glue-modal__close-btn" tabindex="0" aria-label="Close this modal"></button></section></section></figure><div class="nRhiJb-cHYyed nRhiJb-DbgRPb-R6PoUb-ma6Yeb ZpqjUe"><div jsaction="rcuQ6b:npT2md" jscontroller="M0Q3Qb" data-is-cws-richtext="true" class=" "><i><b>Error scenario</b><b>:</b> potential data loss</i></div></div></section></div></section><section class="Wy08Ac nRhiJb-qJTHM-OWXEXe-hJDwNd nRhiJb-DbgRPb-II5mzb-cGMI2b"><div jsaction="rcuQ6b:npT2md" jscontroller="M0Q3Qb" data-is-cws-richtext="true" class=" "><p>In a serverless environment, the simplest way to handle such failures is to retry executing the function, preferably automatically. (This is certainly better than asking your users to retry the failed requests to your system.)</p><p><b>HTTP vs. background functions</b></p><p>With Cloud Functions, all functions are typically invoked once for each request or event—unless an error occurs. Then, Cloud Functions offers different execution guarantees depending on what type of function you are using: an HTTP function or a background function. </p><p></p><p></p><ul><li><b>HTTP functions</b> are invoked by standard HTTP requests, which wait for an HTTP response from the function.</li></ul><p></p><p></p></div></section><section class="QzPuud"><div><section><figure class="NEBdNd"><section class="PBkdHd DhGbH" jscontroller="SCGBie" jsaction="rcuQ6b:npT2md"><img class="JcsBte mZzdH H05fDc" src="https://storage.googleapis.com/gweb-cloudblog-publish/images/HTTP_functions.max-200x200.png" alt="https://storage.googleapis.com/gweb-cloudblog-publish/images/HTTP_functions.max-200x200.png" jsname='P3Vluc' jsaction="click:HTIlC" loading="lazy"/><section class="glue-modal glue-modal--dark QHdDac" role="dialog" aria-modal="true"><img class="JcsBte mZzdH H05fDc" src="https://storage.googleapis.com/gweb-cloudblog-publish/images/HTTP_functions.max-200x200.png" alt="https://storage.googleapis.com/gweb-cloudblog-publish/images/HTTP_functions.max-200x200.png" jsname='P3Vluc' jsaction="click:HTIlC" loading="lazy"/><button class="glue-modal__close-btn" tabindex="0" aria-label="Close this modal"></button></section></section></figure></section></div></section><section class="Wy08Ac nRhiJb-qJTHM-OWXEXe-hJDwNd nRhiJb-DbgRPb-II5mzb-cGMI2b"><div jsaction="rcuQ6b:npT2md" jscontroller="M0Q3Qb" data-is-cws-richtext="true" class=" "><p></p><p></p><ul><li><b>Background functions</b> are invoked by cloud events, such as messages on a Cloud Pub/Sub topic, or changes in a Cloud Storage bucket.</li></ul><p></p><p></p></div></section><section class="QzPuud"><div><section><figure class="NEBdNd"><section class="PBkdHd DhGbH" jscontroller="SCGBie" jsaction="rcuQ6b:npT2md"><img class="JcsBte mZzdH ZOnyjc" src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Background_functions.max-400x400.png" alt="https://storage.googleapis.com/gweb-cloudblog-publish/images/Background_functions.max-400x400.png" jsname='P3Vluc' jsaction="click:HTIlC" loading="lazy"/><section class="glue-modal glue-modal--dark QHdDac" role="dialog" aria-modal="true"><img class="JcsBte mZzdH ZOnyjc" src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Background_functions.max-400x400.png" alt="https://storage.googleapis.com/gweb-cloudblog-publish/images/Background_functions.max-400x400.png" jsname='P3Vluc' jsaction="click:HTIlC" loading="lazy"/><button class="glue-modal__close-btn" tabindex="0" aria-label="Close this modal"></button></section></section></figure></section></div></section><section class="Wy08Ac nRhiJb-qJTHM-OWXEXe-hJDwNd nRhiJb-DbgRPb-II5mzb-cGMI2b"><div jsaction="rcuQ6b:npT2md" jscontroller="M0Q3Qb" data-is-cws-richtext="true" class=" "><p>HTTP functions are invoked <b><i>at most once</i></b>, due to their synchronous nature. This means that Cloud Functions does not retry HTTP calls—the caller must handle any errors. This is as it should be, given that in the case of a network failure, an HTTP request might not even reach Google’s infrastructure in the first place. </p><p>On the other hand, background functions are invoked <b><i>at least once</i></b> because Cloud Functions can retry asynchronous function invocations triggered by events (as there is no caller who could do it otherwise).</p><p>Let’s look at some examples. Here is an HTTP function that uploads the incoming HTTP request body to another service, by sending a POST request to it. Simple, right?</p></div></section><section class="nRhiJb-DbgRPb-II5mzb-cGMI2b"><section><div class="kg99be" jscontroller="vkZm2d" jsaction="rcuQ6b:npT2md" data-text-to-copy="const request = require('request-promise');
|
||
|
||
exports.httpFunction = (req, res) => {
|
||
request({
|
||
method: 'POST',
|
||
uri: 'https://api.myservice.com/upload',
|
||
body: req.body,
|
||
json: true
|
||
}).then(apiRes => {
|
||
res.status(200).send('Uploaded!');
|
||
}).catch(err => {
|
||
res.status(500).send('Failed.');
|
||
});
|
||
};" soy-skip ssk='4:dXrt'><div jsaction="click:VTVhdd" class="GaRnv"><svg class="" viewBox="0 0 20 20" role="presentation" aria-hidden="true" height=20 widdht=20><path d="M7.979 14.667c-.458 0-.84-.153-1.146-.459a1.53 1.53 0 0 1-.458-1.125V3.938c0-.459.153-.84.458-1.146.306-.306.688-.459 1.146-.459h6.625c.445 0 .823.156 1.136.469.312.313.468.691.468 1.136v9.145c0 .445-.156.82-.468 1.125a1.564 1.564 0 0 1-1.136.459H7.979Zm0-1.334h6.625c.083 0 .15-.024.198-.073a.239.239 0 0 0 .073-.177V3.938a.265.265 0 0 0-.073-.198.268.268 0 0 0-.198-.073H7.979a.268.268 0 0 0-.198.073.266.266 0 0 0-.073.198v9.145c0 .07.024.129.073.177a.267.267 0 0 0 .198.073ZM4.875 17.75a1.53 1.53 0 0 1-1.125-.458 1.532 1.532 0 0 1-.458-1.125V5.729h1.333v10.438c0 .07.024.128.073.177a.24.24 0 0 0 .177.073h7.937v1.333H4.875ZM7.708 3.667v9.666-9.666Z" fill="#1a73e8"/></svg></div><div jscontroller="M2lJBf" jsaction="rcuQ6b:npT2md" data-enable-content-editable-input-style="false" data-enable-line-wrapping data-read-only><div class="hg3Lgc qs41qe BEXrzd" data-loadingmessage="Loading..." jscontroller="GFartf" jsaction="animationend:kWijWc;dyRcpb:dyRcpb" data-active="true" jsname="aZ2wEe"><div class="eBrXtc" aria-live="polite" jsname="vyyg5">Loading...</div><div jsname="Hxlbvc" class="JdM54e"><div class="aopPX ZqnFk co39ub"><div class="e2XBBf uEtL3"><div class="kPEoYc GOJTSe"></div></div><div class="LqC3Y"><div class="kPEoYc GOJTSe"></div></div><div class="e2XBBf QR7YS"><div class="kPEoYc GOJTSe"></div></div></div><div class="aopPX fxjES Cn087"><div class="e2XBBf uEtL3"><div class="kPEoYc GOJTSe"></div></div><div class="LqC3Y"><div class="kPEoYc GOJTSe"></div></div><div class="e2XBBf QR7YS"><div class="kPEoYc GOJTSe"></div></div></div><div class="aopPX ZHXbZe hfsr6b"><div class="e2XBBf uEtL3"><div class="kPEoYc GOJTSe"></div></div><div class="LqC3Y"><div class="kPEoYc GOJTSe"></div></div><div class="e2XBBf QR7YS"><div class="kPEoYc GOJTSe"></div></div></div><div class="aopPX fDBOYb EjXFBf"><div class="e2XBBf uEtL3"><div class="kPEoYc GOJTSe"></div></div><div class="LqC3Y"><div class="kPEoYc GOJTSe"></div></div><div class="e2XBBf QR7YS"><div class="kPEoYc GOJTSe"></div></div></div></div></div><div dir="ltr"><textarea jsname="bqeLof" class="Fdco1c">const request = require('request-promise');
|
||
|
||
exports.httpFunction = (req, res) => {
|
||
request({
|
||
method: 'POST',
|
||
uri: 'https://api.myservice.com/upload',
|
||
body: req.body,
|
||
json: true
|
||
}).then(apiRes => {
|
||
res.status(200).send('Uploaded!');
|
||
}).catch(err => {
|
||
res.status(500).send('Failed.');
|
||
});
|
||
};</textarea></div></div></div></section></section><section class="Wy08Ac nRhiJb-qJTHM-OWXEXe-hJDwNd nRhiJb-DbgRPb-II5mzb-cGMI2b"><div jsaction="rcuQ6b:npT2md" jscontroller="M0Q3Qb" data-is-cws-richtext="true" class=" "><p>The problem is that the dependent system could fail because of a network connectivity issue, for example. This would result in function execution failure, and potential data loss if the function was not retried.</p><p>In case of HTTP functions, the right approach is for the code that calls the function to perform the retries. To implement retries, you can either write custom retry logic, or reuse a common library, such as ‘promise-retry’ in the following sample code. Here, a rejected <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise" target="_blank">Promise</a> results in retried calls to the function.</p></div></section><section class="nRhiJb-DbgRPb-II5mzb-cGMI2b"><section><div class="kg99be" jscontroller="vkZm2d" jsaction="rcuQ6b:npT2md" data-text-to-copy="const request = require('request-promise');
|
||
const promiseRetry = require('promise-retry');
|
||
|
||
promiseRetry(
|
||
// Perform 10 retries with exponential factor 2 and randomization.
|
||
{retries: 10, factor: 2, randomize: true},
|
||
(retry, number) => {
|
||
return request({
|
||
method: 'POST',
|
||
uri: 'https://us-central1-my-project.cloudfunctions.net/httpFunction',
|
||
body: { foo: 'bar' },
|
||
json: true
|
||
}).catch(retry);
|
||
});" soy-skip ssk='4:dXrt'><div jsaction="click:VTVhdd" class="GaRnv"><svg class="" viewBox="0 0 20 20" role="presentation" aria-hidden="true" height=20 widdht=20><path d="M7.979 14.667c-.458 0-.84-.153-1.146-.459a1.53 1.53 0 0 1-.458-1.125V3.938c0-.459.153-.84.458-1.146.306-.306.688-.459 1.146-.459h6.625c.445 0 .823.156 1.136.469.312.313.468.691.468 1.136v9.145c0 .445-.156.82-.468 1.125a1.564 1.564 0 0 1-1.136.459H7.979Zm0-1.334h6.625c.083 0 .15-.024.198-.073a.239.239 0 0 0 .073-.177V3.938a.265.265 0 0 0-.073-.198.268.268 0 0 0-.198-.073H7.979a.268.268 0 0 0-.198.073.266.266 0 0 0-.073.198v9.145c0 .07.024.129.073.177a.267.267 0 0 0 .198.073ZM4.875 17.75a1.53 1.53 0 0 1-1.125-.458 1.532 1.532 0 0 1-.458-1.125V5.729h1.333v10.438c0 .07.024.128.073.177a.24.24 0 0 0 .177.073h7.937v1.333H4.875ZM7.708 3.667v9.666-9.666Z" fill="#1a73e8"/></svg></div><div jscontroller="M2lJBf" jsaction="rcuQ6b:npT2md" data-enable-content-editable-input-style="false" data-enable-line-wrapping data-read-only><div class="hg3Lgc qs41qe BEXrzd" data-loadingmessage="Loading..." jscontroller="GFartf" jsaction="animationend:kWijWc;dyRcpb:dyRcpb" data-active="true" jsname="aZ2wEe"><div class="eBrXtc" aria-live="polite" jsname="vyyg5">Loading...</div><div jsname="Hxlbvc" class="JdM54e"><div class="aopPX ZqnFk co39ub"><div class="e2XBBf uEtL3"><div class="kPEoYc GOJTSe"></div></div><div class="LqC3Y"><div class="kPEoYc GOJTSe"></div></div><div class="e2XBBf QR7YS"><div class="kPEoYc GOJTSe"></div></div></div><div class="aopPX fxjES Cn087"><div class="e2XBBf uEtL3"><div class="kPEoYc GOJTSe"></div></div><div class="LqC3Y"><div class="kPEoYc GOJTSe"></div></div><div class="e2XBBf QR7YS"><div class="kPEoYc GOJTSe"></div></div></div><div class="aopPX ZHXbZe hfsr6b"><div class="e2XBBf uEtL3"><div class="kPEoYc GOJTSe"></div></div><div class="LqC3Y"><div class="kPEoYc GOJTSe"></div></div><div class="e2XBBf QR7YS"><div class="kPEoYc GOJTSe"></div></div></div><div class="aopPX fDBOYb EjXFBf"><div class="e2XBBf uEtL3"><div class="kPEoYc GOJTSe"></div></div><div class="LqC3Y"><div class="kPEoYc GOJTSe"></div></div><div class="e2XBBf QR7YS"><div class="kPEoYc GOJTSe"></div></div></div></div></div><div dir="ltr"><textarea jsname="bqeLof" class="Fdco1c">const request = require('request-promise');
|
||
const promiseRetry = require('promise-retry');
|
||
|
||
promiseRetry(
|
||
// Perform 10 retries with exponential factor 2 and randomization.
|
||
{retries: 10, factor: 2, randomize: true},
|
||
(retry, number) => {
|
||
return request({
|
||
method: 'POST',
|
||
uri: 'https://us-central1-my-project.cloudfunctions.net/httpFunction',
|
||
body: { foo: 'bar' },
|
||
json: true
|
||
}).catch(retry);
|
||
});</textarea></div></div></div></section></section><section class="Wy08Ac nRhiJb-qJTHM-OWXEXe-hJDwNd nRhiJb-DbgRPb-II5mzb-cGMI2b"><div jsaction="rcuQ6b:npT2md" jscontroller="M0Q3Qb" data-is-cws-richtext="true" class=" "><p>Now, here’s an example of a background function, which also uploads data to an external service. In this case, the data is extracted from a Cloud Pub/Sub message.</p></div></section><section class="nRhiJb-DbgRPb-II5mzb-cGMI2b"><section><div class="kg99be" jscontroller="vkZm2d" jsaction="rcuQ6b:npT2md" data-text-to-copy="const request = require('request-promise');
|
||
|
||
exports.pubSubFunction = (event) => {
|
||
const message = event.data;
|
||
const content =
|
||
JSON.parse(Buffer.from(message.data || '', 'base64').toString() || '{}');
|
||
return request({
|
||
method: 'POST',
|
||
uri: 'https://api.myservice.com/upload',
|
||
body: content,
|
||
json: true
|
||
});
|
||
};" soy-skip ssk='4:dXrt'><div jsaction="click:VTVhdd" class="GaRnv"><svg class="" viewBox="0 0 20 20" role="presentation" aria-hidden="true" height=20 widdht=20><path d="M7.979 14.667c-.458 0-.84-.153-1.146-.459a1.53 1.53 0 0 1-.458-1.125V3.938c0-.459.153-.84.458-1.146.306-.306.688-.459 1.146-.459h6.625c.445 0 .823.156 1.136.469.312.313.468.691.468 1.136v9.145c0 .445-.156.82-.468 1.125a1.564 1.564 0 0 1-1.136.459H7.979Zm0-1.334h6.625c.083 0 .15-.024.198-.073a.239.239 0 0 0 .073-.177V3.938a.265.265 0 0 0-.073-.198.268.268 0 0 0-.198-.073H7.979a.268.268 0 0 0-.198.073.266.266 0 0 0-.073.198v9.145c0 .07.024.129.073.177a.267.267 0 0 0 .198.073ZM4.875 17.75a1.53 1.53 0 0 1-1.125-.458 1.532 1.532 0 0 1-.458-1.125V5.729h1.333v10.438c0 .07.024.128.073.177a.24.24 0 0 0 .177.073h7.937v1.333H4.875ZM7.708 3.667v9.666-9.666Z" fill="#1a73e8"/></svg></div><div jscontroller="M2lJBf" jsaction="rcuQ6b:npT2md" data-enable-content-editable-input-style="false" data-enable-line-wrapping data-read-only><div class="hg3Lgc qs41qe BEXrzd" data-loadingmessage="Loading..." jscontroller="GFartf" jsaction="animationend:kWijWc;dyRcpb:dyRcpb" data-active="true" jsname="aZ2wEe"><div class="eBrXtc" aria-live="polite" jsname="vyyg5">Loading...</div><div jsname="Hxlbvc" class="JdM54e"><div class="aopPX ZqnFk co39ub"><div class="e2XBBf uEtL3"><div class="kPEoYc GOJTSe"></div></div><div class="LqC3Y"><div class="kPEoYc GOJTSe"></div></div><div class="e2XBBf QR7YS"><div class="kPEoYc GOJTSe"></div></div></div><div class="aopPX fxjES Cn087"><div class="e2XBBf uEtL3"><div class="kPEoYc GOJTSe"></div></div><div class="LqC3Y"><div class="kPEoYc GOJTSe"></div></div><div class="e2XBBf QR7YS"><div class="kPEoYc GOJTSe"></div></div></div><div class="aopPX ZHXbZe hfsr6b"><div class="e2XBBf uEtL3"><div class="kPEoYc GOJTSe"></div></div><div class="LqC3Y"><div class="kPEoYc GOJTSe"></div></div><div class="e2XBBf QR7YS"><div class="kPEoYc GOJTSe"></div></div></div><div class="aopPX fDBOYb EjXFBf"><div class="e2XBBf uEtL3"><div class="kPEoYc GOJTSe"></div></div><div class="LqC3Y"><div class="kPEoYc GOJTSe"></div></div><div class="e2XBBf QR7YS"><div class="kPEoYc GOJTSe"></div></div></div></div></div><div dir="ltr"><textarea jsname="bqeLof" class="Fdco1c">const request = require('request-promise');
|
||
|
||
exports.pubSubFunction = (event) => {
|
||
const message = event.data;
|
||
const content =
|
||
JSON.parse(Buffer.from(message.data || '', 'base64').toString() || '{}');
|
||
return request({
|
||
method: 'POST',
|
||
uri: 'https://api.myservice.com/upload',
|
||
body: content,
|
||
json: true
|
||
});
|
||
};</textarea></div></div></div></section></section><section class="Wy08Ac nRhiJb-qJTHM-OWXEXe-hJDwNd nRhiJb-DbgRPb-II5mzb-cGMI2b"><div jsaction="rcuQ6b:npT2md" jscontroller="M0Q3Qb" data-is-cws-richtext="true" class=" "><p>This background function has the same problem as our HTTP function—if the call to the dependent service fails, the function execution will fail, as we return the Promise as function result.</p><p>To retry background functions, you can usually just enable the ‘retry on failure’ option when deploying your function through the Cloud SDK or Cloud Console. This way, function execution is automatically retried for a given event until it completes successfully. The first retry is triggered almost immediately, and subsequent retries are performed according to the <a href="https://en.wikipedia.org/wiki/Exponential_backoff" target="_blank">exponential backoff</a> policy, capped at 10 second intervals, for up to seven days. You should be careful when using this option, though, because the function will be retried even if it crashes, returns an error because of a bug in your code, or because of unexpected event data. Therefore, you may want to make your function return an error only on transient issues (such as 503 Service Unavailable status code returned from an external service), and handle permanent problems (such as invalid input data) completely inside the function.</p></div></section><section class="nRhiJb-DbgRPb-II5mzb-cGMI2b"><section><div class="kg99be" jscontroller="vkZm2d" jsaction="rcuQ6b:npT2md" data-text-to-copy="gcloud functions deploy pubSubFunction --trigger-topic yourTopic --retry" soy-skip ssk='4:dXrt'><div jsaction="click:VTVhdd" class="GaRnv"><svg class="" viewBox="0 0 20 20" role="presentation" aria-hidden="true" height=20 widdht=20><path d="M7.979 14.667c-.458 0-.84-.153-1.146-.459a1.53 1.53 0 0 1-.458-1.125V3.938c0-.459.153-.84.458-1.146.306-.306.688-.459 1.146-.459h6.625c.445 0 .823.156 1.136.469.312.313.468.691.468 1.136v9.145c0 .445-.156.82-.468 1.125a1.564 1.564 0 0 1-1.136.459H7.979Zm0-1.334h6.625c.083 0 .15-.024.198-.073a.239.239 0 0 0 .073-.177V3.938a.265.265 0 0 0-.073-.198.268.268 0 0 0-.198-.073H7.979a.268.268 0 0 0-.198.073.266.266 0 0 0-.073.198v9.145c0 .07.024.129.073.177a.267.267 0 0 0 .198.073ZM4.875 17.75a1.53 1.53 0 0 1-1.125-.458 1.532 1.532 0 0 1-.458-1.125V5.729h1.333v10.438c0 .07.024.128.073.177a.24.24 0 0 0 .177.073h7.937v1.333H4.875ZM7.708 3.667v9.666-9.666Z" fill="#1a73e8"/></svg></div><div jscontroller="M2lJBf" jsaction="rcuQ6b:npT2md" data-enable-content-editable-input-style="false" data-enable-line-wrapping data-read-only><div class="hg3Lgc qs41qe BEXrzd" data-loadingmessage="Loading..." jscontroller="GFartf" jsaction="animationend:kWijWc;dyRcpb:dyRcpb" data-active="true" jsname="aZ2wEe"><div class="eBrXtc" aria-live="polite" jsname="vyyg5">Loading...</div><div jsname="Hxlbvc" class="JdM54e"><div class="aopPX ZqnFk co39ub"><div class="e2XBBf uEtL3"><div class="kPEoYc GOJTSe"></div></div><div class="LqC3Y"><div class="kPEoYc GOJTSe"></div></div><div class="e2XBBf QR7YS"><div class="kPEoYc GOJTSe"></div></div></div><div class="aopPX fxjES Cn087"><div class="e2XBBf uEtL3"><div class="kPEoYc GOJTSe"></div></div><div class="LqC3Y"><div class="kPEoYc GOJTSe"></div></div><div class="e2XBBf QR7YS"><div class="kPEoYc GOJTSe"></div></div></div><div class="aopPX ZHXbZe hfsr6b"><div class="e2XBBf uEtL3"><div class="kPEoYc GOJTSe"></div></div><div class="LqC3Y"><div class="kPEoYc GOJTSe"></div></div><div class="e2XBBf QR7YS"><div class="kPEoYc GOJTSe"></div></div></div><div class="aopPX fDBOYb EjXFBf"><div class="e2XBBf uEtL3"><div class="kPEoYc GOJTSe"></div></div><div class="LqC3Y"><div class="kPEoYc GOJTSe"></div></div><div class="e2XBBf QR7YS"><div class="kPEoYc GOJTSe"></div></div></div></div></div><div dir="ltr"><textarea jsname="bqeLof" class="Fdco1c">gcloud functions deploy pubSubFunction --trigger-topic yourTopic --retry</textarea></div></div></div></section></section><section class="QzPuud"><div><section><figure class="NEBdNd"><section class="PBkdHd DhGbH" jscontroller="SCGBie" jsaction="rcuQ6b:npT2md"><img class="JcsBte mZzdH ZOnyjc" src="https://storage.googleapis.com/gweb-cloudblog-publish/images/retry_2MwJ1fd.max-600x600.png" alt="https://storage.googleapis.com/gweb-cloudblog-publish/images/retry_2MwJ1fd.max-600x600.png" jsname='P3Vluc' jsaction="click:HTIlC" loading="lazy"/><section class="glue-modal glue-modal--dark QHdDac" role="dialog" aria-modal="true"><img class="JcsBte mZzdH ZOnyjc" src="https://storage.googleapis.com/gweb-cloudblog-publish/images/retry_2MwJ1fd.max-600x600.png" alt="https://storage.googleapis.com/gweb-cloudblog-publish/images/retry_2MwJ1fd.max-600x600.png" jsname='P3Vluc' jsaction="click:HTIlC" loading="lazy"/><button class="glue-modal__close-btn" tabindex="0" aria-label="Close this modal"></button></section></section></figure></section></div></section><section class="Wy08Ac nRhiJb-qJTHM-OWXEXe-hJDwNd nRhiJb-DbgRPb-II5mzb-cGMI2b"><div jsaction="rcuQ6b:npT2md" jscontroller="M0Q3Qb" data-is-cws-richtext="true" class=" "><p>Overall, retries can by applied in multiple places. As in our examples, the caller can retry requests to an HTTP function, while background functions can be configured to automatically be retried on failure. You can also retry calls to dependent systems from inside a function. You can do this by configuring client libraries (look at the options they offer), or by writing custom code. Finally, be sure to distinguish persistent errors from transient failures, and apply retries only on the latter. </p><p>Gracefully handling failures with retries is a key aspect of building resilient, reliable serverless code. To help you get started, visit <a href="https://cloud.google.com/functions/">cloud.google.com/functions/</a> and you can also find all the code we used in this blog post on <a href="https://github.com/GoogleCloudPlatform/cloud-functions-reliability-nodejs/tree/master/retries" target="_blank">GitHub</a>. Then, stay tuned for our next blog post, where we look at what to do when retrying a function isn’t enough.</p></div></section><section class="kcBhad"><section class="Fabbec"><span class="WrMNjb">Posted in</span><ul class="FzXI4e"><li class="I4B51b"><a href="https://cloud.google.com/blog/products/serverless" track-metadata-position="body"track-metadata-eventdetail="cloud.google.com/blog/products/serverless"track-metadata-module="tag list"track-metadata-module_headline="posted in">Serverless</a></li><li class="I4B51b"><a href="https://cloud.google.com/blog/products/application-development" track-metadata-position="body"track-metadata-eventdetail="cloud.google.com/blog/products/application-development"track-metadata-module="tag list"track-metadata-module_headline="posted in">Application Development</a></li><li class="I4B51b"><a href="https://cloud.google.com/blog/products/gcp" track-metadata-position="body"track-metadata-eventdetail="cloud.google.com/blog/products/gcp"track-metadata-module="tag list"track-metadata-module_headline="posted in">Google Cloud</a></li></ul></section></section></div></div></div></div></div><section class="nRhiJb-DARUcf " track-metadata-module="related articles" track-metadata-module_headline="related articles"><div class="nRhiJb-DbgRPb-c5RTEf-ma6Yeb nRhiJb-DbgRPb-wNfPc-cGMI2b"><h5 class="Qwf2Db-MnozTc Qwf2Db-MnozTc-OWXEXe-MnozTc-wNfPc nRhiJb-DbgRPb-II5mzb-cGMI2b">Related articles</h5><section class="m9cUGf HGev3 nJD2Qe nRhiJb-ObfsIf"><div class=" QaGyvd nRhiJb-kR0ZEf-OWXEXe-GV1x9e-c5RTEf nRhiJb-kR0ZEf-OWXEXe-GV1x9e-qWD73c-V2iZpe"><div class="mA0uBe"><a href="https://cloud.google.com/blog/products/serverless/introducing-cloud-run-instances" class="lD2oe" track-name="deploy personal ai agents with cloud run instances"track-type="card"track-metadata-eventdetail="cloud.google.com/blog/products/serverless/introducing-cloud-run-instances"><div class="AhkbS "><div class="hqnDEf"><section class="PBkdHd "><img class=" D5RK8d" src="https://storage.googleapis.com/gweb-cloudblog-publish/images/cloud_run_instances_blog_hero.max-700x700.jpg" alt="https://storage.googleapis.com/gweb-cloudblog-publish/images/cloud_run_instances_blog_hero.max-700x700.jpg" loading="lazy"/></section></div><div class="JUOx5b"><div class="Qwf2Db-MnozTc Qwf2Db-MnozTc-OWXEXe-MnozTc-qWD73c nRhiJb-DbgRPb-c5RTEf-ma6Yeb nRhiJb-BFbNVe-r8s4j-bMElCd FI6Gl nRhiJb-fmcmS-oXtfBe" track-name="serverless"track-type="tag">Serverless</div><h3 class="Qwf2Db-MnozTc HGFKtc Qwf2Db-MnozTc-OWXEXe-MnozTc-wNfPc">Deploy personal AI agents with Cloud Run instances</h3><p class="nRhiJb-cHYyed dTIXyb nRhiJb-DbgRPb-R6PoUb-ma6Yeb">By Ryan Pei • 3-minute read</p></div></div></a></div></div><div class=" QaGyvd nRhiJb-kR0ZEf-OWXEXe-GV1x9e-c5RTEf nRhiJb-kR0ZEf-OWXEXe-GV1x9e-qWD73c-V2iZpe"><div class="mA0uBe"><a href="https://cloud.google.com/blog/products/application-development/2026-gartner-mq-for-cloud-native-application-platforms" class="lD2oe" track-name="google is a leader in the 2026 gartner® magic quadrant™ for cloud-native application platforms"track-type="card"track-metadata-eventdetail="cloud.google.com/blog/products/application-development/2026-gartner-mq-for-cloud-native-application-platforms"><div class="AhkbS "><div class="hqnDEf"><section class="PBkdHd "><img class=" D5RK8d" src="https://storage.googleapis.com/gweb-cloudblog-publish/images/03_-_Application_Development_SWHuGHU.max-700x700.jpg" alt="https://storage.googleapis.com/gweb-cloudblog-publish/images/03_-_Application_Development_SWHuGHU.max-700x700.jpg" loading="lazy"/></section></div><div class="JUOx5b"><div class="Qwf2Db-MnozTc Qwf2Db-MnozTc-OWXEXe-MnozTc-qWD73c nRhiJb-DbgRPb-c5RTEf-ma6Yeb nRhiJb-BFbNVe-r8s4j-bMElCd FI6Gl nRhiJb-fmcmS-oXtfBe" track-name="application development"track-type="tag">Application Development</div><h3 class="Qwf2Db-MnozTc HGFKtc Qwf2Db-MnozTc-OWXEXe-MnozTc-wNfPc">Google is a Leader in the 2026 Gartner® Magic Quadrant™ for Cloud-Native Application Platforms</h3><p class="nRhiJb-cHYyed dTIXyb nRhiJb-DbgRPb-R6PoUb-ma6Yeb">By Ines Envid • 8-minute read</p></div></div></a></div></div><div class=" QaGyvd nRhiJb-kR0ZEf-OWXEXe-GV1x9e-c5RTEf nRhiJb-kR0ZEf-OWXEXe-GV1x9e-qWD73c-V2iZpe"><div class="mA0uBe"><a href="https://cloud.google.com/blog/products/serverless/cloud-run-multi-region-services-enhanced-for-high-availability" class="lD2oe" track-name="making highly available multi-region cloud run services just got easier"track-type="card"track-metadata-eventdetail="cloud.google.com/blog/products/serverless/cloud-run-multi-region-services-enhanced-for-high-availability"><div class="AhkbS "><div class="hqnDEf"><section class="PBkdHd "><img class=" D5RK8d" src="https://storage.googleapis.com/gweb-cloudblog-publish/images/31_-_Serverless_jUYyB2k.max-700x700.jpg" alt="https://storage.googleapis.com/gweb-cloudblog-publish/images/31_-_Serverless_jUYyB2k.max-700x700.jpg" loading="lazy"/></section></div><div class="JUOx5b"><div class="Qwf2Db-MnozTc Qwf2Db-MnozTc-OWXEXe-MnozTc-qWD73c nRhiJb-DbgRPb-c5RTEf-ma6Yeb nRhiJb-BFbNVe-r8s4j-bMElCd FI6Gl nRhiJb-fmcmS-oXtfBe" track-name="serverless"track-type="tag">Serverless</div><h3 class="Qwf2Db-MnozTc HGFKtc Qwf2Db-MnozTc-OWXEXe-MnozTc-wNfPc">Making highly available, multi-region Cloud Run services just got easier</h3><p class="nRhiJb-cHYyed dTIXyb nRhiJb-DbgRPb-R6PoUb-ma6Yeb">By Shane Ouchi • 3-minute read</p></div></div></a></div></div><div class=" QaGyvd nRhiJb-kR0ZEf-OWXEXe-GV1x9e-c5RTEf nRhiJb-kR0ZEf-OWXEXe-GV1x9e-qWD73c-V2iZpe"><div class="mA0uBe"><a href="https://cloud.google.com/blog/products/databases/vibe-coded-ai-studio-apps-with-firestore-firebase-cloud-sql" class="lD2oe" track-name="ai studio unlocks full-stack vibe coding with cloud run firebase and cloud sql no credit card required"track-type="card"track-metadata-eventdetail="cloud.google.com/blog/products/databases/vibe-coded-ai-studio-apps-with-firestore-firebase-cloud-sql"><div class="AhkbS "><div class="hqnDEf"><section class="PBkdHd "><img class=" D5RK8d" src="https://storage.googleapis.com/gweb-cloudblog-publish/images/10_-_Databases.max-700x700.jpg" alt="https://storage.googleapis.com/gweb-cloudblog-publish/images/10_-_Databases.max-700x700.jpg" loading="lazy"/></section></div><div class="JUOx5b"><div class="Qwf2Db-MnozTc Qwf2Db-MnozTc-OWXEXe-MnozTc-qWD73c nRhiJb-DbgRPb-c5RTEf-ma6Yeb nRhiJb-BFbNVe-r8s4j-bMElCd FI6Gl nRhiJb-fmcmS-oXtfBe" track-name="databases"track-type="tag">Databases</div><h3 class="Qwf2Db-MnozTc HGFKtc Qwf2Db-MnozTc-OWXEXe-MnozTc-wNfPc">AI Studio unlocks full-stack vibe coding with Cloud Run, Firebase, and Cloud SQL, no credit card required</h3><p class="nRhiJb-cHYyed dTIXyb nRhiJb-DbgRPb-R6PoUb-ma6Yeb">By Justin Mahood • 5-minute read</p></div></div></a></div></div></section></div></section></article></div></div><c-data id="i1" jsdata=" n2jFB;_;1"></c-data></c-wiz><script aria-hidden="true" nonce="o0pp75lutLPAHrhr1N3ntw">window.wiz_progress&&window.wiz_progress();window.wiz_tick&&window.wiz_tick('zPZHOe');</script><script nonce="o0pp75lutLPAHrhr1N3ntw">(function(){'use strict';var c=window,d=[];c.aft_counter=d;var e=[],f=0;function _recordIsAboveFold(a){if(!c._isLazyImage(a)&&!a.hasAttribute("data-noaft")&&a.src){var b=(c._isVisible||function(){})(c.document,a);a.setAttribute("data-atf",b);b&&(e.indexOf(a)!==-1||d.indexOf(a)!==-1||a.complete||d.push(a),a.hasAttribute("data-iml")&&(a=Number(a.getAttribute("data-iml")),a>f&&(f=a)))}}
|
||
c.initAft=function(){f=0;e=Array.prototype.slice.call(document.getElementsByTagName("img")).filter(function(a){return!!a.getAttribute("data-iml")});[].forEach.call(document.getElementsByTagName("img"),function(a){try{_recordIsAboveFold(a)}catch(b){throw b.message=a.hasAttribute("data-iid")?b.message+"\nrecordIsAboveFold error for defer inlined image":b.message+("\nrecordIsAboveFold error for img element with <src: "+a.src+">"),b;}});if(d.length===0)c.onaft(f);e=[]};}).call(this);
|
||
initAft()</script><script id="_ij" nonce="o0pp75lutLPAHrhr1N3ntw">window.IJ_values = [[null,null,"",false,null,null,true,false],'0','https:\/\/cloud.google.com\/blog\/',["cloudblog","products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems",["en","de","fr","ko","ja"],"en",null,"https://cloud.google.com/blog/","blog_article","cloud.google.com",["https://console.cloud.google.com/freetrial/","https://cloud.google.com/contact/","https://cloud.google.com/","https://cloud.google.com/blog/","https://cloud.google.com/","https://www.google.com/","https://cloud.google.com/products/","https://about.google.com/products/","https://about.google/intl/en/","https://support.google.com"],["googlecloud","googlecloud","showcase/google-cloud","googlecloud/","googlecloud/"],true,"/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems/"], null ,'boq_cloudx-web-blog-uiserver_20260909.00_p0','cloud.google.com',["US",4],[[["bigquery_ftv",["bigquery_ftv",[["control",["control",[97716263,97716264],["/bigquery"]]],["variantA",["variantA",[97716265,97716266],["/bigquery"]]],["variantB",["variantB",[97716267,97716268],["/bigquery"]]],["variantC",["variantC",[97716269,97716270],["/bigquery"]]]]]],["gemini_enterprise_hero_cta",["gemini_enterprise_hero_cta",[["control",["control",[106647111,106647112],["/gemini-enterprise"]]],["variantA",["variantA",[106647113,106647114],["/gemini-enterprise"]]],["variantB",["variantB",[106647115,106647116],["/gemini-enterprise"]]]]]],["jss",["jss",[["control",["control",[93803230,93804391],["/products/ai","/products/compute","/solutions/web-hosting"]]],["variantA",["variantA",[93803231,93804392],["/products/ai","/products/compute","/solutions/web-hosting"]]],["variantB",["variantB",[93803232,93804393],["/products/ai","/products/compute","/solutions/web-hosting"]]],["variantC",["variantC",[93803233,93804394],["/products/ai","/products/compute","/solutions/web-hosting"]]]]]],["learnify",["learnify",[["control",["control",[105572947,105573897,105572947,105573897,105572947,105573897,105572947,105573897,105572947,105573897,105572947,105573897,105572947,105573897],["/free","/speech-to-text","/bigquery","/products/compute","/run","/storage","/solutions/web-hosting"]]],["variantA",["variantA",[105572948,105573898,105572948,105573898,105572948,105573898,105572948,105573898,105572948,105573898,105572948,105573898,105572948,105573898],["/free","/speech-to-text","/bigquery","/products/compute","/run","/storage","/solutions/web-hosting"]]],["variantB",["variantB",[105572949,105573899,105572949,105573899,105572949,105573899,105572949,105573899,105572949,105573899,105572949,105573899,105572949,105573899],["/free","/speech-to-text","/bigquery","/products/compute","/run","/storage","/solutions/web-hosting"]]]]]],["visual_interest",["visual_interest",[["control",["control",[97933470,97933471],["/free"]]],["variantA",["variantA",[97933472,97933473],["/free"]]],["variantB",["variantB",[97933474,97933475],["/free"]]],["variantC",["variantC",[97940381,97940382],["/free"]]]]]]]], 0.0 ,["GTM-5CVQBG",[["en","\u202aEnglish\u202c",true,"en"],["de","\u202aDeutsch\u202c",true,"de"],["es","\u202aEspañol\u202c",true,"es"],["es-419","\u202aEspañol (Latinoamérica)\u202c",true,"es-419"],["fr","\u202aFrançais\u202c",true,"fr"],["id","\u202aIndonesia\u202c",true,"id"],["it","\u202aItaliano\u202c",true,"it"],["pt-BR","\u202aPortuguês (Brasil)\u202c",true,"pt-BR"],["zh-CN","\u202a简体中文\u202c",true,"zh-Hans"],["zh-TW","\u202a繁體中文\u202c",true,"zh-Hant"],["ja","\u202a日本語\u202c",true,"ja"],["ko","\u202a한국어\u202c",true,"ko"]],["83405","AIzaSyD3LJeW4Q6gtdgJlyeFZUp-GhpIoc6EUeg"],"en",null,null,[],[["https://cloud.google.com/innovators","https://cloud.google.com/innovators/plus/activate","https://cloud.google.com/innovators/innovatorsplus"],["https://workspace.google.com/pricing","https://www.x.com/googleworkspace","https://www.facebook.com/googleworkspace","https://www.youtube.com/channel/UCBmwzQnSoj9b6HzNmFrg_yw","https://www.instagram.com/googleworkspace","https://www.linkedin.com/showcase/googleworkspace","https://about.google/?utm_source\u003dworkspace.google.com\u0026utm_medium\u003dreferral\u0026utm_campaign\u003dgsuite-footer-en","https://about.google/products/?tip\u003dexplore","https://workspace.google.com","https://workspace.google.com/contact/?source\u003dgafb-form-globalnav-en","https://workspace.google.com/business/signup/welcome?hl\u003den\u0026source\u003dgafb-form-globalnav-en","https://workspace.google.com/blog"],["https://www.cloudskillsboost.google","https://www.cloudskillsboost.google?utm_source\u003dcgc\u0026utm_medium\u003dwebsite\u0026utm_campaign\u003devergreen","https://www.cloudskillsboost.google/subscriptions?utm_source\u003dcgc\u0026utm_medium\u003dwebsite\u0026utm_campaign\u003devergreenlaunchpromo","https://www.cloudskillsboost.google/subscriptions?utm_source\u003dcgc\u0026utm_medium\u003dwebsite\u0026utm_campaign\u003devergreen","https://www.cloudskillsboost.google/catalog?utm_source\u003dcgc\u0026utm_medium\u003dwebsite\u0026utm_campaign\u003devergreen","https://www.cloudskillsboost.google/paths?utm_source\u003dcgc\u0026utm_medium\u003dwebsite\u0026utm_campaign\u003devergreen"],["https://mapsplatform.google.com"],["https://cloud.google.com/developers","https://cloud.google.com/developers/settings?utm_source\u003dinnovators"],["https://console.cloud.google.com/freetrial","https://console.cloud.google.com/","https://console.cloud.google.com/freetrial?redirectPath\u003dhttps://cloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems/"],["https://aitestkitchen.withgoogle.com/signup","https://blog.google/technology/ai/join-us-in-the-ai-test-kitchen/","https://cloud.google.com/ai"],["https://googlecloudplatform.blogspot.com/","https://github.com/GoogleCloudPlatform","https://www.linkedin.com/showcase/google-cloud","https://x.com/googlecloud","https://www.facebook.com/googlecloud"],[[["https://cloud.google.com/products/compute"],["https://cloud.google.com/bigquery"],["https://cloud.google.com/kubernetes-engine"],["https://cloud.google.com/vertex-ai"],["https://cloud.google.com/apigee"],["https://cloud.google.com/functions"],["https://cloud.google.com/generative-ai-studio"],["https://cloud.google.com/products/agent-builder"],["https://cloud.google.com/products/conversational-agents"],["https://cloud.google.com/natural-language"],["https://cloud.google.com/speech-to-text"],["https://cloud.google.com/text-to-speech"],["https://cloud.google.com/video-intelligence"],["https://cloud.google.com/vertex-ai-notebooks"],["https://cloud.google.com/gpu"],["https://cloud.google.com/document-ai"],["https://cloud.google.com/looker"],["https://cloud.google.com/looker-studio"],["https://cloud.google.com/bare-metal"],["https://cloud.google.com/batch"],["https://cloud.google.com/vmware-engine"],["https://cloud.google.com/build"],["https://cloud.google.com/deploy"],["https://cloud.google.com/dataproc"],["https://cloud.google.com/products/dataflow"],["https://cloud.google.com/dataform"],["https://cloud.google.com/pubsub"],["https://cloud.google.com/data-fusion"],["https://cloud.google.com/composer"],["https://cloud.google.com/dataplex"],["https://cloud.google.com/analytics-hub"],["https://cloud.google.com/biglake"],["https://cloud.google.com/products/alloydb"],["https://cloud.google.com/bigtable"],["https://cloud.google.com/spanner"],["https://cloud.google.com/sql"],["https://cloud.google.com/products/firestore"],["https://cloud.google.com/memorystore"],["https://cloud.google.com/datastream"],["https://cloud.google.com/security/products/assured-open-source-software"],["https://cloud.google.com/code/"],["https://cloud.google.com/sdk"],["https://cloud.google.com/workstations"],["https://cloud.google.com/anti-money-laundering-ai"],["https://cloud.google.com/healthcare-api"],["https://cloud.google.com/device-connect"],["https://cloud.google.com/telecom-network-automation"],["https://cloud.google.com/telecom-data-fabric"],["https://cloud.google.com/telecom-subscriber-insights"],["https://cloud.google.com/application-integration"],["https://cloud.google.com/carbon-footprint"],["https://cloud.google.com/cost-management"],["https://cloud.google.com/managed-prometheus"],["https://cloud.google.com/service-health"],["https://cloud.google.com/earth-engine"],["https://cloud.google.com/cdn/"],["https://cloud.google.com/database-migration"],["https://cloud.google.com/storage-transfer-service/"],["https://cloud.google.com/immersive-stream/xr/"],["https://cloud.google.com/dns"],["https://cloud.google.com/security/products/intrusion-detection-system"],["https://cloud.google.com/load-balancing"],["https://cloud.google.com/nat"],["https://cloud.google.com/network-connectivity-center"],["https://cloud.google.com/network-intelligence-center"],["https://cloud.google.com/security/products/armor"],["https://cloud.google.com/security/products/firewall"],["https://cloud.google.com/private-service-connect"],["https://cloud.google.com/vpc"],["https://cloud.google.com/security/vpc-service-controls"],["https://cloud.google.com/logging"],["https://cloud.google.com/monitoring"],["https://cloud.google.com/appsheet/automation"],["https://cloud.google.com/identity"],["https://cloud.google.com/security/products/access-transparency"],["https://cloud.google.com/security/products/assured-workloads"],["https://cloud.google.com/security/products/security-key-management"],["https://cloud.google.com/security/products/confidential-computing"],["https://cloud.google.com/security/products/security-command-center"],["https://cloud.google.com/security/products/iap"],["https://cloud.google.com/security/products/certificate-authority-service"],["https://cloud.google.com/security/products/titan-security-key"],["https://cloud.google.com/security/products/recaptcha"],["https://cloud.google.com/security/products/identity-platform"],["https://cloud.google.com/security/products/threat-intelligence"],["https://cloud.google.com/security/products/attack-surface-management"],["https://cloud.google.com/security/products/digital-threat-monitoring"],["https://cloud.google.com/security/products/mandiant-security-validation"],["https://cloud.google.com/security/products/security-operations"],["https://cloud.google.com/appengine"],["https://cloud.google.com/run"],["https://cloud.google.com/workflows"],["https://cloud.google.com/storage"],["https://cloud.google.com/filestore"],["https://cloud.google.com/persistent-disk"],["https://cloud.google.com/backup-disaster-recovery"],["https://cloud.google.com/netapp-volumes"],["https://cloud.google.com/parallelstore"],["https://cloud.google.com/blockchain-node-engine"],["https://cloud.google.com/products/observability"],["https://cloud.google.com/products/gemini/cloud-assist"],["https://cloud.google.com/agent-assist"],["https://cloud.google.com/products/blockchain-rpc/"],["https://cloud.google.com/distributed-cloud"],["https://cloud.google.com/translate"]]]],[2026,9,11],[["en","x-default"],"x-default"],[null,true],null,"/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems/?hl\u003den",["6LcsrxUqAAAAAFhpR1lXsPN2j2nsTwy6JTbRKzJr"],null,["marketing-studio-write-user"]],[],'','o0pp75lutLPAHrhr1N3ntw','fNg-9ZZU2njgMObN0w-WGw','DEFAULT','\/blog', 2026.0 ,'https:\/\/cloud.google.com\/blog\/products\/serverless\/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems\/', null ,'ltr', false ,'https:\/\/accounts.google.com\/AccountChooser?continue\x3dhttps:\/\/cloud.google.com\/blog\/products\/serverless\/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems\/\x26hl\x3den-US','https:\/\/accounts.google.com\/ServiceLogin?hl\x3den-US\x26continue\x3dhttps:\/\/cloud.google.com\/blog\/products\/serverless\/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems\/','https:\/\/accounts.google.com\/SignOutOptions?continue\x3dhttps:\/\/cloud.google.com\/blog\/products\/serverless\/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems\/',[[[1]]], false , false , false ,'en','en-US','en_US', null , null ,'https:\/\/myaccount.google.com\/privacypolicy?hl\x3den-US', false , null ,'https:\/\/www.gstatic.com\/_\/boq-cloudx-web-blog\/_\/r\/','https:\/\/myaccount.google.com\/termsofservice?hl\x3den-US','gdu',[[[["Solutions \u0026 technology",null,[[["AI \u0026 Machine Learning","/blog/products/ai-machine-learning"],["API Management","/blog/products/api-management"],["Application Development","/blog/products/application-development"],["Application Modernization","/blog/products/application-modernization"],["Chrome Enterprise","/blog/products/chrome-enterprise"],["Compute","/blog/products/compute"],["Containers \u0026 Kubernetes","/blog/products/containers-kubernetes"],["Data Analytics","/blog/products/data-analytics"],["Databases","/blog/products/databases"],["DevOps \u0026 SRE","/blog/products/devops-sre"],["Maps \u0026 Geospatial","/blog/topics/maps-geospatial"],["Security",null,[[["Security \u0026 Identity","/blog/products/identity-security"],["Threat Intelligence","/blog/topics/threat-intelligence"]]]],["Infrastructure","/blog/products/infrastructure"],["Infrastructure Modernization","/blog/products/infrastructure-modernization"],["Networking","/blog/products/networking"],["Productivity \u0026 Collaboration","/blog/products/productivity-collaboration"],["SAP on Google Cloud","/blog/products/sap-google-cloud"],["Storage \u0026 Data Transfer","/blog/products/storage-data-transfer"],["Sustainability","/blog/topics/sustainability"]]]],["Ecosystem",null,[[["IT Leaders","/transform"],["Industries",null,[[["Financial Services","/blog/topics/financial-services"],["Healthcare \u0026 Life Sciences","/blog/topics/healthcare-life-sciences"],["Manufacturing","/blog/topics/manufacturing"],["Media \u0026 Entertainment","/blog/products/media-entertainment"],["Public Sector","/blog/topics/public-sector"],["Retail","/blog/topics/retail"],["Supply Chain","/blog/topics/supply-chain-logistics"],["Telecommunications","/blog/topics/telecommunications"]]]],["Partners","/blog/topics/partners"],["Startups \u0026 SMB","/blog/topics/startups"],["Training \u0026 Certifications","/blog/topics/training-certifications"],["Inside Google Cloud","/blog/topics/inside-google-cloud"],["Google Cloud Next \u0026 Events","/blog/topics/google-cloud-next"],["Google Cloud Consulting","/blog/topics/consulting"],["Google Maps Platform","https://mapsplatform.google.com/resources/blog/"],["Google Workspace","https://workspace.google.com/blog"]]]],["Developers \u0026 Practitioners","/blog/topics/developers-practitioners"],["Transform with Google Cloud","/transform"]]],[["de",[[["Neuigkeiten","/blog/de/topics/whats-new/aktuelles-auf-dem-google-cloud-blog"],["Lösungen \u0026 Technologien",null,[[["Anwendungsentwicklung","/blog/de/products/application-development"],["Anwendungsmodernisierung","/blog/de/products/anwendungsmodernisierung"],["API-Verwaltung","/blog/de/products/api-management"],["Chrome Enterprise","/blog/de/products/chrome-enterprise"],["Computing","/blog/de/products/compute"],["Containers \u0026 Kubernetes","/blog/de/products/containers-kubernetes"],["Datenanalysen","/blog/de/products/data-analytics"],["Datenbanken","/blog/de/products/databases"],["DevOps \u0026 SRE","/blog/de/products/devops-sre"],["Infrastruktur","/blog/de/products/infrastructure"],["KI \u0026 Machine Learning","/blog/de/products/ai-machine-learning"],["Maps \u0026 Geospatial","/blog/de/topics/maps-geospatial"],["Modernisierung der Infrastruktur","/blog/de/products/modernisierung-der-infrastruktur"],["Nachhaltigkeit","/blog/de/topics/nachhaltigkeit"],["Netzwerk","/blog/de/products/networking"],["Produktivität und Zusammenarbeit","/blog/de/products/produktivitaet-und-kollaboration"],["SAP in Google Cloud","/blog/de/products/sap-google-cloud"],["Sicherheit \u0026 Identität","/blog/de/products/identity-security"],["Speicher und Datentransfer","/blog/de/products/storage-data-transfer"]]]],["Ökosystem",null,[[["IT Leader","/transform/de"],["Industrien",null,[[["Behörden und öffentlicher Sektor","/blog/de/topics/public-sector"],["Einzelhandel","/blog/de/topics/retail"],["Fertigung","/blog/de/topics/fertigung"],["Finanzdienstleistungen","/blog/de/topics/financial-services"],["Gesundheitswesen und Biowissenschaften","/blog/de/topics/healthcare-life-sciences"],["Lieferkette und Logistik","/blog/de/topics/lieferkette-und-logistik"],["Medien und Unterhaltung","/blog/de/products/media-entertainment"],["Telekommunikation","/blog/de/topics/telecommunications"]]]],["Entwickler*innen \u0026 Fachkräfte","/blog/de/topics/developers-practitioners"],["Google Cloud Next \u0026 Events","/blog/de/topics/events"],["Google Maps Platform","/blog/de/products/maps-platform"],["Google Workspace","https://workspace.google.com/blog/de"],["Inside Google Cloud","/blog/de/topics/inside-google-cloud"],["Kunden","/blog/de/topics/kunden"],["Partner","/blog/de/topics/partners"],["Start-ups und KMU","/blog/de/topics/startups"],["Training und Zertifizierung","/blog/de/topics/training-certifications"]]]],["Transformation mit Google Cloud","/transform/de"]]]],["en",[[["Solutions \u0026 technology",null,[[["AI \u0026 Machine Learning","/blog/products/ai-machine-learning"],["API Management","/blog/products/api-management"],["Application Development","/blog/products/application-development"],["Application Modernization","/blog/products/application-modernization"],["Chrome Enterprise","/blog/products/chrome-enterprise"],["Compute","/blog/products/compute"],["Containers \u0026 Kubernetes","/blog/products/containers-kubernetes"],["Data Analytics","/blog/products/data-analytics"],["Databases","/blog/products/databases"],["DevOps \u0026 SRE","/blog/products/devops-sre"],["Maps \u0026 Geospatial","/blog/topics/maps-geospatial"],["Security",null,[[["Security \u0026 Identity","/blog/products/identity-security"],["Threat Intelligence","/blog/topics/threat-intelligence"]]]],["Infrastructure","/blog/products/infrastructure"],["Infrastructure Modernization","/blog/products/infrastructure-modernization"],["Networking","/blog/products/networking"],["Productivity \u0026 Collaboration","/blog/products/productivity-collaboration"],["SAP on Google Cloud","/blog/products/sap-google-cloud"],["Storage \u0026 Data Transfer","/blog/products/storage-data-transfer"],["Sustainability","/blog/topics/sustainability"]]]],["Ecosystem",null,[[["IT Leaders","/transform"],["Industries",null,[[["Financial Services","/blog/topics/financial-services"],["Healthcare \u0026 Life Sciences","/blog/topics/healthcare-life-sciences"],["Manufacturing","/blog/topics/manufacturing"],["Media \u0026 Entertainment","/blog/products/media-entertainment"],["Public Sector","/blog/topics/public-sector"],["Retail","/blog/topics/retail"],["Supply Chain","/blog/topics/supply-chain-logistics"],["Telecommunications","/blog/topics/telecommunications"]]]],["Partners","/blog/topics/partners"],["Startups \u0026 SMB","/blog/topics/startups"],["Training \u0026 Certifications","/blog/topics/training-certifications"],["Inside Google Cloud","/blog/topics/inside-google-cloud"],["Google Cloud Next \u0026 Events","/blog/topics/google-cloud-next"],["Google Cloud Consulting","/blog/topics/consulting"],["Google Maps Platform","https://mapsplatform.google.com/resources/blog/"],["Google Workspace","https://workspace.google.com/blog"]]]],["Developers \u0026 Practitioners","/blog/topics/developers-practitioners"],["Transform with Google Cloud","/transform"]]]],["fr",[[["Les tendances","/blog/fr/topics/les-tendances/quelles-sont-les-nouveautes-de-google-cloud"],["Solutions et Technologie",null,[[["Analyse de données","/blog/fr/products/analyse-de-donnees/"],["Bases de données","/blog/fr/products/databases"],["Calcul","/blog/fr/products/calcul/"],["Chrome Entreprise","/blog/fr/products/chrome-enterprise/"],["Conteneurs et Kubernetes","/blog/fr/products/conteneurs-et-kubernetes/"],["Développement d'Applications","/blog/fr/products/application-development"],["Développement durable","/blog/fr/topics/developpement-durable"],["DevOps et ingénierie SRE","/blog/fr/products/devops-sre"],["Gestion des API","/blog/fr/products/api-management"],["IA et Machine Learning","/blog/fr/products/ai-machine-learning"],["Infrastructure","/blog/fr/products/infrastructure"],["Maps et Géospatial","/blog/fr/topics/maps-geospatial"],["Modernisation d'Applications","/blog/fr/products/modernisation-dapplications/"],["Modernisation d'Infrastructure","/blog/fr/products/modernisation-dinfrastructure/"],["Networking","/blog/fr/products/networking"],["Productivité et Collaboration","/blog/fr/products/productivite-et-collaboration"],["SAP sur Google Cloud","/blog/fr/products/sap-google-cloud"],["Sécurité et Identité","/blog/fr/products/identity-security"],["Stockage et transfert de données","/blog/fr/products/storage-data-transfer"]]]],["Écosystème",null,[[["Responsables IT","/transform/fr"],["Industries",null,[[["Commerce","/blog/fr/topics/retail"],["Manufacturing","/blog/fr/topics/manufacturing"],["Médias et Divertissement","/blog/fr/products/media-entertainment"],["Santé","/blog/fr/topics/healthcare-life-sciences"],["Secteur Public","/blog/fr/topics/public-sector"],["Services Financiers","/blog/fr/topics/financial-services"],["Supply Chain","/blog/fr/topics/supply-chain/"],["Telecommunications","/blog/fr/topics/telecommunications"]]]],["Clients","/blog/fr/topics/clients/"],["Développeurs et professionnels","/blog/fr/topics/developers-practitioners"],["Formations et certifications","/blog/fr/topics/training-certifications"],["Google Cloud Next et Événements","/blog/fr/topics/evenements"],["Google Maps Platform","/blog/fr/products/maps-platform"],["Google Workspace","https://workspace.google.com/blog/fr"],["Inside Google Cloud","/blog/fr/topics/inside-google-cloud"],["Partenaires","/blog/fr/topics/partners"],["Start-ups et PME","/blog/fr/topics/startups"]]]],["Transformer avec Google Cloud","/transform/fr"]]]],["ja",[[["ソリューションとテクノロジー",null,[[["AI \u0026 機械学習","/blog/ja/products/ai-machine-learning"],["API 管理","/blog/ja/products/api-management"],["アプリケーション開発","/blog/ja/products/application-development"],["アプリケーション モダナイゼーション","/blog/ja/products/application-modernization"],["Chrome Enterprise","/blog/ja/products/chrome-enterprise"],["コンピューティング","/blog/ja/products/compute"],["Containers \u0026 Kubernetes","/blog/ja/products/containers-kubernetes"],["データ分析","/blog/ja/products/data-analytics"],["データベース","/blog/ja/products/databases"],["DevOps \u0026 SRE","/blog/ja/products/devops-sre"],["Maps \u0026 Geospatial","/blog/ja/products/maps-platform"],["セキュリティ",null,[[["セキュリティ \u0026 アイデンティティ","/blog/ja/products/identity-security"],["脅威インテリジェンス","/blog/ja/topics/threat-intelligence"]]]],["インフラストラクチャ","/blog/ja/products/infrastructure"],["インフラ モダナイゼーション","/blog/ja/products/infrastructure-modernization"],["ネットワーキング","/blog/ja/products/networking"],["生産性とコラボレーション","/blog/ja/products/productivity-collaboration"],["Google Cloud での SAP","/blog/ja/products/sap-google-cloud"],["ストレージとデータ転送","/blog/ja/products/storage-data-transfer"],["サステナビリティ","/blog/ja/topics/sustainability"]]]],["エコシステム",null,[[["ITリーダー","/transform/ja"],["業種",null,[[["金融サービス","/blog/ja/topics/financial-services"],["ヘルスケア、ライフ サイエンス","/blog/ja/topics/healthcare-life-sciences"],["製造","/blog/ja/topics/manufacturing"],["メディア、エンターテイメント","/blog/ja/products/media-entertainment"],["公共部門","/blog/ja/topics/public-sector"],["小売業","/blog/ja/topics/retail"],["サプライ チェーン","/blog/ja/topics/supply-chain-logistics"],["通信","/blog/ja/topics/telecommunications"]]]],["顧客事例","/blog/ja/topics/customers"],["パートナー","/blog/ja/topics/partners"],["スタートアップ \u0026 SMB","/blog/ja/topics/startups"],["トレーニングと認定","/blog/ja/topics/training-certifications"],["Inside Google Cloud","/blog/ja/topics/inside-google-cloud"],["Google Cloud Next と イベント","/blog/ja/topics/google-cloud-next"],["Google Maps Platform","/blog/ja/products/maps-platform"],["Google Workspace","https://workspace.google.com/blog/ja"]]]],["デベロッパー","/blog/ja/topics/developers-practitioners"],["Transform with Google Cloud","/transform/ja"]]]],["ko",[[["솔루션 및 기술",null,[[["AI 및 머신러닝","/blog/ko/products/ai-machine-learning"],["API 관리","/blog/ko/products/api-management"],["애플리케이션 개발","/blog/ko/products/application-development"],["애플리케이션 현대화","/blog/ko/products/application-modernization"],["Chrome Enterprise","/blog/products/chrome-enterprise"],["컴퓨팅","/blog/ko/products/compute"],["컨테이너 \u0026 Kubernetes","/blog/ko/products/containers-kubernetes"],["데이터 분석","/blog/ko/products/data-analytics"],["데이터베이스","/blog/ko/products/databases"],["DevOps 및 SRE","/blog/ko/products/devops-sre"],["Maps \u0026 Geospatial","/blog/ko/products/maps-platform"],["보안",null,[[["보안 \u0026 아이덴티티","/blog/ko/products/identity-security"],["위협 인텔리전스","/blog/ko/topics/threat-intelligence"]]]],["인프라","/blog/ko/products/infrastructure"],["Infrastructure Modernization","/blog/ko/products/infrastructure-modernization"],["네트워킹","/blog/ko/products/networking"],["생산성 및 공동작업","/blog/ko/products/productivity-collaboration"],["SAP on Google Cloud","/blog/ko/products/sap-google-cloud"],["스토리지 및 데이터 전송","/blog/ko/products/storage-data-transfer"],["지속가능성","/blog/ko/topics/sustainability"]]]],["에코시스템",null,[[["IT Leaders","/transform/ko"],["업종",null,[[["금융 서비스","/blog/ko/topics/financial-services"],["의료 및 생명과학","/blog/ko/topics/healthcare-life-sciences"],["제조업","/blog/ko/topics/manufacturing"],["미디어 및 엔터테인먼트","/blog/ko/products/media-entertainment"],["공공부문","/blog/ko/topics/public-sector"],["소매업","/blog/ko/topics/retail"],["공급망","/blog/topics/supply-chain-logistics"],["통신","/blog/ko/topics/telecommunications"]]]],["고객 사례","/blog/ko/topics/customers"],["파트너","/blog/ko/topics/partners"],["스타트업 \u0026 SMB","/blog/ko/topics/startups"],["교육 \u0026 인증","/blog/ko/topics/training-certifications"],["Inside Google Cloud","/blog/ko/topics/inside-google-cloud"],["Google Cloud Next 및 이벤트","/blog/ko/topics/google-cloud-next"],["Google Maps Platform","/blog/ko/products/maps-platform"],["Google Workspace","https://workspace.google.com/blog/ko"]]]],["개발 및 IT운영","/blog/ko/topics/developers-practitioners"],["Google Cloud와 함께 하는 디지털 혁신","/transform/ko"]]]]],[["de",[[["Products \u0026 technology",null,[[["AI \u0026 Machine Learning","/blog/p-t/ai-machine-learning"],["API Management","/blog/api-management"],["Applied engineering","/blog/products-technology/applied-engineering"],["Developer tools","/blog/developer-tools"],["Business intelligence (BI)","/blog/business-intelligence-bi"],["Chrome Enterprise","/blog/chrome-enterprise"],["Compute","/blog/compute"],["Containers \u0026 Kubernetes","/blog/containers-kubernetes"],["Data analytics","/blog/data-analytics"],["Databases","/blog/databases"],["DevOps","/blog/devops"],["Distributed cloud","/blog/distributed-cloud"],["Hybrid \u0026 multicloud","/blog/hybrid-multicloud/"],["Management tools","/blog/management-tools"],["Maps \u0026 geospatial","/blog/maps-geospatial"],["Migration","/blog/migration"],["Networking","/blog/networking"],["SAP on Google Cloud","/blog/sap-google-cloud"],["Security","/blog/security"],["Sovereignty \u0026 compliance","/blog/sovereignty-compliance"],["SRE","/blog/site-reliability-engineering-sre"],["Storage","/blog/storage"],["Threat Intelligence","/blog/threat-intelligence"]]],["See all product news","Stay informed on all Cloud product announcements","/blog/products/","linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)","linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)","#2F3793"],7],["Learning",null,[[["Cloud architecture","/blog/cloud-architecture"],["IT leaders","/blog/it-leaders"],["Training \u0026 certifications","/blog/training-certifications"]]],["Explore learning","Develop your cloud skills and enhance your expertise","/blog/products/","linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)","linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)","#004E41"]],["Developers","/blog/developers-practitioners"],["Customers \u0026 partners",null,[[["Customer stories","/blog/customer-stories"],["Financial services","/blog/financial-services"],["Gaming","/blog/gaming"],["Healthcare \u0026 life sciences","/blog/healthcare-life-sciences"],["Manufacturing","/blog/manufacturing"],["Media \u0026 entertainment","/blog/media-entertainment"],["Partners","/blog/partners"],["Public sector","/blog/public-sector"],["Retail","/blog/retail"],["Startups","/blog/startups"],["Supply chain \u0026 logistics","/blog/supply-chain-logistics"],["Telecommunications","/blog/telecommunications"]]],["Explore customers \u0026 partners","Learn how we work with organizations to transform industries","/blog/products/","linear-gradient(80.33deg, rgba(251, 188, 4, 0.2) 0%, rgba(242, 153, 0, 0.2) 50.64%, rgba(251, 188, 4, 0.2) 101.28%)","linear-gradient(80.33deg, rgba(251, 188, 4, 0.3) 0%, rgba(242, 153, 0, 0.3) 50.64%, rgba(251, 188, 4, 0.3) 101.28%)","#202124"]],["Inside Google Cloud",null,[[["Company news","/blog/company-news"],["Data centers \u0026 regions","/blog/data-centers-and-regions"],["Events","/blog/events"],["Consulting","/blog/google-cloud-consulting"],["Google Cloud Next","/blog/google-cloud-next"],["Sustainability","/blog/sustainability"],["Systems","/blog/systems"]]],["Explore Inside Google Cloud","Explore the latest Google Cloud news and events","/blog/products/","linear-gradient(80.33deg, rgba(254, 63, 60, 0.2) 0%, rgba(255, 110, 178, 0.2) 51.13%, rgba(254, 63, 60, 0.2) 101.28%)","linear-gradient(80.33deg, rgba(254, 63, 60, 0.3) 0%, rgba(255, 110, 178, 0.3) 51.13%, rgba(254, 63, 60, 0.3) 101.28%)","#7D0304"]]]]],["en",[[["Products \u0026 technology",null,[[["AI \u0026 Machine Learning","/blog/p-t/ai-machine-learning"],["API Management","/blog/api-management"],["Applied engineering","/blog/products-technology/applied-engineering"],["Developer tools","/blog/developer-tools"],["Business intelligence (BI)","/blog/business-intelligence-bi"],["Chrome Enterprise","/blog/chrome-enterprise"],["Compute","/blog/compute"],["Containers \u0026 Kubernetes","/blog/containers-kubernetes"],["Data analytics","/blog/data-analytics"],["Databases","/blog/databases"],["DevOps","/blog/devops"],["Distributed cloud","/blog/distributed-cloud"],["Hybrid \u0026 multicloud","/blog/hybrid-multicloud/"],["Management tools","/blog/management-tools"],["Maps \u0026 geospatial","/blog/maps-geospatial"],["Migration","/blog/migration"],["Networking","/blog/networking"],["SAP on Google Cloud","/blog/sap-google-cloud"],["Security","/blog/security"],["Sovereignty \u0026 compliance","/blog/sovereignty-compliance"],["SRE","/blog/site-reliability-engineering-sre"],["Storage","/blog/storage"],["Threat Intelligence","/blog/threat-intelligence"]]],["See all product news","Stay informed on all Cloud product announcements","/blog/products/","linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)","linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)","#2F3793"],7],["Learning",null,[[["Cloud architecture","/blog/cloud-architecture"],["IT leaders","/blog/it-leaders"],["Training \u0026 certifications","/blog/training-certifications"]]],["Explore learning","Develop your cloud skills and enhance your expertise","/blog/products/","linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)","linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)","#004E41"]],["Developers","/blog/developers-practitioners"],["Customers \u0026 partners",null,[[["Customer stories","/blog/customer-stories"],["Financial services","/blog/financial-services"],["Gaming","/blog/gaming"],["Healthcare \u0026 life sciences","/blog/healthcare-life-sciences"],["Manufacturing","/blog/manufacturing"],["Media \u0026 entertainment","/blog/media-entertainment"],["Partners","/blog/partners"],["Public sector","/blog/public-sector"],["Retail","/blog/retail"],["Startups","/blog/startups"],["Supply chain \u0026 logistics","/blog/supply-chain-logistics"],["Telecommunications","/blog/telecommunications"]]],["Explore customers \u0026 partners","Learn how we work with organizations to transform industries","/blog/products/","linear-gradient(80.33deg, rgba(251, 188, 4, 0.2) 0%, rgba(242, 153, 0, 0.2) 50.64%, rgba(251, 188, 4, 0.2) 101.28%)","linear-gradient(80.33deg, rgba(251, 188, 4, 0.3) 0%, rgba(242, 153, 0, 0.3) 50.64%, rgba(251, 188, 4, 0.3) 101.28%)","#202124"]],["Inside Google Cloud",null,[[["Company news","/blog/company-news"],["Data centers \u0026 regions","/blog/data-centers-and-regions"],["Events","/blog/events"],["Consulting","/blog/google-cloud-consulting"],["Google Cloud Next","/blog/google-cloud-next"],["Sustainability","/blog/sustainability"],["Systems","/blog/systems"]]],["Explore Inside Google Cloud","Explore the latest Google Cloud news and events","/blog/products/","linear-gradient(80.33deg, rgba(254, 63, 60, 0.2) 0%, rgba(255, 110, 178, 0.2) 51.13%, rgba(254, 63, 60, 0.2) 101.28%)","linear-gradient(80.33deg, rgba(254, 63, 60, 0.3) 0%, rgba(255, 110, 178, 0.3) 51.13%, rgba(254, 63, 60, 0.3) 101.28%)","#7D0304"]]]]],["fr",[[["Products \u0026 technology",null,[[["AI \u0026 Machine Learning","/blog/p-t/ai-machine-learning"],["API Management","/blog/api-management"],["Applied engineering","/blog/products-technology/applied-engineering"],["Developer tools","/blog/developer-tools"],["Business intelligence (BI)","/blog/business-intelligence-bi"],["Chrome Enterprise","/blog/chrome-enterprise"],["Compute","/blog/compute"],["Containers \u0026 Kubernetes","/blog/containers-kubernetes"],["Data analytics","/blog/data-analytics"],["Databases","/blog/databases"],["DevOps","/blog/devops"],["Distributed cloud","/blog/distributed-cloud"],["Hybrid \u0026 multicloud","/blog/hybrid-multicloud/"],["Management tools","/blog/management-tools"],["Maps \u0026 geospatial","/blog/maps-geospatial"],["Migration","/blog/migration"],["Networking","/blog/networking"],["SAP on Google Cloud","/blog/sap-google-cloud"],["Security","/blog/security"],["Sovereignty \u0026 compliance","/blog/sovereignty-compliance"],["SRE","/blog/site-reliability-engineering-sre"],["Storage","/blog/storage"],["Threat Intelligence","/blog/threat-intelligence"]]],["See all product news","Stay informed on all Cloud product announcements","/blog/products/","linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)","linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)","#2F3793"],7],["Learning",null,[[["Cloud architecture","/blog/cloud-architecture"],["IT leaders","/blog/it-leaders"],["Training \u0026 certifications","/blog/training-certifications"]]],["Explore learning","Develop your cloud skills and enhance your expertise","/blog/products/","linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)","linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)","#004E41"]],["Developers","/blog/developers-practitioners"],["Customers \u0026 partners",null,[[["Customer stories","/blog/customer-stories"],["Financial services","/blog/financial-services"],["Gaming","/blog/gaming"],["Healthcare \u0026 life sciences","/blog/healthcare-life-sciences"],["Manufacturing","/blog/manufacturing"],["Media \u0026 entertainment","/blog/media-entertainment"],["Partners","/blog/partners"],["Public sector","/blog/public-sector"],["Retail","/blog/retail"],["Startups","/blog/startups"],["Supply chain \u0026 logistics","/blog/supply-chain-logistics"],["Telecommunications","/blog/telecommunications"]]],["Explore customers \u0026 partners","Learn how we work with organizations to transform industries","/blog/products/","linear-gradient(80.33deg, rgba(251, 188, 4, 0.2) 0%, rgba(242, 153, 0, 0.2) 50.64%, rgba(251, 188, 4, 0.2) 101.28%)","linear-gradient(80.33deg, rgba(251, 188, 4, 0.3) 0%, rgba(242, 153, 0, 0.3) 50.64%, rgba(251, 188, 4, 0.3) 101.28%)","#202124"]],["Inside Google Cloud",null,[[["Company news","/blog/company-news"],["Data centers \u0026 regions","/blog/data-centers-and-regions"],["Events","/blog/events"],["Consulting","/blog/google-cloud-consulting"],["Google Cloud Next","/blog/google-cloud-next"],["Sustainability","/blog/sustainability"],["Systems","/blog/systems"]]],["Explore Inside Google Cloud","Explore the latest Google Cloud news and events","/blog/products/","linear-gradient(80.33deg, rgba(254, 63, 60, 0.2) 0%, rgba(255, 110, 178, 0.2) 51.13%, rgba(254, 63, 60, 0.2) 101.28%)","linear-gradient(80.33deg, rgba(254, 63, 60, 0.3) 0%, rgba(255, 110, 178, 0.3) 51.13%, rgba(254, 63, 60, 0.3) 101.28%)","#7D0304"]]]]],["ja",[[["Products \u0026 technology",null,[[["AI \u0026 Machine Learning","/blog/p-t/ai-machine-learning"],["API Management","/blog/api-management"],["Applied engineering","/blog/products-technology/applied-engineering"],["Developer tools","/blog/developer-tools"],["Business intelligence (BI)","/blog/business-intelligence-bi"],["Chrome Enterprise","/blog/chrome-enterprise"],["Compute","/blog/compute"],["Containers \u0026 Kubernetes","/blog/containers-kubernetes"],["Data analytics","/blog/data-analytics"],["Databases","/blog/databases"],["DevOps","/blog/devops"],["Distributed cloud","/blog/distributed-cloud"],["Hybrid \u0026 multicloud","/blog/hybrid-multicloud/"],["Management tools","/blog/management-tools"],["Maps \u0026 geospatial","/blog/maps-geospatial"],["Migration","/blog/migration"],["Networking","/blog/networking"],["SAP on Google Cloud","/blog/sap-google-cloud"],["Security","/blog/security"],["Sovereignty \u0026 compliance","/blog/sovereignty-compliance"],["SRE","/blog/site-reliability-engineering-sre"],["Storage","/blog/storage"],["Threat Intelligence","/blog/threat-intelligence"]]],["See all product news","Stay informed on all Cloud product announcements","/blog/products/","linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)","linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)","#2F3793"],7],["Learning",null,[[["Cloud architecture","/blog/cloud-architecture"],["IT leaders","/blog/it-leaders"],["Training \u0026 certifications","/blog/training-certifications"]]],["Explore learning","Develop your cloud skills and enhance your expertise","/blog/products/","linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)","linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)","#004E41"]],["Developers","/blog/developers-practitioners"],["Customers \u0026 partners",null,[[["Customer stories","/blog/customer-stories"],["Financial services","/blog/financial-services"],["Gaming","/blog/gaming"],["Healthcare \u0026 life sciences","/blog/healthcare-life-sciences"],["Manufacturing","/blog/manufacturing"],["Media \u0026 entertainment","/blog/media-entertainment"],["Partners","/blog/partners"],["Public sector","/blog/public-sector"],["Retail","/blog/retail"],["Startups","/blog/startups"],["Supply chain \u0026 logistics","/blog/supply-chain-logistics"],["Telecommunications","/blog/telecommunications"]]],["Explore customers \u0026 partners","Learn how we work with organizations to transform industries","/blog/products/","linear-gradient(80.33deg, rgba(251, 188, 4, 0.2) 0%, rgba(242, 153, 0, 0.2) 50.64%, rgba(251, 188, 4, 0.2) 101.28%)","linear-gradient(80.33deg, rgba(251, 188, 4, 0.3) 0%, rgba(242, 153, 0, 0.3) 50.64%, rgba(251, 188, 4, 0.3) 101.28%)","#202124"]],["Inside Google Cloud",null,[[["Company news","/blog/company-news"],["Data centers \u0026 regions","/blog/data-centers-and-regions"],["Events","/blog/events"],["Consulting","/blog/google-cloud-consulting"],["Google Cloud Next","/blog/google-cloud-next"],["Sustainability","/blog/sustainability"],["Systems","/blog/systems"]]],["Explore Inside Google Cloud","Explore the latest Google Cloud news and events","/blog/products/","linear-gradient(80.33deg, rgba(254, 63, 60, 0.2) 0%, rgba(255, 110, 178, 0.2) 51.13%, rgba(254, 63, 60, 0.2) 101.28%)","linear-gradient(80.33deg, rgba(254, 63, 60, 0.3) 0%, rgba(255, 110, 178, 0.3) 51.13%, rgba(254, 63, 60, 0.3) 101.28%)","#7D0304"]]]]],["ko",[[["Products \u0026 technology",null,[[["AI \u0026 Machine Learning","/blog/p-t/ai-machine-learning"],["API Management","/blog/api-management"],["Applied engineering","/blog/products-technology/applied-engineering"],["Developer tools","/blog/developer-tools"],["Business intelligence (BI)","/blog/business-intelligence-bi"],["Chrome Enterprise","/blog/chrome-enterprise"],["Compute","/blog/compute"],["Containers \u0026 Kubernetes","/blog/containers-kubernetes"],["Data analytics","/blog/data-analytics"],["Databases","/blog/databases"],["DevOps","/blog/devops"],["Distributed cloud","/blog/distributed-cloud"],["Hybrid \u0026 multicloud","/blog/hybrid-multicloud/"],["Management tools","/blog/management-tools"],["Maps \u0026 geospatial","/blog/maps-geospatial"],["Migration","/blog/migration"],["Networking","/blog/networking"],["SAP on Google Cloud","/blog/sap-google-cloud"],["Security","/blog/security"],["Sovereignty \u0026 compliance","/blog/sovereignty-compliance"],["SRE","/blog/site-reliability-engineering-sre"],["Storage","/blog/storage"],["Threat Intelligence","/blog/threat-intelligence"]]],["See all product news","Stay informed on all Cloud product announcements","/blog/products/","linear-gradient(79.98deg, rgba(66, 133, 244, 0.2) 0%, rgba(62, 106, 240, 0.2) 53.91%, rgba(87, 159, 255, 0.2) 107.82%)","linear-gradient(79.98deg, rgba(66, 133, 244, 0.3) 0%, rgba(62, 106, 240, 0.3) 53.91%, rgba(87, 159, 255, 0.3) 107.82%)","#2F3793"],7],["Learning",null,[[["Cloud architecture","/blog/cloud-architecture"],["IT leaders","/blog/it-leaders"],["Training \u0026 certifications","/blog/training-certifications"]]],["Explore learning","Develop your cloud skills and enhance your expertise","/blog/products/","linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)","linear-gradient(79.98deg, rgba(52, 168, 83, 0.2) 0%, rgba(102, 214, 105, 0.2) 53.91%, rgba(52, 168, 83, 0.2) 107.82%)","#004E41"]],["Developers","/blog/developers-practitioners"],["Customers \u0026 partners",null,[[["Customer stories","/blog/customer-stories"],["Financial services","/blog/financial-services"],["Gaming","/blog/gaming"],["Healthcare \u0026 life sciences","/blog/healthcare-life-sciences"],["Manufacturing","/blog/manufacturing"],["Media \u0026 entertainment","/blog/media-entertainment"],["Partners","/blog/partners"],["Public sector","/blog/public-sector"],["Retail","/blog/retail"],["Startups","/blog/startups"],["Supply chain \u0026 logistics","/blog/supply-chain-logistics"],["Telecommunications","/blog/telecommunications"]]],["Explore customers \u0026 partners","Learn how we work with organizations to transform industries","/blog/products/","linear-gradient(80.33deg, rgba(251, 188, 4, 0.2) 0%, rgba(242, 153, 0, 0.2) 50.64%, rgba(251, 188, 4, 0.2) 101.28%)","linear-gradient(80.33deg, rgba(251, 188, 4, 0.3) 0%, rgba(242, 153, 0, 0.3) 50.64%, rgba(251, 188, 4, 0.3) 101.28%)","#202124"]],["Inside Google Cloud",null,[[["Company news","/blog/company-news"],["Data centers \u0026 regions","/blog/data-centers-and-regions"],["Events","/blog/events"],["Consulting","/blog/google-cloud-consulting"],["Google Cloud Next","/blog/google-cloud-next"],["Sustainability","/blog/sustainability"],["Systems","/blog/systems"]]],["Explore Inside Google Cloud","Explore the latest Google Cloud news and events","/blog/products/","linear-gradient(80.33deg, rgba(254, 63, 60, 0.2) 0%, rgba(255, 110, 178, 0.2) 51.13%, rgba(254, 63, 60, 0.2) 101.28%)","linear-gradient(80.33deg, rgba(254, 63, 60, 0.3) 0%, rgba(255, 110, 178, 0.3) 51.13%, rgba(254, 63, 60, 0.3) 101.28%)","#7D0304"]]]]]]],'cloud.google.com','https', null , false , null ,[[106242883,1714247,97656895,98225186,106088277,105763536,105993283,1706538,48554501,106551328,97493656,106565539,105901316,106058902,105739268,97493634,106032101,97535270,98073360,97442195,97785984,48489830,97656881,105993269,97493642,105739254,97493620,98073330,97442181,97785970],null,null,null,null,true],];</script><script class="ds:0" nonce="o0pp75lutLPAHrhr1N3ntw">AF_initDataCallback({key: 'ds:0', hash: '1', data:[["Cloud Functions pro tips: Using retries to build reliable serverless systems","Cloud Functions pro tips: Using retries to build reliable serverless systems",[1542416400],"https://storage.googleapis.com/gweb-cloudblog-publish/images/31_-_Serverless_jUYyB2k.max-2600x2600.jpg","https://cloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems",[1542416404,967123000],"blog.articlepage",null,"/api/w_v2/pages/37791/","cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems",37791],[["Slawomir Walkowski","Software Engineer"]],[null,"\u003cscript type\u003d\"application/ld+json\"\u003e{\"@context\":\"https://schema.org\",\"@type\":\"BlogPosting\",\"@id\":\"https://cloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems\",\"headline\":\"Cloud Functions pro tips: Using retries to build reliable serverless systems\",\"description\":\"Cloud Functions pro tips: Using retries to build reliable serverless systems\",\"image\":\"https://storage.googleapis.com/gweb-cloudblog-publish/images/31_-_Serverless_jUYyB2k.max-2600x2600.jpg\",\"author\":[{\"@type\":\"Person\",\"name\":\"Slawomir Walkowski\",\"url\":\"\"}],\"datePublished\":\"2018-11-17\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Google Cloud\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://www.gstatic.com/cgc/google-cloud-logo.svg\"}},\"url\":\"https://cloud.google.com/blog/products/serverless/cloud-functions-pro-tips-using-retries-to-build-reliable-serverless-systems\",\"keywords\":[\"Serverless\",\"Application Development\",\"Google Cloud\"],\"timeRequired\":\"PT5M\"}\u003c/script\u003e"],["Cloud Functions pro tips: Using retries to build reliable serverless systems"],null,null,[[null,null,[null,[null,"\u003cp\u003eBy now, you’re probably familiar with Cloud Functions, Google Cloud’s event-driven serverless compute platform. You may have even written a few functions yourself. Cloud Functions runs code in response to events emitted by \u003ca href\u003d\"https://cloud.google.com/\"\u003eGoogle Cloud Platform\u003c/a\u003e (GCP) or third-party services and clients. This is one of the simplest ways to run your code in the cloud: there are no servers to think about, you just wire your code to events, and pay only when it runs.\u003c/p\u003e\u003cp\u003eIn theory, any service you build on top of Cloud Functions will scale automatically and also benefit from Cloud Functions’ availability and fault-tolerance characteristics, for example, provisioning and autoscaling of your functions, and its production-grade SLA.\u003c/p\u003e\u003cp\u003eBut does that mean you don’t need to think about reliability issues associated with large-scale distributed systems? The answer is, not completely. While there are many things that GCP and Cloud Functions handle behind the scenes, you still need to keep a couple of best practices in mind while building a reliable serverless solution. In this post, we’ll discuss one of the key aspects of building reliable production systems with Cloud Functions: retrying executions.\u003c/p\u003e"]]],[null,null,null,null,null,null,null,null,[[[null,""],["https://storage.googleapis.com/gweb-cloudblog-publish/images/builtin.max-1100x1100.png","https://storage.googleapis.com/gweb-cloudblog-publish/images/builtin.max-1100x1100.png 1026w, https://storage.googleapis.com/gweb-cloudblog-publish/images/builtin.max-1100x1100.png 1026w"," 1026px, 1026px","https://storage.googleapis.com/gweb-cloudblog-publish/images/builtin.max-1100x1100.png"],null,3]]],[null,null,[null,[null,"\u003cp\u003e\u003cb\u003eRetrying executions in Cloud Functions\u003c/b\u003e\u003c/p\u003e\u003cp\u003eThe first thing you need to accept is that in distributed systems, failures happen. In fact, they are an inherent part of complex distributed systems, and it’s practically impossible to build one without them. To learn more about fault tolerance in distributed systems, check out \u003ci\u003eDistributed systems: principles and paradigms\u003c/i\u003e book by A. S. Tanenbaum and M. van Steen.\u003c/p\u003e\u003cp\u003eYou can, however, follow system-design best practices on how to handle failures gracefully. GCP helps in many ways, for example, by handling hardware failures and replicating your data. When you call the Cloud Vision API to identify an image, GCP makes sure that the service is available and can handle your request; when you put an object into a Cloud Storage bucket, Google makes sure it is persisted, using replication. But the overall reliability of your software running in the cloud must be a shared priority between you and the cloud provider. \u003c/p\u003e\u003cp\u003eAs mentioned, functions act on events. They are particularly useful for connecting different systems, for example processing incoming data and uploading it to a storage system. In a perfect world, everything works as planned—a function receives data and persists it, for example in a database.\u003c/p\u003e"]]],[null,null,null,null,null,null,null,null,[[[null,"\u003ci\u003e\u003cb\u003eSuccess scenario\u003c/b\u003e\u003cb\u003e:\u003c/b\u003e function processes and saves data in a database\u003c/i\u003e"],["https://storage.googleapis.com/gweb-cloudblog-publish/images/Success_scenario.max-300x300.png",null,null,"https://storage.googleapis.com/gweb-cloudblog-publish/images/Success_scenario.max-300x300.png"],null,3]]],[null,null,[null,[null,"\u003cp\u003eUnfortunately, there are lots of ways a function can fail. For example, it could run out of memory, there could be an external network connection issue, or a dependent third-party service may respond with a transient error. All these issues may result in data loss if the data doesn’t make it to the storage system.\u003c/p\u003e"]]],[null,null,null,null,null,null,null,null,[[[null,"\u003ci\u003e\u003cb\u003eError scenario\u003c/b\u003e\u003cb\u003e:\u003c/b\u003e potential data loss\u003c/i\u003e"],["https://storage.googleapis.com/gweb-cloudblog-publish/images/Error_scenario.max-400x400.png",null,null,"https://storage.googleapis.com/gweb-cloudblog-publish/images/Error_scenario.max-400x400.png"],null,3]]],[null,null,[null,[null,"\u003cp\u003eIn a serverless environment, the simplest way to handle such failures is to retry executing the function, preferably automatically. (This is certainly better than asking your users to retry the failed requests to your system.)\u003c/p\u003e\u003cp\u003e\u003cb\u003eHTTP vs. background functions\u003c/b\u003e\u003c/p\u003e\u003cp\u003eWith Cloud Functions, all functions are typically invoked once for each request or event—unless an error occurs. Then, Cloud Functions offers different execution guarantees depending on what type of function you are using: an HTTP function or a background function. \u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cb\u003eHTTP functions\u003c/b\u003e are invoked by standard HTTP requests, which wait for an HTTP response from the function.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e"]]],[null,null,null,null,null,null,null,null,[[[null,""],["https://storage.googleapis.com/gweb-cloudblog-publish/images/HTTP_functions.max-200x200.png",null,null,"https://storage.googleapis.com/gweb-cloudblog-publish/images/HTTP_functions.max-200x200.png"],null,2]]],[null,null,[null,[null,"\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cb\u003eBackground functions\u003c/b\u003e are invoked by cloud events, such as messages on a Cloud Pub/Sub topic, or changes in a Cloud Storage bucket.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e"]]],[null,null,null,null,null,null,null,null,[[[null,""],["https://storage.googleapis.com/gweb-cloudblog-publish/images/Background_functions.max-400x400.png",null,null,"https://storage.googleapis.com/gweb-cloudblog-publish/images/Background_functions.max-400x400.png"],null,3]]],[null,null,[null,[null,"\u003cp\u003eHTTP functions are invoked \u003cb\u003e\u003ci\u003eat most once\u003c/i\u003e\u003c/b\u003e, due to their synchronous nature. This means that Cloud Functions does not retry HTTP calls—the caller must handle any errors. This is as it should be, given that in the case of a network failure, an HTTP request might not even reach Google’s infrastructure in the first place. \u003c/p\u003e\u003cp\u003eOn the other hand, background functions are invoked \u003cb\u003e\u003ci\u003eat least once\u003c/i\u003e\u003c/b\u003e because Cloud Functions can retry asynchronous function invocations triggered by events (as there is no caller who could do it otherwise).\u003c/p\u003e\u003cp\u003eLet’s look at some examples. Here is an HTTP function that uploads the incoming HTTP request body to another service, by sending a POST request to it. Simple, right?\u003c/p\u003e"]]],[["const request \u003d require('request-promise');\r\n\r\nexports.httpFunction \u003d (req, res) \u003d\u003e {\r\n request({\r\n method: 'POST',\r\n uri: 'https://api.myservice.com/upload',\r\n body: req.body,\r\n json: true\r\n }).then(apiRes \u003d\u003e {\r\n res.status(200).send('Uploaded!');\r\n }).catch(err \u003d\u003e {\r\n res.status(500).send('Failed.');\r\n });\r\n};",null,[null,""]]],[null,null,[null,[null,"\u003cp\u003eThe problem is that the dependent system could fail because of a network connectivity issue, for example. This would result in function execution failure, and potential data loss if the function was not retried.\u003c/p\u003e\u003cp\u003eIn case of HTTP functions, the right approach is for the code that calls the function to perform the retries. To implement retries, you can either write custom retry logic, or reuse a common library, such as ‘promise-retry’ in the following sample code. Here, a rejected \u003ca href\u003d\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\" target\u003d\"_blank\"\u003ePromise\u003c/a\u003e results in retried calls to the function.\u003c/p\u003e"]]],[["const request \u003d require('request-promise');\r\nconst promiseRetry \u003d require('promise-retry');\r\n\r\npromiseRetry(\r\n // Perform 10 retries with exponential factor 2 and randomization.\r\n {retries: 10, factor: 2, randomize: true},\r\n (retry, number) \u003d\u003e {\r\n return request({\r\n method: 'POST',\r\n uri: 'https://us-central1-my-project.cloudfunctions.net/httpFunction',\r\n body: { foo: 'bar' },\r\n json: true\r\n }).catch(retry);\r\n});",null,[null,""]]],[null,null,[null,[null,"\u003cp\u003eNow, here’s an example of a background function, which also uploads data to an external service. In this case, the data is extracted from a Cloud Pub/Sub message.\u003c/p\u003e"]]],[["const request \u003d require('request-promise');\r\n\r\nexports.pubSubFunction \u003d (event) \u003d\u003e {\r\n const message \u003d event.data;\r\n const content \u003d\r\n JSON.parse(Buffer.from(message.data || '', 'base64').toString() || '{}');\r\n return request({\r\n method: 'POST',\r\n uri: 'https://api.myservice.com/upload',\r\n body: content,\r\n json: true\r\n });\r\n};",null,[null,""]]],[null,null,[null,[null,"\u003cp\u003eThis background function has the same problem as our HTTP function—if the call to the dependent service fails, the function execution will fail, as we return the Promise as function result.\u003c/p\u003e\u003cp\u003eTo retry background functions, you can usually just enable the ‘retry on failure’ option when deploying your function through the Cloud SDK or Cloud Console. This way, function execution is automatically retried for a given event until it completes successfully. The first retry is triggered almost immediately, and subsequent retries are performed according to the \u003ca href\u003d\"https://en.wikipedia.org/wiki/Exponential_backoff\" target\u003d\"_blank\"\u003eexponential backoff\u003c/a\u003e policy, capped at 10 second intervals, for up to seven days. You should be careful when using this option, though, because the function will be retried even if it crashes, returns an error because of a bug in your code, or because of unexpected event data. Therefore, you may want to make your function return an error only on transient issues (such as 503 Service Unavailable status code returned from an external service), and handle permanent problems (such as invalid input data) completely inside the function.\u003c/p\u003e"]]],[["gcloud functions deploy pubSubFunction --trigger-topic yourTopic --retry",null,[null,""]]],[null,null,null,null,null,null,null,null,[[[null,""],["https://storage.googleapis.com/gweb-cloudblog-publish/images/retry_2MwJ1fd.max-600x600.png","https://storage.googleapis.com/gweb-cloudblog-publish/images/retry_2MwJ1fd.max-600x600.png 578w, https://storage.googleapis.com/gweb-cloudblog-publish/images/retry_2MwJ1fd.max-600x600.png 578w"," 578px, 578px","https://storage.googleapis.com/gweb-cloudblog-publish/images/retry_2MwJ1fd.max-600x600.png"],null,3]]],[null,null,[null,[null,"\u003cp\u003eOverall, retries can by applied in multiple places. As in our examples, the caller can retry requests to an HTTP function, while background functions can be configured to automatically be retried on failure. You can also retry calls to dependent systems from inside a function. You can do this by configuring client libraries (look at the options they offer), or by writing custom code. Finally, be sure to distinguish persistent errors from transient failures, and apply retries only on the latter. \u003c/p\u003e\u003cp\u003eGracefully handling failures with retries is a key aspect of building resilient, reliable serverless code. To help you get started, visit \u003ca href\u003d\"https://cloud.google.com/functions/\"\u003ecloud.google.com/functions/\u003c/a\u003e and you can also find all the code we used in this blog post on \u003ca href\u003d\"https://github.com/GoogleCloudPlatform/cloud-functions-reliability-nodejs/tree/master/retries\" target\u003d\"_blank\"\u003eGitHub\u003c/a\u003e. Then, stay tuned for our next blog post, where we look at what to do when retrying a function isn’t enough.\u003c/p\u003e"]]]],[["Serverless","Deploy personal AI agents with Cloud Run instances","Cloud Run instances are cost-effective, dedicated, singleton compute runtimes designed to support long-lived workloads like personal AI agents.",["https://storage.googleapis.com/gweb-cloudblog-publish/images/cloud_run_instances_blog_hero.max-700x700.jpg","https://storage.googleapis.com/gweb-cloudblog-publish/images/cloud_run_instances_blog_hero.max-400x400.jpg 324w, https://storage.googleapis.com/gweb-cloudblog-publish/images/cloud_run_instances_blog_hero.max-700x700.jpg 648w"," 324px, 648px","https://storage.googleapis.com/gweb-cloudblog-publish/images/cloud_run_instances_blog_hero.max-700x700.jpg"],null,3,null,"https://cloud.google.com/blog/products/serverless/introducing-cloud-run-instances",null,1,[["Ryan Pei","Product Manager"],["Matthew Robertson","Software Engineer"]],null,"59356"],["Application Development","Google is a Leader in the 2026 Gartner® Magic Quadrant™ for Cloud-Native Application Platforms","As a 2026 Gartner Magic Quadrant for Cloud-Native Application Platforms Leader, we help developers focus on their apps rather than infrastructure.",["https://storage.googleapis.com/gweb-cloudblog-publish/images/03_-_Application_Development_SWHuGHU.max-700x700.jpg","https://storage.googleapis.com/gweb-cloudblog-publish/images/03_-_Application_Development_SWHuGHU.max-400x400.jpg 324w, https://storage.googleapis.com/gweb-cloudblog-publish/images/03_-_Application_Development_SWHuGHU.max-700x700.jpg 648w"," 324px, 648px","https://storage.googleapis.com/gweb-cloudblog-publish/images/03_-_Application_Development_SWHuGHU.max-700x700.jpg"],null,8,null,"https://cloud.google.com/blog/products/application-development/2026-gartner-mq-for-cloud-native-application-platforms",null,1,[["Ines Envid","Sr. Director, Product Management"],["Lisa Shen","Product Manager, Google Cloud"]],null,"59298"],["Serverless","Making highly available, multi-region Cloud Run services just got easier","Enhancements to Cloud run multi-region services make it easier to detect regional service disruptions and automatically fail over to a healthy region.",["https://storage.googleapis.com/gweb-cloudblog-publish/images/31_-_Serverless_jUYyB2k.max-700x700.jpg","https://storage.googleapis.com/gweb-cloudblog-publish/images/31_-_Serverless_jUYyB2k.max-400x400.jpg 324w, https://storage.googleapis.com/gweb-cloudblog-publish/images/31_-_Serverless_jUYyB2k.max-700x700.jpg 648w"," 324px, 648px","https://storage.googleapis.com/gweb-cloudblog-publish/images/31_-_Serverless_jUYyB2k.max-700x700.jpg"],null,3,null,"https://cloud.google.com/blog/products/serverless/cloud-run-multi-region-services-enhanced-for-high-availability",null,1,[["Shane Ouchi","Product Manager"],["Jeff Chao","Engineering Manager"]],null,"59163"],["Databases","AI Studio unlocks full-stack vibe coding with Cloud Run, Firebase, and Cloud SQL, no credit card required","Deploy two AI Studio apps to the Google Cloud Starter Tier without a credit card using Firestore, a Cloud SQL relational database, and Firebase Auth.",["https://storage.googleapis.com/gweb-cloudblog-publish/images/10_-_Databases.max-700x700.jpg","https://storage.googleapis.com/gweb-cloudblog-publish/images/10_-_Databases.max-400x400.jpg 324w, https://storage.googleapis.com/gweb-cloudblog-publish/images/10_-_Databases.max-700x700.jpg 648w"," 324px, 648px","https://storage.googleapis.com/gweb-cloudblog-publish/images/10_-_Databases.max-700x700.jpg"],null,5,null,"https://cloud.google.com/blog/products/databases/vibe-coded-ai-studio-apps-with-firestore-firebase-cloud-sql",null,1,[["Justin Mahood","Product Management"],["Gopal Ashok","Product Management"]],null,"58860"]],null,"Serverless",null,[["Serverless","https://cloud.google.com/blog/products/serverless","serverless",[],["en"],"Products"],["Application Development","https://cloud.google.com/blog/products/application-development","application-development",[],["en"],"Products"],["Google Cloud","https://cloud.google.com/blog/products/gcp","gcp",[],["en"],"Products"]],null,null,5,null,37791], sideChannel: {}});</script><script id="wiz_jd" nonce="o0pp75lutLPAHrhr1N3ntw">if (window['_wjdc']) {const wjd = {}; window['_wjdc'](wjd); delete window['_wjdc'];}</script><script aria-hidden="true" id="WIZ-footer" nonce="o0pp75lutLPAHrhr1N3ntw">window.wiz_progress&&window.wiz_progress();window.stopScanForCss&&window.stopScanForCss(); ccTick('bl');</script></body></html><footer id="ZCHFDb"><footer class="nRhiJb-RWrDld nRhiJb-yePe5c QJnbF" jscontroller="NsSboe" track-metadata-module="footer"><h3 class="nRhiJb-VqCwd-L6cTce">Footer Links</h3><section class="nRhiJb-haF9Wb r2W5Od"><section class="nRhiJb-DX2B6"><div class="nRhiJb-j5y3u"><h4 class="nRhiJb-BkAck nRhiJb-BkAck-OWXEXe-TzA9Ye">Follow us</h4><ul class="nRhiJb-Qijihe c3Uqdd" role="list"><li class="nRhiJb-KKXgde"><a class="nRhiJb-ARYxNe" href="https://www.x.com/googlecloud" target="_blank" rel="noopener" track-name="x"track-type="social link"track-metadata-position="footer"track-metadata-eventdetail="www.x.com/googlecloud"track-metadata-module="footer"track-metadata-module_headline="follow us"><svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-xgZe3c nRhiJb-Bz112c-OWXEXe-DX2B6" viewBox="0 0 24 24" role="presentation" aria-hidden="true"><path d="M13.9,10.5L21.1,2h-1.7l-6.3,7.4L8,2H2.2l7.6,11.1L2.2,22h1.7l6.7-7.8L16,22h5.8L13.9,10.5L13.9,10.5z M11.5,13.2l-0.8-1.1 L4.6,3.3h2.7l5,7.1l0.8,1.1l6.5,9.2h-2.7L11.5,13.2L11.5,13.2z"></path></svg></a></li><li class="nRhiJb-KKXgde"><a class="nRhiJb-ARYxNe" href="https://www.youtube.com/googlecloud" target="_blank" rel="noopener" track-name="youtube"track-type="social link"track-metadata-position="footer"track-metadata-eventdetail="www.youtube.com/googlecloud"track-metadata-module="footer"track-metadata-module_headline="follow us"><svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-xgZe3c nRhiJb-Bz112c-OWXEXe-DX2B6" viewBox="0 0 24 24" role="presentation" aria-hidden="true"><path d="M23.74 7.1s-.23-1.65-.95-2.37c-.91-.96-1.93-.96-2.4-1.02C17.04 3.47 12 3.5 12 3.5s-5.02-.03-8.37.21c-.46.06-1.48.06-2.39 1.02C.52 5.45.28 7.1.28 7.1S.04 9.05 0 10.98V13c.04 1.94.28 3.87.28 3.87s.24 1.65.96 2.38c.91.95 2.1.92 2.64 1.02 1.88.18 7.91.22 8.12.22 0 0 5.05.01 8.4-.23.46-.06 1.48-.06 2.39-1.02.72-.72.96-2.37.96-2.37s.24-1.94.25-3.87v-2.02c-.02-1.93-.26-3.88-.26-3.88zM9.57 15.5V8.49L16 12.13 9.57 15.5z"></path></svg></a></li><li class="nRhiJb-KKXgde"><a class="nRhiJb-ARYxNe" href="https://www.linkedin.com/showcase/google-cloud" target="_blank" rel="noopener" track-name="linkedin"track-type="social link"track-metadata-position="footer"track-metadata-eventdetail="www.linkedin.com/showcase/google-cloud"track-metadata-module="footer"track-metadata-module_headline="follow us"><svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-xgZe3c nRhiJb-Bz112c-OWXEXe-DX2B6" viewBox="0 0 24 24" role="presentation" aria-hidden="true"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 20c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 19H5v-9h3v9zM6.5 8.31c-1 0-1.81-.81-1.81-1.81S5.5 4.69 6.5 4.69s1.81.81 1.81 1.81S7.5 8.31 6.5 8.31zM19 19h-3v-5.3c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5V19h-3v-9h3v1.2c.52-.84 1.59-1.4 2.5-1.4 1.93 0 3.5 1.57 3.5 3.5V19z"></path></svg></a></li><li class="nRhiJb-KKXgde"><a class="nRhiJb-ARYxNe" href="https://www.instagram.com/googlecloud/" target="_blank" rel="noopener" track-name="instagram"track-type="social link"track-metadata-position="footer"track-metadata-eventdetail="www.instagram.com/googlecloud/"track-metadata-module="footer"track-metadata-module_headline="follow us"><svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-xgZe3c nRhiJb-Bz112c-OWXEXe-DX2B6" viewBox="0 0 24 24" role="presentation" aria-hidden="true"><path d="M12,0 C15.3,0 15.7,0 17,0 C18.3,0.1 19.1,0.3 19.9,0.6 C20.7,0.9 21.3,1.3 22,2 C22.7,2.7 23.1,3.4 23.3,4.2 C23.6,5 23.8,5.8 23.9,7.1 C24,8.3 24,8.7 24,12 C24,15.3 24,15.7 23.9,16.9 C23.8,18.2 23.6,19 23.3,19.8 C23,20.6 22.6,21.2 21.9,21.9 C21.3,22.6 20.6,23 19.8,23.3 C19,23.6 18.2,23.8 16.9,23.9 C15.7,24 15.3,24 12,24 C8.7,24 8.3,24 7,24 C5.7,23.9 4.9,23.7 4.1,23.4 C3.3,23.1 2.7,22.7 2,22 C1.3,21.3 0.9,20.6 0.7,19.8 C0.4,19 0.2,18.2 0.1,16.9 C0,15.7 0,15.3 0,12 C0,8.7 0,8.3 0.1,7.1 C0.1,5.8 0.3,4.9 0.6,4.1 C0.9,3.4 1.3,2.7 2,2 C2.7,1.3 3.4,0.9 4.1,0.6 C4.9,0.3 5.8,0.1 7.1,0.1 C8.3,0 8.7,0 12,0 Z M12,2.2 C8.8,2.2 8.4,2.2 7.2,2.2 C6,2.3 5.3,2.5 4.9,2.6 C4.4,2.9 4,3.1 3.5,3.5 C3.1,3.9 2.8,4.3 2.6,4.9 C2.5,5.3 2.3,6 2.3,7.2 C2.2,8.4 2.2,8.8 2.2,12 C2.2,15.2 2.2,15.5 2.3,16.8 C2.3,17.9 2.5,18.6 2.7,19 C2.9,19.6 3.2,20 3.6,20.4 C4,20.8 4.4,21.1 5,21.3 C5.4,21.5 6,21.6 7.2,21.7 C8.4,21.8 8.8,21.8 12,21.8 C15.2,21.8 15.5,21.8 16.8,21.7 C17.9,21.7 18.6,21.5 19,21.3 C19.6,21.1 20,20.8 20.4,20.4 C20.8,20 21.1,19.6 21.3,19 C21.5,18.6 21.6,18 21.7,16.8 C21.8,15.6 21.8,15.2 21.8,12 C21.8,8.8 21.8,8.5 21.7,7.2 C21.7,6.1 21.5,5.4 21.3,5 C21.1,4.4 20.8,4 20.4,3.6 C20,3.2 19.6,2.9 19,2.7 C18.6,2.5 18,2.4 16.8,2.3 C15.6,2.2 15.2,2.2 12,2.2 Z M12,5.8 C15.4,5.8 18.2,8.6 18.2,12 C18.2,15.4 15.4,18.2 12,18.2 C8.6,18.2 5.8,15.4 5.8,12 C5.8,8.6 8.6,5.8 12,5.8 Z M12,16 C14.2,16 16,14.2 16,12 C16,9.8 14.2,8 12,8 C9.8,8 8,9.8 8,12 C8,14.2 9.8,16 12,16 Z M18.4,7 C17.6268014,7 17,6.37319865 17,5.6 C17,4.82680135 17.6268014,4.2 18.4,4.2 C19.1731986,4.2 19.8,4.82680135 19.8,5.6 C19.8,6.37319865 19.1731986,7 18.4,7 Z"></path></svg></a></li><li class="nRhiJb-KKXgde"><a class="nRhiJb-ARYxNe" href="https://www.facebook.com/googlecloud/" target="_blank" rel="noopener" track-name="facebook"track-type="social link"track-metadata-position="footer"track-metadata-eventdetail="www.facebook.com/googlecloud/"track-metadata-module="footer"track-metadata-module_headline="follow us"><svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-xgZe3c nRhiJb-Bz112c-OWXEXe-DX2B6" viewBox="0 0 24 24" role="presentation" aria-hidden="true"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 20c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-1 2v3h-2c-.55 0-1 .45-1 1v2h3v3h-3v7h-3v-7h-2v-3h2V7.5C13 5.57 14.57 4 16.5 4H19z"></path></svg></a></li></ul></div></section></section><section class="nRhiJb-hlZHHf rtKYfe"><div class="nRhiJb-vQnuyc UXgbsb"><a class="ZOs9zc" href="https://cloud.google.com/" title="Google Cloud" track-name="google"track-type="footer link"track-metadata-position="footer"track-metadata-eventdetail="cloud.google.com/"track-metadata-module="footer"><img src="https://www.gstatic.com/cgc/super_cloud_gradient.png" class="nRhiJb-vQnuyc-RJLb9c" alt="Cloud logo"/></a></div><ul class="nRhiJb-hlZHHf-PLDbbf nRhiJb-di8rgd-ZGNLv AXb5J" role="list"><li class="glue-footer__global-links-list-item"><a class="nRhiJb-Fx4vi " href="https://cloud.google.com/" track-name="google cloud"track-type="footer link"track-metadata-position="footer"track-metadata-eventdetail="cloud.google.com/"track-metadata-module="footer">Google Cloud</a></li><li class="glue-footer__global-links-list-item"><a class="nRhiJb-Fx4vi " href="https://cloud.google.com/products/" track-name="google cloud products"track-type="footer link"track-metadata-position="footer"track-metadata-eventdetail="cloud.google.com/products/"track-metadata-module="footer">Google Cloud Products</a></li><li class="glue-footer__global-links-list-item"><a class="nRhiJb-Fx4vi " href="https://myaccount.google.com/privacypolicy?hl=en-US" target="_blank" track-name="privacy"track-type="footer link"track-metadata-position="footer"track-metadata-eventdetail="myaccount.google.com/privacypolicy?hl=en-US"track-metadata-module="footer">Privacy</a></li><li class="glue-footer__global-links-list-item"><a class="nRhiJb-Fx4vi " href="https://myaccount.google.com/termsofservice?hl=en-US" target="_blank" track-name="terms"track-type="footer link"track-metadata-position="footer"track-metadata-eventdetail="myaccount.google.com/termsofservice?hl=en-US"track-metadata-module="footer">Terms</a></li><li aria-hidden="true" class="glue-footer__global-links-list-item"><a aria-hidden="true" role="button" tabindex="0" class="nRhiJb-Fx4vi glue-footer__link glue-cookie-notification-bar-control" href="#" target="_blank" track-name="cookies management controls"track-type="footer link"track-metadata-position="footer"track-metadata-eventdetail="#"track-metadata-module="footer">Cookies management controls</a></li></ul><ul class="nRhiJb-hlZHHf-PLDbbf nRhiJb-hlZHHf-PLDbbf-OWXEXe-hOedQd nRhiJb-di8rgd-ZGNLv qkxr1" role="list"><li class="glue-footer__global-links-list-item nRhiJb-hlZHHf-PLDbbf-rymPhb-ibnC6b-OWXEXe-hOedQd"><a class="nRhiJb-Fx4vi" href="https://support.google.com" target="_blank" track-name="help"track-type="footer link"track-metadata-position="footer"track-metadata-eventdetail="support.google.com"track-metadata-module="footer"><svg class="nRhiJb-Bz112c nRhiJb-Bz112c-OWXEXe-xgZe3c nRhiJb-Bz112c-OWXEXe-yePe5c-h9d3hd" viewBox="0 0 24 24" role="presentation" aria-hidden="true"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"></path></svg>Help</a></li><li class="glue-footer__global-links-list-item nRhiJb-hlZHHf-PLDbbf-rymPhb-ibnC6b-OWXEXe-hOedQd"><select jsaction="change:xU0iy" aria-label="Change language" class="nRhiJb-CL4aqd-j4gsHd"><option value="" selected disabled hidden>Language</option><option value="en" selected>English</option><option value="de">Deutsch</option><option value="fr">Français</option><option value="ko">한국어</option><option value="ja">日本語</option></select></li></ul></section></footer></footer> |