{"id":18568,"date":"2017-01-16T11:39:06","date_gmt":"2017-01-16T08:39:06","guid":{"rendered":"https:\/\/www.altoros.com\/blog\/?p=18568"},"modified":"2019-04-30T03:02:24","modified_gmt":"2019-04-30T00:02:24","slug":"cloud-foundry-for-pricing-optimization-gaps-experience","status":"publish","type":"post","link":"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/","title":{"rendered":"Cloud Foundry for Pricing Optimization: GAP\u2019s Experience"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_79_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-for-pricing-optimization-gaps-experience\/#Price_optimization_issues_at_GAP\" >Price optimization issues at GAP<\/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-for-pricing-optimization-gaps-experience\/#Why_cloud_and_Cloud_Foundry\" >Why cloud and Cloud Foundry?<\/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-for-pricing-optimization-gaps-experience\/#Deployment_overview\" >Deployment overview<\/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-for-pricing-optimization-gaps-experience\/#Optimization_workflow\" >Optimization workflow<\/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-for-pricing-optimization-gaps-experience\/#Whats_the_price\" >What&#8217;s the price?<\/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-for-pricing-optimization-gaps-experience\/#Lessons_learned\" >Lessons learned<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/#Whats_next\" >What&#8217;s next?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/#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-9\" href=\"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/#Related_videos\" >Related videos<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/#Related_slides\" >Related slides<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/#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-12\" href=\"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/#About_the_speaker\" >About the speaker<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Price_optimization_issues_at_GAP\"><\/span>Price optimization issues at GAP<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div id=\"attachment_18731\" style=\"width: 160px\" class=\"wp-caption alignright\"><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/Philip-Glebow-GAP.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-18731\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/Philip-Glebow-GAP.jpg\" alt=\"Philip-Glebow-GAP\" width=\"170\" height=\"170\" class=\"size-thumbnail wp-image-18802\" \/><\/a><p id=\"caption-attachment-18731\" class=\"wp-caption-text\"><small>Philip Glebow, GAP<\/small><\/p><\/div>\n<p>At the <a href=\"https:\/\/www.altoros.com\/blog\/top-100-quotes-from-the-cloud-foundry-summit-2016\/\">Cloud Foundry Summit 2016<\/a>, <a href=\"https:\/\/www.linkedin.com\/in\/philipglebow\" target=\"_blank\" rel=\"noopener noreferrer\">Philip Glebow<\/a> mentioned localized promotional pricing as one of the <a href=\"http:\/\/www.gap.com\" target=\"_blank\" rel=\"noopener noreferrer\">GAP<\/a>&#8216;s initiatives in action. This marketing model relies on the principle of price adjustments, based on the local factors of demand and customer responses to changes in prices. The model has proven to be efficient enough to keep the inventory moving; however, this entails a bunch of issues for the company:<\/p>\n<ul>\n<li style=\"margin-bottom: 8px;\">Multiple parameters (including even weather conditions) need to be taken into account for the company to be able \u201cto adjust the price and still move through the inventory.\u201d<\/li>\n<li style=\"margin-bottom: 8px;\">Pretty sensitive deadlines\u20146,000 optimization instances to be completed in about 4 hours.<\/li>\n<li style=\"margin-bottom: 8px;\">Requires extensive computational resources (e.g., GAP uses about 90 Amazon\u2019s c4.4xlarge instances).<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Why_cloud_and_Cloud_Foundry\"><\/span>Why cloud and Cloud Foundry?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>With the above issues in mind, GAP started to look for a solution that would satisfy their requirements in a most efficient way. Eventually, the company opted for cloud services since those, as Philip Glebow explained, enable to:<\/p>\n<ul>\n<li style=\"margin-bottom: 8px;\">Vary costs\u2014resources are scaled up or down to match the demand, and the company pays for just as much resources as it actually uses at a given moment<\/li>\n<li style=\"margin-bottom: 8px;\">Vary performance\u2014make the process faster or slower as needed<\/li>\n<li style=\"margin-bottom: 8px;\">Eliminate the need for maintenance\u2014the company does not have \u201cto build a bunch of servers that sit around a data center.\u201d<\/li>\n<blockquote><p><em>\u201cThe ability to build an elastic pricing solution that can scale on demand is very powerful.\u201d<br \/>\n\u2014Philip Glebow, GAP<\/em><\/p><\/blockquote>\n<\/ul>\n<p>Explaining the company\u2019s choice of Pivotal Cloud Foundry, Philip Glebow pointed out the following advantages:<\/p>\n<ul>\n<li>Fast and easy integration and delivery of cloud services on a continuous basis with maximum flexibility<\/li>\n<blockquote><p><em>\u201cIf we need to change the algorithm\u2014fine, we can run it through a unit test, it flows automatically to production.\u201d \u2014Philip Glebow, GAP<\/p><\/blockquote>\n<p><\/em><\/p>\n<li>Reduced processing time<\/li>\n<blockquote><p><em>\u201cSomething that would normally, perhaps, take days or weeks\u2014we can compress that into a cycle of few minutes.\u201d \u2014Philip Glebow, GAP<\/p><\/blockquote>\n<p><\/em><\/p>\n<li>Very quick to scale<\/li>\n<li>Simplifies the infrastructure<\/li>\n<li>Imposes a set of useful patterns (e.g., microservices, 12-factor apps, etc.)<\/li>\n<blockquote><p><em>\u201cConstrains somewhat what people can do, but in a way that I think is very empowering.\u201d<br \/>\n\u2014Philip Glebow, GAP<\/p><\/blockquote>\n<p><\/em>\n<\/ul>\n<p>The adopted concept of microservices has brought a major change to the company\u2019s development workflow, speeding up and automating deployment via a federated continuous integration pipeline.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Philip-Glebow-SpringOne-Platform-Microservices.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Philip-Glebow-SpringOne-Platform-Microservices.png\" alt=\"Philip-Glebow-SpringOne-Platform-Microservices\" width=\"640\" class=\"aligncenter size-full wp-image-19555\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Deployment_overview\"><\/span>Deployment overview<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Detailing the technical part of the Cloud Foundry deployment project, Philip Glebow described the system they actually built at the company. The system comprises:<\/p>\n<ul>\n<li>Pivotal Cloud Foundry as a PaaS<\/li>\n<li>a Java-based application that talks to MongoDB and RabbitMQ<\/li>\n<li>the <a href=\"https:\/\/www.gurobi.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Gurobi<\/a> linear solver<\/li>\n<li>Spring Boot to work with applications<\/li>\n<li>a Spring actuator<\/li>\n<\/ul>\n<p>Client access to the system is via a web-browser or the REST services.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/Philip-Glebow-Cloud-Foundry-Summit-Technology-Stack.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/Philip-Glebow-Cloud-Foundry-Summit-Technology-Stack.png\" alt=\"Philip-Glebow-Cloud-Foundry-Summit-Technology-Stack\" width=\"640\" class=\"aligncenter size-full wp-image-19212\" \/><\/a><\/p>\n<p>The GAP and Cloud Foundry story actually started with Pivotal CF that was installed internally. Then, the company felt it has to have access to some other essential process components:<\/p>\n<ul>\n<li>the existing MongoDB database and RabbitMQ (both running on OpenStack)<\/li>\n<li>the Gurobi linear solver (running on Amazon)<\/li>\n<\/ul>\n<p>That\u2019s how they came to use Cloud Foundry and Spring config to manage their processes, as well as acquire and provision data.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/Philip-Glebow-Cloud-Foundry-Summit-CF-Deployment.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/Philip-Glebow-Cloud-Foundry-Summit-CF-Deployment.png\" alt=\"Philip-Glebow-Cloud-Foundry-Summit-CF-Deployment\" width=\"640\" class=\"aligncenter size-full wp-image-19214\" \/><\/a><\/p>\n<p>Among major tasks of the existing system, the speaker mentioned managing large data quantities from multiples sources. To solve the task, the company employs the data virtualization technology that functions as an interface layer, enabling to access a variety of databases in use: Oracle, MySQL, MongoDB, etc.<\/p>\n<blockquote><p><em>\u201cIt allows us to expose an interface layer that can look very much the same across brands and, for us, that has been very powerful.\u201d \u2014Philip Glebow, GAP<\/p><\/blockquote>\n<p><\/em><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Optimization_workflow\"><\/span>Optimization workflow<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>At GAP, the workflow used to solve the optimization tasks is as follows:<\/p>\n<ol>\n<li>Creating cloud instances of the compute servers, scaling those up or down to the needs.<\/li>\n<blockquote><p><em>\u201cThe process takes a good two minutes.\u201d \u2014Philip Glebow, GAP<\/p><\/blockquote>\n<p><\/em><\/p>\n<p>\t<a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/Philip-Glebow-GAP-Cloud-Foundry-Summit-Diagram-Cloud.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/Philip-Glebow-GAP-Cloud-Foundry-Summit-Diagram-Cloud.png\" alt=\"Philip-Glebow-GAP-Cloud-Foundry-Summit-Diagram-Cloud\" width=\"640\" class=\"aligncenter size-full wp-image-19199\" \/><\/a><\/p>\n<li>The RabbitMQ component builds a central queue of optimization jobs, and then a dedicated group of workers deals with the queue, thus enabling to solve independent optimization problems in parallel.<\/li>\n<p>\t<a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/Philip-Glebow-GAP-Cloud-Foundry-Messages-Diagram.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/Philip-Glebow-GAP-Cloud-Foundry-Messages-Diagram.png\" alt=\"Philip-Glebow-GAP-Cloud-Foundry-Messages-Diagram\" width=\"640\" class=\"aligncenter size-full wp-image-19200\" \/><\/a><\/p>\n<li>Processing data and reports.<\/b><\/li>\n<p>\t<a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/Philip-Glebow-GAP-Cloud-Foundry-Processing-Diagram.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/Philip-Glebow-GAP-Cloud-Foundry-Processing-Diagram.png\" alt=\"Philip-Glebow-GAP-Cloud-Foundry-Processing-Diagram\" width=\"640\" class=\"aligncenter size-full wp-image-19201\" \/><\/a>\n<\/ol>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Whats_the_price\"><\/span>What&#8217;s the price?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Just like any other project, building a Cloud Foundry-based system at GAP involved certain challenges:<\/p>\n<ul>\n<li style=\"margin-bottom: 8px;\">Experts in data science and optimization would use Python, MATLAB, or SAS\u2014rather than Java chosen for the project.<\/li>\n<li style=\"margin-bottom: 8px;\">Essentially waterfall environment is unwilling to adopt the Agile development approach.<\/li>\n<li style=\"margin-bottom: 8px;\">Though Spring Cloud Config helped the company to accelerate scaling, simplify adding new instances, and cope with some other complex problems, its use revealed a number of inherent deficiencies:<\/li>\n<ul>\n<li> Hand encryption is inconvenient on an enterprise level.<\/li>\n<li> Git becomes a single soft spot, as its failure can cause an overall stop.<\/li>\n<li> One needs to mind issues with web hooks during Blue-Green deployment.<\/li>\n<li style=\"margin-bottom: 8px;\"> The audit trail in Git missing information about the effective date of a committed change.<\/li>\n<\/ul>\n<li style=\"margin-bottom: 8px;\">There are more than 60 TB of logging data from numerous applications, which needs to be managed.<\/li>\n<li style=\"margin-bottom: 8px;\">Due to specifics of the operational process at GAP and the wide variety of databases used at the company, setting up data services for applications takes up much time and efforts.<\/li>\n<li style=\"margin-bottom: 8px;\">The company has strict security requirements concerning protection of personal data (e.g., names, addresses, credit card details, etc.).<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Lessons_learned\"><\/span>Lessons learned<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Any project of as big a scale is sure a source of invaluable experience, both for the implementing company and anyone who follows its footsteps:<\/p>\n<ul>\n<li>Adopting a technology or a development approach that is different from what is widely accepted in the industry requires a major cultural change. The main thing here is try to be flexible, investigating into options and opportunities, and be prepared to take reasonable risks.<\/li>\n<blockquote><p><em>\u201cWe\u2019re happy to make mistakes as long as the blast radius isn\u2019t too large if it fails.\u201d<br \/>\n        \u2014Philip Glebow, GAP<\/p><\/blockquote>\n<p><\/em><\/p>\n<li style=\"margin-bottom: 8px;\">Collaborating with a broader community can save time and resources in finding proper solutions to eliminate major deficiencies.<\/li>\n<li style=\"margin-bottom: 8px;\">Splunk can do the job of managing logging data just all right, while providing additional capabilities, such as alerting.<\/li>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Philip-Glebow-SpringOne-Platform-Logging-Splunk-Performance-Monitoring-15.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/Philip-Glebow-SpringOne-Platform-Logging-Splunk-Performance-Monitoring-15-1024x576.png\" alt=\"Philip-Glebow-SpringOne-Platform-Logging-Splunk-Performance-Monitoring-15\" width=\"640\" class=\"aligncenter size-large wp-image-19914\" \/><\/a><\/p>\n<li style=\"margin-bottom: 8px;\">Setting up data services could be made much simpler with a DBaaS platform, e.g., Tesora. Data virtualization technologies (e.g., Denodo data virtualization platform) can come in handy, too, especially if one has to deal with a lot of legacy systems and data centers. <\/li>\n<li>Additional use of specialized tools for application monitoring can help to quickly identify and solve any performance problems across the entire infrastructure\u2014both in Cloud Foundry and legacy systems.<\/li>\n<li>Installing the IPsec add-on is enough to protect any sensitive information within Pivotal Cloud Foundry.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Whats_next\"><\/span>What&#8217;s next?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The company&#8217;s vision of its future is dominated by the idea of migrating to a public cloud\u2014most probably, Microsoft Azure. Philip Glebow shared these plans at the <a href=\"https:\/\/springone.io\/\">SpringOne Platform<\/a> conference in December 2017, with the following reasons mentioned as underlying the move:<\/p>\n<ul>\n<li>Better speed and a larger scale<\/li>\n<li>Geographic proximity of services<\/li>\n<li>New technologies to adopt, including machine learning<\/li>\n<\/ul>\n<p>However, despite the advantages, there&#8217;s the financial side of the question that can&#8217;t but be taken into consideration.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/glebow-philip.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/glebow-philip.png\" alt=\"glebow-philip\" width=\"640\" class=\"aligncenter size-full wp-image-19832\" \/><\/a><\/p>\n<blockquote><p><em>\u201cSome of these services are very cheap at the low end but, if you start to really scale them up and if you look at the cost modeling, I think it is really expensive, really fast,\u201d \u2014Philip Glebow, GAP<\/p><\/blockquote>\n<p><\/em><\/p>\n<p>Therefore, the company will still have to &#8220;figure out the right way&#8221; when migrating to a public cloud. It&#8217;s interesting that another company, WMG, did <a href=\"https:\/\/www.altoros.com\/blog\/warner-music-migrates-its-cloud-foundry-deployment-from-openstack-to-aws\/\">a similar move<\/a> with their Cloud Foundry deployment, migrating from OpenStack to AWS last year.<\/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: 45%; padding-left: 15px; font-size: 14px;\">\n<p><strong>Table of contents<\/strong><\/p>\n<ol>\n<li style=\"margin-bottom: 12px;\">What are the price optimization models employed at GAP? (1:44)<\/li>\n<li style=\"margin-bottom: 12px;\">What were the company&#8217;s cloud requirements? (2:59)<\/li>\n<li style=\"margin-bottom: 12px;\">Technology stack: integrated components (4:53)<\/li>\n<li style=\"margin-bottom: 12px;\">How did the company organize the deployment process? (6:22)<\/li>\n<li style=\"margin-bottom: 12px;\">What were major tasks to achieve price optimization? (7:21)<\/li>\n<li style=\"margin-bottom: 12px;\">What challenges did GAP face when adopting Pivotal Cloud Foundry? (8:40)<\/li>\n<\/ol>\n<\/div>\n<div class=\"video-container\"><iframe loading=\"lazy\" title=\"Keynote: Cloud Optimization: Gurobi &amp; Cloud Foundry - Phil Glebow, Director, Gap, Inc.\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/T-FubygS__M?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;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Related_videos\"><\/span>Related videos<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><center><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/fKA5A1s4HSI\" frameborder=\"0\" allowfullscreen><\/iframe><\/center><\/p>\n<p><center><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/edKASC0zXzw\" frameborder=\"0\" allowfullscreen><\/iframe><\/center><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Related_slides\"><\/span>Related slides<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<table style=\"border:none\">\n<tbody>\n<tr>\n<td style=\"border:none\"><iframe loading=\"lazy\" src=\"\/\/www.slideshare.net\/slideshow\/embed_code\/key\/j5T8OaijmznVOl\" width=\"425\" height=\"355\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen> <\/iframe><\/td>\n<td style=\"border:none\"><iframe loading=\"lazy\" src=\"\/\/www.slideshare.net\/slideshow\/embed_code\/key\/MujJDJrC5j8QMm\" width=\"425\" height=\"355\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen> <\/iframe><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\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-car-app-in-6-months-mercedes-benz-daimler-gains-pace-with-cloud-foundry\/\">A Car App in 6 Months: Mercedes-Benz \/ Daimler Gains Pace with Cloud Foundry<\/a><\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/warner-music-migrates-its-cloud-foundry-deployment-from-openstack-to-aws\/\">Warner Music Migrates Its Cloud Foundry Deployment from OpenStack to AWS<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/the-dutch-government-delivers-an-alert-system-on-cloud-foundry-in-just-7-months\/\">The Dutch Gov Delivers an Alert System on Cloud Foundry in 7 Months<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"About_the_speaker\"><\/span>About the speaker<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div>\n<div style=\"float: right;\"><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/Philip-Glebow-GAP-r.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/Philip-Glebow-GAP-r.png\" alt=\"Philip-Glebow-GAP-r\" width=\"150\" height=\"150\" class=\"alignright size-full wp-image-18890\" \/><\/a><\/div>\n<div style=\"width: 600px;\"><small><\/p>\n<p><a href=\"https:\/\/www.linkedin.com\/in\/philipglebow\" target=\"_blank\" rel=\"noopener noreferrer\">Philip Glebow<\/a> is now the product architect for pricing in the planning domain at GAP Inc. He can boast of over 15 years of experience in software system design and cooperation with companies such as KPMG Consulting Inc., Blackrock Inc., and Barclays. Mr. Glebow holds a Bachelor of Science in Computer Engineering (Cal Poly San Luis Obispo) and a Master of Science in Bioinformatics (John Hopkins University)<\/small><\/div>\n<\/div>\n<hr\/>\n<p><center><small>The post is written by Alesia Bulanok and <a href=\"https:\/\/www.altoros.com\/blog\/author\/alex\/\">Alex Khizhniak<\/a>.<\/small><\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Price optimization issues at GAP<\/p>\n<p id=\"caption-attachment-18731\" class=\"wp-caption-text\">Philip Glebow, GAP<\/p>\n<p>At the Cloud Foundry Summit 2016, Philip Glebow mentioned localized promotional pricing as one of the GAP&#8216;s initiatives in action. This marketing model relies on the principle of price adjustments, based on the local factors of demand and customer responses to changes [&#8230;]<\/p>\n","protected":false},"author":111,"featured_media":19916,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[26],"tags":[873,815,206,28,884],"class_list":["post-18568","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-use-cases","tag-cloud-native","tag-digital-transformation","tag-oss-cloud-foundry","tag-pivotal-cf","tag-retail"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Cloud Foundry for Pricing Optimization: GAP\u2019s Experience | Altoros<\/title>\n<meta name=\"description\" content=\"GAP is a global fashion business with multiple brands and retail stores. Philip Glebow shares the company&#039;s experience in automating localized promotional pricing using the Gurobi linear optimizer and Pivotal Cloud Foundry.\" \/>\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-for-pricing-optimization-gaps-experience\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cloud Foundry for Pricing Optimization: GAP\u2019s Experience | Altoros\" \/>\n<meta property=\"og:description\" content=\"Price optimization issues at GAP Philip Glebow, GAP At the Cloud Foundry Summit 2016, Philip Glebow mentioned localized promotional pricing as one of the GAP&#8216;s initiatives in action. This marketing model relies on the principle of price adjustments, based on the local factors of demand and customer responses to changes [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/\" \/>\n<meta property=\"og:site_name\" content=\"Altoros\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-16T08:39:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-04-30T00:02:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/cloud-foundry-for-pricing-optimization-gap-experience-use-case-v11.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"360\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Alesia Bulanok\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alesia Bulanok\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/\",\"name\":\"Cloud Foundry for Pricing Optimization: GAP\u2019s Experience | Altoros\",\"isPartOf\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/cloud-foundry-for-pricing-optimization-gap-experience-use-case-v11.gif\",\"datePublished\":\"2017-01-16T08:39:06+00:00\",\"dateModified\":\"2019-04-30T00:02:24+00:00\",\"author\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/df3dad74c56cbef54ff4a8bc79d23163\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/#primaryimage\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/cloud-foundry-for-pricing-optimization-gap-experience-use-case-v11.gif\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/cloud-foundry-for-pricing-optimization-gap-experience-use-case-v11.gif\",\"width\":640,\"height\":360},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.altoros.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cloud Foundry for Pricing Optimization: GAP\u2019s Experience\"}]},{\"@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\/df3dad74c56cbef54ff4a8bc79d23163\",\"name\":\"Alesia Bulanok\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/bulanok.jpg\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/bulanok.jpg\",\"caption\":\"Alesia Bulanok\"},\"description\":\"Alesia Bulanok is a Technical Writer at Altoros. She has been in the profession for more than two years and has an extensive experience in software-related user documentation. With her publications, she aspires to help people in the IT industry and outside it to find what\u2019s new, interesting and can be useful for them in their daily activities.\",\"url\":\"https:\/\/www.altoros.com\/blog\/author\/alesia-bulanok\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cloud Foundry for Pricing Optimization: GAP\u2019s Experience | Altoros","description":"GAP is a global fashion business with multiple brands and retail stores. Philip Glebow shares the company's experience in automating localized promotional pricing using the Gurobi linear optimizer and Pivotal Cloud Foundry.","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-for-pricing-optimization-gaps-experience\/","og_locale":"en_US","og_type":"article","og_title":"Cloud Foundry for Pricing Optimization: GAP\u2019s Experience | Altoros","og_description":"Price optimization issues at GAP Philip Glebow, GAP At the Cloud Foundry Summit 2016, Philip Glebow mentioned localized promotional pricing as one of the GAP&#8216;s initiatives in action. This marketing model relies on the principle of price adjustments, based on the local factors of demand and customer responses to changes [...]","og_url":"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/","og_site_name":"Altoros","article_published_time":"2017-01-16T08:39:06+00:00","article_modified_time":"2019-04-30T00:02:24+00:00","og_image":[{"width":640,"height":360,"url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/cloud-foundry-for-pricing-optimization-gap-experience-use-case-v11.gif","type":"image\/gif"}],"author":"Alesia Bulanok","twitter_misc":{"Written by":"Alesia Bulanok","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/","url":"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/","name":"Cloud Foundry for Pricing Optimization: GAP\u2019s Experience | Altoros","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/#primaryimage"},"image":{"@id":"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/cloud-foundry-for-pricing-optimization-gap-experience-use-case-v11.gif","datePublished":"2017-01-16T08:39:06+00:00","dateModified":"2019-04-30T00:02:24+00:00","author":{"@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/df3dad74c56cbef54ff4a8bc79d23163"},"breadcrumb":{"@id":"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/#primaryimage","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/cloud-foundry-for-pricing-optimization-gap-experience-use-case-v11.gif","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/01\/cloud-foundry-for-pricing-optimization-gap-experience-use-case-v11.gif","width":640,"height":360},{"@type":"BreadcrumbList","@id":"https:\/\/www.altoros.com\/blog\/cloud-foundry-for-pricing-optimization-gaps-experience\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.altoros.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Cloud Foundry for Pricing Optimization: GAP\u2019s Experience"}]},{"@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\/df3dad74c56cbef54ff4a8bc79d23163","name":"Alesia Bulanok","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/bulanok.jpg","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/bulanok.jpg","caption":"Alesia Bulanok"},"description":"Alesia Bulanok is a Technical Writer at Altoros. She has been in the profession for more than two years and has an extensive experience in software-related user documentation. With her publications, she aspires to help people in the IT industry and outside it to find what\u2019s new, interesting and can be useful for them in their daily activities.","url":"https:\/\/www.altoros.com\/blog\/author\/alesia-bulanok\/"}]}},"_links":{"self":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/18568","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\/111"}],"replies":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/comments?post=18568"}],"version-history":[{"count":189,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/18568\/revisions"}],"predecessor-version":[{"id":42770,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/18568\/revisions\/42770"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media\/19916"}],"wp:attachment":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media?parent=18568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/categories?post=18568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/tags?post=18568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}