{"id":26260,"date":"2017-07-17T21:51:35","date_gmt":"2017-07-17T18:51:35","guid":{"rendered":"https:\/\/www.altoros.com\/blog\/?p=26260"},"modified":"2021-12-17T15:45:53","modified_gmt":"2021-12-17T12:45:53","slug":"cloud-foundry-and-gcp-machine-learning-storage-and-debugging","status":"publish","type":"post","link":"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/","title":{"rendered":"Cloud Foundry Service Broker for GCP: What&#8217;s in It for Machine Learning?"},"content":{"rendered":"<p>With the development of a <a href=\"https:\/\/github.com\/GoogleCloudPlatform\/gcp-service-broker\" target=\"_blank\" rel=\"noopener noreferrer\">service broker to GCP<\/a>, Cloud Foundry users can now work with BigQuery, Bigtable, Cloud SQL, Cloud Storage, machine learning APIs, PubSub, Spanner, Stackdriver Debugger, and Stackdriver Trace. At <a href=\"https:\/\/www.altoros.com\/blog\/top-100-quotes-from-the-cloud-foundry-summit-silicon-valley-2017\/\">Cloud Foundry Summit 2017<\/a>, presenters from Google and Pivotal focused on machine learning APIs available and live debugging.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/#A_plentiful_of_machine_learning_APIs\" >A plentiful of machine learning APIs<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/#Just_combine_it\" >Just combine it!<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/#Debugging_with_Stackdriver\" >Debugging with Stackdriver<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/#Want_details_Watch_the_video\" >Want details? Watch the video!<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/#Related_reading\" >Related reading<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/#About_the_experts\" >About the experts<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"A_plentiful_of_machine_learning_APIs\"><\/span>A plentiful of machine learning APIs<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><a href=\"https:\/\/www.linkedin.com\/in\/colleen-briant-9517701b\/\" target=\"_blank\" rel=\"noopener noreferrer\">Colleen Briant<\/a> is part of a Google team that maintains open-source integrations with the company\u2019s cloud platform. Firstly, she introduced a bunch of <a href=\"https:\/\/www.altoros.com\/blog\/a-broad-spectrum-of-tensorflow-apis-inside-and-outside-the-project\/\">machine learning APIs<\/a> that are available through a service broker to the Google Cloud Platform.<\/p>\n<p>For instance, <a href=\"https:\/\/cloud.google.com\/translate\/\" target=\"_blank\" rel=\"noopener noreferrer\">Translation API<\/a>, which aids users in dynamically translating text into thousands available language options. This API can be of significant help if one needs to quickly translate a web page or a whole website.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/colleen-briant-google-cloud-foundry-summit-2017.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/colleen-briant-google-cloud-foundry-summit-2017.jpg\" alt=\"colleen-briant-google-cloud-foundry-summit-2017\" width=\"640\" class=\"aligncenter size-full wp-image-26267\" \/><\/a><\/center><\/p>\n<blockquote><p><em>\u201cSo, a possible use case for that [Translation API] would be just translating your own website. So, just upload your HTML pages, run them through the API, and out pops a globally accessible website.\u201d \u2014Colleen Briant, Google<\/em><\/p><\/blockquote>\n<p><small><a href=\"https:\/\/cloud.google.com\/translate\/docs\/\" target=\"_blank\" rel=\"noopener noreferrer\">Translation API&#8217;s documentation<\/a><\/small><br \/>\n&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/powerful-text-analysis-google-cloud-natural-api.png\" alt=\"powerful-text-analysis-google-cloud-natural-api\" width=\"120\" class=\"alignright size-full wp-image-26395\" \/><\/p>\n<p><a href=\"https:\/\/cloud.google.com\/natural-language\/\" target=\"_blank\" rel=\"noopener noreferrer\">Natural Language API<\/a>, another one of the Google Cloud API family, allows for analyzing text structure and meaning. With it, one can <em>extract information<\/em> from text documents, news articles, or blog posts about the subjects of interest. The API proves efficient in <em>understanding sentiment<\/em>\u2014e.g., the feedback on a product posted on social media\u2014and parsing intent, let\u2019s say, from customer conversations with a call center\/virtual assistant.<\/p>\n<blockquote><p><em>\u201cSo, something you could use this for and at your own company would be to process customer reviews, pick out the ones that are especially positive, and try to highlight those phrases on your next marketing campaign.\u201d \u2014Colleen Briant, Google<\/em><\/p><\/blockquote>\n<p><small><a href=\"https:\/\/cloud.google.com\/natural-language\/docs\/\" target=\"_blank\" rel=\"noopener noreferrer\">Natural Language API&#8217;s documentation<\/a><\/small><br \/>\n&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/speech-api-lead-google-cloud-speech-api.png\" alt=\"speech-api-lead-google-cloud-speech-api\" width=\"120\" class=\"size-full wp-image-26397\" align=\"right\" \/><\/p>\n<p><a href=\"https:\/\/cloud.google.com\/speech-to-text\" target=\"_blank\" rel=\"noopener noreferrer\">Cloud Speech API<\/a> converts audio to text, distinguishing between 80+ languages. The common capabilities include <em>text transcription<\/em>\u2014being dictated through an app\u2019s microphone\u2014and <em>voice command-and-control<\/em>.<\/p>\n<blockquote><p><em>\u201cSay, you have a phone system that you route to for customer support and you detect that your user is really struggling to use the system. May be the reason is they are trying to speak a language that your system is not in. So, you take a little audio sample, run it through the API, and try to route it to an agent that can assist them in their native tongue.\u201d \u2014Colleen Briant, Google<\/em><\/p><\/blockquote>\n<p><small><a href=\"https:\/\/cloud.google.com\/speech-to-textdocs\/\" target=\"_blank\" rel=\"noopener noreferrer\">Cloud Speech API&#8217;s documentation<\/a><\/small><br \/>\n&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/google-video-intelligence-api.png\" alt=\"google-video-intelligence-api\" width=\"120\" class=\"alignright size-full wp-image-26399\" \/><\/p>\n<p>The newest API to join the Google collection is the <a href=\"https:\/\/cloud.google.com\/video-intelligence\/\" target=\"_blank\" rel=\"noopener noreferrer\">Video Intelligence<\/a> one that <em>extracts metadata from videos<\/em>, enabling users to search any moment of a video file and find the occurrence of interest and identify its significance. The API allows for <em>annotating<\/em> those videos stored in the Google Cloud Storage, as well as <em>detecting key nouns entities<\/em> and the time of their occurrence in the video. Furthermore, one can separate signal from noise by retrieving relevant information (e.g., per frame).<\/p>\n<p>As Colleen put it, one can drive business insights by holding a competition for users, letting them upload videos of interacting with a product. Video Intelligence API will then pick out the moments of product showcasing and collect the snippets, which can be further employed for business needs.<\/p>\n<p><small><a href=\"https:\/\/cloud.google.com\/video-intelligence\/docs\/\" target=\"_blank\" rel=\"noopener noreferrer\">Video Intelligence API&#8217;s documentation<\/a><\/small><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/cloud.google.com\/vision\/\" target=\"_blank\" rel=\"noopener noreferrer\">Cloud Vision API<\/a> is designed to <em>classify images into categories<\/em>, as well as <em>detect individual objects\/faces<\/em> and <em>recognize printed words<\/em> in an image. The perks of using this API include:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/google-cloud-vision-api.png\" alt=\"google-cloud-vision-api\" width=\"90\" class=\"size-full wp-image-26401\" align=\"right\" \/><\/p>\n<ul>\n<li>building metadata on an image catalog<\/li>\n<li>moderating offensive\/explicit content<\/li>\n<li>enabling new marketing scenarios via image sentiment analysis<\/li>\n<\/ul>\n<p>Being a furniture retailer, for instance, one can inspire customers to upload pictures of the products they\u2019ve bought from other retailers and apply pallette detection to compare them against your offer and <a href=\"https:\/\/www.altoros.com\/blog\/tensorflow-for-recommendation-engines-and-customer-feedback-analysis\/\">make suggestions<\/a>.<\/p>\n<p><small><a href=\"https:\/\/cloud.google.com\/vision\/docs\/\" target=\"_blank\" rel=\"noopener noreferrer\">Cloud Vision API&#8217;s documentation<\/a><\/small><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Just_combine_it\"><\/span>Just combine it!<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>As standalone tools, the above-mentioned APIs are simply cool, but the true power surely comes with the combination of them. A good example is <a href=\"https:\/\/www.altoros.com\/blog\/the-magic-behind-google-translate-sequence-to-sequence-models-and-tensorflow\/\">Google Translate app<\/a>, which functionality can be simulated by utilizing Cloud Vision API to get the text out of an image and actually translate it into the necessary language via Translation API.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/google-natural-language-translation.gif\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/google-natural-language-translation.gif\" alt=\"google-natural-language-translation\" width=\"640\" class=\"aligncenter size-full wp-image-26274\" \/><\/a><small>How Google&#8217;s Neural Machine Translation works (<a href=\"https:\/\/techcrunch.com\/2016\/11\/22\/googles-ai-translation-tool-seems-to-have-invented-its-own-secret-internal-language\/\" target=\"_blank\" rel=\"noopener noreferrer\">Source<\/a>)<\/small><\/center><\/p>\n<p>Colleen also suggested the scenario of applying Cloud Speech and Natural Language APIs to customer voicemails to gather general sentiment and analyze whether they seem happy\u2014and just record their kudos\u2014or need a call back to help out in their situation.<\/p>\n<p>She highlighted the benefits of being able to control Twitter for the tweets related to one\u2019s product. In this case, such tweets could be run through Natural Language API to enable sentiment analysis. The next step would be to check the image for adult\/fraud\/whatever harmful content via Cloud Vision API. In a nutshell, it would be an easy way to identify \u201cmarketable\u201d things to make use of in the next campaign.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Debugging_with_Stackdriver\"><\/span>Debugging with Stackdriver<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Colleen and <a href=\"https:\/\/www.linkedin.com\/in\/michael-boldt-8946a62\/\" target=\"_blank\" rel=\"noopener noreferrer\">Mikey Boldt<\/a> of Pivotal demonstrated an app that scrapes <a href=\"https:\/\/www.reddit.com\/r\/aww\/\" target=\"_blank\" rel=\"noopener noreferrer\">subreddit aww<\/a>, which is basically a collection of all sorts cuties and fluffies (puppies, kitties, hamsters, or whatever you\u2019re into). The app extracts images from Reddit into the Google Cloud Storage and runs Cloud Vision API over them. Using the API allowed for:<\/p>\n<ul>\n<li>Searching where else those very images are available on the web<\/li>\n<li>Generating the image color pallette<\/li>\n<li>Making sure the image has no explicit content<\/li>\n<li>Storing all the image-related information in the JSON format within the API<\/li>\n<\/ul>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/google-machine-learning-apis-cloud-foundry-summit-v11.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/google-machine-learning-apis-cloud-foundry-summit-v11.jpg\" alt=\"google-machine-learning-apis-cloud-foundry-summit-v11\" width=\"640\" class=\"aligncenter size-full wp-image-26386\" \/><\/a><small>A reference architecture of a sample app (<a href=\"https:\/\/schd.ws\/hosted_files\/cfsummit2017\/25\/Awwvision%20Summit%20talk.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">Source<\/a>)<\/small><\/center><\/p>\n<p>A top tag or label\u2014returned by the API\u2014is saved and presented to a user together with the image. You can check out the app in <a href=\"https:\/\/github.com\/GoogleCloudPlatform\/gcp-service-broker\/tree\/master\/examples\/spring\/awwvision\" target=\"_blank\" rel=\"noopener noreferrer\">this GitHub repo<\/a>.<\/p>\n<p>Then, Mikey and Collen showcased how to enable live-debugging with this app already pushed to Cloud Foundry and Stackdriver debugger integrated through a Java buildpack. (According to Mikey, support for Python and Go is on the way.)<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/colleen-briant-google-michael-boldt-cloud-foundry-summit-2017-machine-learning-apis-stackdriver.jpg\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/colleen-briant-google-michael-boldt-cloud-foundry-summit-2017-machine-learning-apis-stackdriver.jpg\" alt=\"colleen-briant-google-michael-boldt-cloud-foundry-summit-2017-machine-learning-apis-stackdriver\" width=\"640\" class=\"aligncenter size-full wp-image-26269\" \/><\/a><\/center><\/p>\n<p><a href=\"https:\/\/cloud.google.com\/debugger\/docs\" target=\"_blank\" rel=\"noopener noreferrer\">Stackdriver debugger<\/a>, a tool offered as a part of the Google Cloud Platform, allows for inspecting an app\u2019s state at any code location using no logging statements and no need to stop or slow down the application. The debugger\u2019s core features are:<\/p>\n<ul>\n<li style=\"margin-bottom: 6px;\"><b>Debugging in production.<\/b> As already mentioned, no logging statements need to be added. What one does is snapshotting the app\u2019s state and linking it back to source code. The local variables and call stack at a specific line location are captured the very first time any instance executes the code.<\/li>\n<li style=\"margin-bottom: 6px;\"><b>Multiple source options or no source code at all.<\/b> Is it even legal? Well, if it happens so you don\u2019t have access to the source code, all you need is a file name and a line number to take the snapshot. What else one can do is upload the source to Debug, connect the Debug to local source files, or use a cloud source repository of choice (e.g., Google Cloud Source Repository, GitHub, or Bitbucket).<\/li>\n<li style=\"margin-bottom: 6px;\"><b>Team collaboration<\/b> through sharing a debug session.<\/li>\n<li style=\"margin-bottom: 6px;\"><b>Integration into existing developer workflows.<\/b> On launching the debugger, one can take snapshots directly from logging and error-reporting dashboards, IDEs, and the command line interface.<\/li>\n<\/ul>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/stackdriver-debugger-view-a-snapshot.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/stackdriver-debugger-view-a-snapshot.png\" alt=\"stackdriver-debugger-view-a-snapshot\" width=\"640\" class=\"aligncenter size-full wp-image-26271\" \/><\/a><small>Stackdriver&#8217;s console view (<a href=\"https:\/\/cloud.google.com\/debugger\/docs\/using\/snapshots\" target=\"_blank\" rel=\"noopener noreferrer\">Source<\/a>)<\/small><\/center><\/p>\n<p>Stackdriver&#8217;s debugging functionality is available to Cloud Foundry through a <a href=\"https:\/\/github.com\/cloudfoundry-community\/stackdriver-tools\" target=\"_blank\" rel=\"noopener noreferrer\">Nozzle<\/a> and its analogue for Pivotal CF. The debugger, as well as machine learning APIs, is integrated through the GCP Service Broker. (Check out <a href=\"https:\/\/github.com\/GoogleCloudPlatform\/gcp-service-broker\" target=\"_blank\" rel=\"noopener noreferrer\">this GitHub repo<\/a> for the service broker&#8217;s integration with open-source Cloud Foundry, as well as <a href=\"https:\/\/docs.pivotal.io\/partners\/gcp-sb\/using.html\" target=\"_blank\" rel=\"noopener noreferrer\">documentation<\/a> for Pivotal CF&#8217;s integration.) For technical details, check out the <a href=\"https:\/\/cloud.google.com\/debugger\/docs\/\" target=\"_blank\" rel=\"noopener noreferrer\">Stackdriver debugger&#8217;s documentation<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Want_details_Watch_the_video\"><\/span>Want details? Watch the video!<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<table width=\"100%\">\n<tbody>\n<tr>\n<td class=\"video-details-td\">\n<div style=\"float:right; width:50%; padding-left:15px; font-size:14px;\">\n<strong>Table of contents<\/strong><\/p>\n<ol>\n<li style=\"margin-bottom: 12px;\">What machine learning APIs are available within the Google Cloud Platform? (00:33)<\/li>\n<li style=\"margin-bottom: 12px;\">What does Translation API do? (01:14)<\/li>\n<li style=\"margin-bottom: 12px;\">How does Natural Language API function? (01:45)<\/li>\n<li style=\"margin-bottom: 12px;\">How does Cloud Speech API work? (02:07)<\/li>\n<li style=\"margin-bottom: 12px;\">What does Video Intelligence API offer? (02:48)<\/li>\n<li style=\"margin-bottom: 12px;\">What can one do with Cloud Vision API? (03:38)<\/li>\n<li style=\"margin-bottom: 12px;\">What comes out of a combination of these APIs? (04:24)<\/li>\n<li style=\"margin-bottom: 12px;\">Demo: Debugging a Cloud Foundry-based app with Stackdriver (05:43)<\/li>\n<li style=\"margin-bottom: 12px;\">Q&#038;A: Is it possible to add a non-public repository to the Stackdriver code import? (16:25)<\/li>\n<li style=\"margin-bottom: 12px;\">Q&#038;A: Can one use Stackdriver if an app is not running on the Google Cloud Platform? (19:44)<\/li>\n<\/ol>\n<\/div>\n<div class=\"video-container\"><iframe loading=\"lazy\" title=\"Analyzing Pets and Live Debugging: Using Google&#039;s Machine Learning APIs and Stackdriver Debugger\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/YB7zd6IRA-U?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<br \/>\n<small>You can also watch a session by Google&#8217;s <a href=\"https:\/\/www.linkedin.com\/in\/jeffreyjohnson5\/\" target=\"_blank\" rel=\"noopener noreferrer\">Jeff Johnson<\/a>, covering how to monitor Cloud Foundry infrastructure and apps with Stackdriver and BigQuery.<\/small><\/p>\n<p><center><iframe loading=\"lazy\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/OaMKHbpo5CY\" frameborder=\"0\" allowfullscreen><\/iframe><\/center><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Related_reading\"><\/span>Related reading<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/a-broad-spectrum-of-tensorflow-apis-inside-and-outside-the-project\/\">A Broad Spectrum of TensorFlow APIs Inside and Outside the Project<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/the-magic-behind-google-translate-sequence-to-sequence-models-and-tensorflow\/\">The Magic Behind Google Translate: Sequence-to-Sequence Models and TensorFlow<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/tensorflow-for-recommendation-engines-and-customer-feedback-analysis\/\">TensorFlow for Recommendation Engines and Customer Feedback Analysis<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"About_the_experts\"><\/span>About the experts<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div>\n<div style=\"float: right;\"><a href=\"https:\/\/www.linkedin.com\/in\/colleen-briant-9517701b\/\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/collen-briant-bio1.png\" alt=\"collen-briant-bio1\" width=\"150\" height=\"150\" class=\"alignright size-full wp-image-26287\" \/><\/a><\/div>\n<div style=\"width: 600px;\"><small><a href=\"https:\/\/www.linkedin.com\/in\/colleen-briant-9517701b\/\">Colleen Briant<\/a> is a software engineer at Google. She keeps Cloud Foundry developers and operators on the cutting edge of Google Services with the GCP Service Broker and other open-source integrations. Prior to Google, Colleen has worked for Booking.com as a full-stack engineer, and Yapta\u2014a provider of airfare price assurance services\u2014where she was mostly engaged in designing a customer web portal with reporting functionality. Colleen holds a BS in Industrial Engineering and a bachelor&#8217;s degree in Computer Science from the University of Washington.<\/small><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<div>\n<div style=\"float: right;\"><a href=\"https:\/\/www.linkedin.com\/in\/michael-boldt-8946a62\/\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/michael-boldt-bio.png\" alt=\"michael-boldt-bio\" width=\"150\" height=\"150\" class=\"alignright size-full wp-image-26288\" \/><\/a><\/div>\n<div style=\"width: 600px;\"><small><a href=\"https:\/\/www.linkedin.com\/in\/michael-boldt-8946a62\/\">Mikey Boldt<\/a> is a platform engineer at Pivotal. Prior to this, he was an owner of a software development company that focused on delivering IT services for small businesses. Mikey also has a background in scientific research around cybersecurity, formal verification, and artificial intelligence projects.<\/small><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>With the development of a service broker to GCP, Cloud Foundry users can now work with BigQuery, Bigtable, Cloud SQL, Cloud Storage, machine learning APIs, PubSub, Spanner, Stackdriver Debugger, and Stackdriver Trace. At Cloud Foundry Summit 2017, presenters from Google and Pivotal focused on machine learning APIs available and live [&#8230;]<\/p>\n","protected":false},"author":3,"featured_media":26404,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[7],"tags":[208,873,748,206,28,749],"class_list":["post-26260","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news-and-opinion","tag-cf-summit","tag-cloud-native","tag-machine-learning","tag-oss-cloud-foundry","tag-pivotal-cf","tag-tensorflow"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Cloud Foundry Service Broker for GCP: What&#039;s in It for Machine Learning? | Altoros<\/title>\n<meta name=\"description\" content=\"A Cloud Foundry service broker for Google Cloud Platform enabled developers to access a variety of APIs and services. This session reviews some of them.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cloud Foundry Service Broker for GCP: What&#039;s in It for Machine Learning? | Altoros\" \/>\n<meta property=\"og:description\" content=\"With the development of a service broker to GCP, Cloud Foundry users can now work with BigQuery, Bigtable, Cloud SQL, Cloud Storage, machine learning APIs, PubSub, Spanner, Stackdriver Debugger, and Stackdriver Trace. At Cloud Foundry Summit 2017, presenters from Google and Pivotal focused on machine learning APIs available and live [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/\" \/>\n<meta property=\"og:site_name\" content=\"Altoros\" \/>\n<meta property=\"article:published_time\" content=\"2017-07-17T18:51:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-17T12:45:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/cloud-foundry-and-google-cloud-platform-machine-learning-apis-and-stackdriver-debugger-v11.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"424\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Sophia Turol\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sophia Turol\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\\\/\"},\"author\":{\"name\":\"Sophia Turol\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#\\\/schema\\\/person\\\/58194952af19fe7b2b830846e077a58e\"},\"headline\":\"Cloud Foundry Service Broker for GCP: What&#8217;s in It for Machine Learning?\",\"datePublished\":\"2017-07-17T18:51:35+00:00\",\"dateModified\":\"2021-12-17T12:45:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\\\/\"},\"wordCount\":1564,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/07\\\/cloud-foundry-and-google-cloud-platform-machine-learning-apis-and-stackdriver-debugger-v11.gif\",\"keywords\":[\"CF Summit\",\"Cloud-Native\",\"Machine Learning\",\"OSS Cloud Foundry\",\"Pivotal CF\",\"TensorFlow\"],\"articleSection\":[\"News\\\/Opinion\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.altoros.com\\\/blog\\\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\\\/\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\\\/\",\"name\":\"Cloud Foundry Service Broker for GCP: What's in It for Machine Learning? | Altoros\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/07\\\/cloud-foundry-and-google-cloud-platform-machine-learning-apis-and-stackdriver-debugger-v11.gif\",\"datePublished\":\"2017-07-17T18:51:35+00:00\",\"dateModified\":\"2021-12-17T12:45:53+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#\\\/schema\\\/person\\\/58194952af19fe7b2b830846e077a58e\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.altoros.com\\\/blog\\\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/07\\\/cloud-foundry-and-google-cloud-platform-machine-learning-apis-and-stackdriver-debugger-v11.gif\",\"contentUrl\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/07\\\/cloud-foundry-and-google-cloud-platform-machine-learning-apis-and-stackdriver-debugger-v11.gif\",\"width\":640,\"height\":424},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cloud Foundry Service Broker for GCP: What&#8217;s in It for Machine Learning?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/\",\"name\":\"Altoros\",\"description\":\"Insight\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#\\\/schema\\\/person\\\/58194952af19fe7b2b830846e077a58e\",\"name\":\"Sophia Turol\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/05\\\/trello_card-96x96.jpg\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/05\\\/trello_card-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/05\\\/trello_card-96x96.jpg\",\"caption\":\"Sophia Turol\"},\"description\":\"Sophia Turol is passionate about delivering well-structured articles that cater for picky technical audience. With 3+ years in technical writing and 5+ years in editorship, she enjoys collaboration with developers to create insightful, yet intelligible technical tutorials, overviews, and case studies. Sophie is enthusiastic about deep learning solutions\u2014TensorFlow in particular\u2014and PaaS systems, such as Cloud Foundry.\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/author\\\/sophie-turol\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cloud Foundry Service Broker for GCP: What's in It for Machine Learning? | Altoros","description":"A Cloud Foundry service broker for Google Cloud Platform enabled developers to access a variety of APIs and services. This session reviews some of them.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/","og_locale":"en_US","og_type":"article","og_title":"Cloud Foundry Service Broker for GCP: What's in It for Machine Learning? | Altoros","og_description":"With the development of a service broker to GCP, Cloud Foundry users can now work with BigQuery, Bigtable, Cloud SQL, Cloud Storage, machine learning APIs, PubSub, Spanner, Stackdriver Debugger, and Stackdriver Trace. At Cloud Foundry Summit 2017, presenters from Google and Pivotal focused on machine learning APIs available and live [...]","og_url":"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/","og_site_name":"Altoros","article_published_time":"2017-07-17T18:51:35+00:00","article_modified_time":"2021-12-17T12:45:53+00:00","og_image":[{"width":640,"height":424,"url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/cloud-foundry-and-google-cloud-platform-machine-learning-apis-and-stackdriver-debugger-v11.gif","type":"image\/gif"}],"author":"Sophia Turol","twitter_misc":{"Written by":"Sophia Turol","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/#article","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/"},"author":{"name":"Sophia Turol","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/58194952af19fe7b2b830846e077a58e"},"headline":"Cloud Foundry Service Broker for GCP: What&#8217;s in It for Machine Learning?","datePublished":"2017-07-17T18:51:35+00:00","dateModified":"2021-12-17T12:45:53+00:00","mainEntityOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/"},"wordCount":1564,"commentCount":0,"image":{"@id":"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/cloud-foundry-and-google-cloud-platform-machine-learning-apis-and-stackdriver-debugger-v11.gif","keywords":["CF Summit","Cloud-Native","Machine Learning","OSS Cloud Foundry","Pivotal CF","TensorFlow"],"articleSection":["News\/Opinion"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/","url":"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/","name":"Cloud Foundry Service Broker for GCP: What's in It for Machine Learning? | Altoros","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/#primaryimage"},"image":{"@id":"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/cloud-foundry-and-google-cloud-platform-machine-learning-apis-and-stackdriver-debugger-v11.gif","datePublished":"2017-07-17T18:51:35+00:00","dateModified":"2021-12-17T12:45:53+00:00","author":{"@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/58194952af19fe7b2b830846e077a58e"},"breadcrumb":{"@id":"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/#primaryimage","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/cloud-foundry-and-google-cloud-platform-machine-learning-apis-and-stackdriver-debugger-v11.gif","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/07\/cloud-foundry-and-google-cloud-platform-machine-learning-apis-and-stackdriver-debugger-v11.gif","width":640,"height":424},{"@type":"BreadcrumbList","@id":"https:\/\/www.altoros.com\/blog\/cloud-foundry-and-gcp-machine-learning-storage-and-debugging\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.altoros.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Cloud Foundry Service Broker for GCP: What&#8217;s in It for Machine Learning?"}]},{"@type":"WebSite","@id":"https:\/\/www.altoros.com\/blog\/#website","url":"https:\/\/www.altoros.com\/blog\/","name":"Altoros","description":"Insight","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.altoros.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/58194952af19fe7b2b830846e077a58e","name":"Sophia Turol","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/05\/trello_card-96x96.jpg","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/05\/trello_card-96x96.jpg","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2019\/05\/trello_card-96x96.jpg","caption":"Sophia Turol"},"description":"Sophia Turol is passionate about delivering well-structured articles that cater for picky technical audience. With 3+ years in technical writing and 5+ years in editorship, she enjoys collaboration with developers to create insightful, yet intelligible technical tutorials, overviews, and case studies. Sophie is enthusiastic about deep learning solutions\u2014TensorFlow in particular\u2014and PaaS systems, such as Cloud Foundry.","url":"https:\/\/www.altoros.com\/blog\/author\/sophie-turol\/"}]}},"_links":{"self":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/26260","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/comments?post=26260"}],"version-history":[{"count":51,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/26260\/revisions"}],"predecessor-version":[{"id":65753,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/26260\/revisions\/65753"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media\/26404"}],"wp:attachment":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media?parent=26260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/categories?post=26260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/tags?post=26260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}