{"id":15241,"date":"2019-10-26T18:11:07","date_gmt":"2019-10-26T22:11:07","guid":{"rendered":"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/?p=15241"},"modified":"2022-10-14T18:27:40","modified_gmt":"2022-10-14T22:27:40","slug":"why-we-switched-to-google-cloud-platform","status":"publish","type":"post","link":"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/iot\/why-we-switched-to-google-cloud-platform.html","title":{"rendered":"Why We Switched to Google Cloud Platform"},"content":{"rendered":"\n<p>Guest post from Drew Johnson, \u00a0VP of Engineering &amp; Operations, <a href=\"http:\/\/www.tmcnet.com\/query\/SearchResults.aspx?searchstring=Aeris+Communications&amp;type=phrase&amp;stem=True&amp;phonic=False&amp;fuzzy=0&amp;feeds=True&amp;area=0&amp;sort=date\">Aeris Communications<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"3216\" height=\"2136\" src=\"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-content\/uploads\/2019\/10\/Drew_Johnson_Pic1-1.jpg\" alt=\"\" class=\"wp-image-15243\" srcset=\"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-content\/uploads\/2019\/10\/Drew_Johnson_Pic1-1.jpg 3216w, https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-content\/uploads\/2019\/10\/Drew_Johnson_Pic1-1-768x510.jpg 768w\" sizes=\"(max-width: 3216px) 100vw, 3216px\" \/><\/figure>\n\n\n\n<p>As IoT\napplication deployments go global, customers demand more\u2014greater\nflexibility and choice, better alignment to business objectives, and meaningful\nimprovements to IoT program capabilities, cost, and security. IoT solution\nproviders are looking for efficient ways to bring these benefits to their end\ncustomers, and hosting solutions in the cloud is key.<\/p>\n\n\n\n<p>AWS, Google and Microsoft are the \u201cbig three\u201d public cloud providers,\nand among them Google is typically considered the laggard, especially for IoT\napplications. But after an extensive evaluation of both providers, we at Aeris\n(an IoT technology partner with over a decade of experience deploying IoT\nprojects for Fortune 100 companies) decided to use Google Cloud Platform (GCP).\n<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"450\" src=\"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-content\/uploads\/2019\/10\/aeris-booth.jpg\" alt=\"\" class=\"wp-image-15242\"\/><\/figure>\n\n\n\n<p><strong>The Application<\/strong><\/p>\n\n\n\n<p>What we have running in the cloud is the Fusion IoT Network \u2014 the\nfirst intelligent multimode 5G-ready solution, including LTE-M, NB-IoT, LTE and\n2G\/3G. Fusion IoT enables organizations implementing IoT solutions to use\nglobal wireless networks with one connectivity subscription on one platform,\neliminating multi-network administrative overhead. Fusion IoT Network is built\nto scale. With operational reach in 180 countries, it handles more than a billion\ntransactions a day for over 1000 customers worldwide. <\/p>\n\n\n\n<p>We chose Google Cloud Platform (GCP) for our production\nenvironment due to several factors, including Kubernetes maturity, VPC IP\nnetworking capabilities, open-source APIs, costs, and governance. The rest of\nthis article details our evaluation of GCP along these vectors.<\/p>\n\n\n\n<p><strong>Most Mature Managed Kubernetes<\/strong><\/p>\n\n\n\n<p>We wanted to transition from a Cloud 1.0 approach, where we used\nmanaged VMs, to a Cloud 2.0 approach, where we use managed containers and\nKubernetes. Cloud 2.0 is primarily about leveraging managed Kubernetes, which\nprovides superior compute density for cost savings as well as orchestrated\nflexibility for more accurate deployments and performance. <\/p>\n\n\n\n<p>Our analysis showed that GCP\u2019s Google Kubernetes Engine\n(GKE) is the best, most mature managed Kubernetes platform, which isn\u2019t\nespecially surprising since Google invented Kubernetes and continues to make\nregular contributions and updates to it in the open source community. We knew\nwe would get Kubernetes updates more quickly if we went with GCP.<\/p>\n\n\n\n<p><strong>VPC\/IP Networking Capabilities<\/strong><\/p>\n\n\n\n<p>Fusion IoT is a cloud-native IoT network, and we wanted to\nmove to a cloud provider with the best IP networking capabilities. Google\u2019s\nGlobal Virtual Private Cloud (VPC) IP networking capabilities are the best we\nhave seen of any cloud provider. Aeris is a global provider and we found that\nthe Google IP network backbone provided lower latency for our use cases\ncompared to what we were using previously.<\/p>\n\n\n\n<p>Additionally, we found Google\u2019s project and shared network\ncapability as compelling and differentiated. GCP supports an ability to create\ndiscrete isolated VPC networks within a project but then share networks into\nthe project for shared private access. This allowed us to create exact replicas\nof our network architecture for every phase of the deployment lifecycle, from\nour development environments to quality assurance environments, and all the way\nto our production environments. This is a powerful approach which provides\nbetter security, deployment accuracy, faster troubleshooting, and separation of\nconcerns between our IP networking team and our automation for infrastructure\nas code.<\/p>\n\n\n\n<p>The Google IP network, coupled with the Aeris cellular IoT network,\nwill allow us to give our customers unprecedented performance, security, and\nflexibility.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"1068\" src=\"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-content\/uploads\/2019\/10\/google-data-center-2.jpg\" alt=\"\" class=\"wp-image-15245\" srcset=\"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-content\/uploads\/2019\/10\/google-data-center-2.jpg 1600w, https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-content\/uploads\/2019\/10\/google-data-center-2-768x513.jpg 768w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<p><strong>Open-Source APIs for PaaS<\/strong><\/p>\n\n\n\n<p>Aeris and many enterprises are trending toward multi-cloud\nsupport. However, this can lead to an impediment for leveraging the full\ncapabilities of the cloud providers. Care must be taken not to get locked into any\nparticular cloud\u2019s proprietary Platform as a Service (PaaS) services. On the\nother hand, running the equivalent services ourselves can be very resource-intensive.\nThe emerging interoperable standards for PaaS are being driven by adoption of open\nsource APIs. Other cloud providers are also doing this, but Google is taking\nthe lead in this area. They are a founder of many open source technologies, and\ntheir APIs have become the de-facto standard APIs that those technologies use. <\/p>\n\n\n\n<p>For example, Google is the creator of the Beam API for stream\nprocessing. Previously, Aeris had to run and manage our own Flink cluster\nunderneath the Beam API. With GCP, we kept the same Beam API but then leveraged\nGCP\u2019s DataFlow underneath. In a similar manner, GCP&nbsp; has DataProc, which is a managed Spark and\nHadoop service that lets us take advantage of open source data tools for batch\nprocessing, querying, and machine learning. We could just plug DataProc in\nunderneath our standard open source APIs and we improved performance without\nany significant rework on our side. <\/p>\n\n\n\n<p>Google has significant resources running and improving their\nPaaS services. They have created dashboards and tools which provide our Site\nReliability Engineers greater insights. The implementations are solid and will\ncontinue to improve over time with much less effort from our team. Overall,\nthis approach has improved reliability and reduced effort without causing\nlock-in. It is a big win for us.<\/p>\n\n\n\n<p><strong>Costs<\/strong><\/p>\n\n\n\n<p>GCP offers what it calls Sustained Use Discounts \u2013 this is a\ntechnical strength that Google has with respect to pricing by leveraging their\nanalytics and machine learning capabilities. Other cloud providers typically\ncharge for VMs by either pay-as-you-go or as a Reserved Instance (RI), where\nyou commit to a 1-3 year contract for a better discount. The problem with\nReserved Instances is that needs change over time: when you buy a Reserved Instance,\nyou commit to paying for it even if you turn it off early. Effective tracking\nand managing utilization of RIs takes a lot of resources. &nbsp;GCP has a similar Committed Use Discount.\nHowever, GCP also has the Sustained Use Discount, which kicks in automatically\nafter GCP analytics determine you are using resources more than N days in the\nmonth. You automatically get a discount and if you turn off an instance, you\u2019re\nno longer charged for it.<\/p>\n\n\n\n<p>There are at least three other important features in the\narea of cost management. The GCP Project Organization feature provides superior\ncapabilities for cost control and visibility across different product lines and\nproduct deployment lifecycle phases. In addition, Custom Instance Types in GCP\nprovide more flexibility at better cost than other cloud providers\u2019 rigid\ninstance types. This can be very significant if you need, for example, instance\ntypes with large memory but relatively low CPU. Even further, GCP\u2019s\nRecommendation Engine is regularly looking at our VM utilization and\nrecommending that we can save money be changing to a smaller instance type.\nIt\u2019s on our side!<\/p>\n\n\n\n<p>What this means for us is that we don\u2019t have to spend so\nmany resources managing our cloud usage \u2013 Google is doing it for us so we can focus\non adding functionality to our offering instead of cloud usage management. <\/p>\n\n\n\n<p><strong>Governance<\/strong><\/p>\n\n\n\n<p>When we deployed our products with another cloud provider, we\nended up with 14 different accounts cobbled together in a common bill. It was nearly\nimpossible to manage effectively. We were forced to this approach in order to\nget the access and cost visibility and control we needed. Even so, we had a lot\nof incidents of changes intended for development environments impacting\nproduction. The GCP Project Organization structure, which includes a folder\nhierarchy, gives us just the access and cost controls we need. We used a\ncombination structure of lifecycle and product area to organize our\ndeployments. We have a major folder branch between non-production and\nproduction projects. In non-production, we can have multiple development,\nquality, and continuous integration environment projects. Each project\nenvironment can have its own cost and access controls. The cost of a production\nenvironment is only about one-third of the total cost to deliver, so we needed\nto make sure that non-production environments could be managed very\nefficiently, as this can have a huge impact on the total cost.<\/p>\n\n\n\n<p><strong>High security <\/strong><\/p>\n\n\n\n<p>We have more than a hundred developers working on our\nproducts who need access to environments and VMs. We also have contractors and\npartners who often need access. The SSH key mechanism used by other cloud\nproviders does not provide the level of security and management needed.\nUltimately, managing those keys is again an incredible resource drain. Using OS\nLogin with GCP gives us better security with much lower management overhead. It\ngives us more granular access control at the user level and provides\ncentralized access management. GCP is also working security more and more into\nthe fabric of their cloud. For example, their Cloud SQL Proxy provides\nencryption for data in transit between the application and Cloud SQL with\nalmost no additional effort. <\/p>\n\n\n\n<p><strong>Summary<\/strong><\/p>\n\n\n\n<p>Although we still offer cloud-agnostic solutions, we made the transition to GCP for the Fusion IoT Network because GCP provided the best possible solution for Aeris\u2019 transition to Cloud 2.0. We moved away from managed VMs to managed Kubernetes, got better networking capabilities that were aligned with our business, superior open-source APIs, and a host of other features that allows us greater flexibility and performance with operational savings and tighter security. GCP may be seen as the poor stepson when compared with AWS and Azure in the market share rankings, but for our team at Aeris, it was the perfect fit. <\/p>\n\n\n\n<p><strong>Where do organizations with $8.5 billion in total buying power plan their 2020 budgets?<\/strong><\/p>\n\n\n\n<p>The world\u2019s only<a href=\"https:\/\/www.futureofworkexpo.com\/\"> <\/a><a href=\"http:\/\/www.itexpo.com\">ITEXPO<\/a>\u00a0#TechSuperShow Feb 12-14, 2020 in Fort Lauderdale, Florida.<\/p>\n\n\n\n<p>This event is unique as it also has a strong focus on IoT through\u00a0<a href=\"https:\/\/www.iotevolutionexpo.com\/east\/\">IoT Evolution<\/a>\u00a0with collocations focusing on\u00a0<a href=\"http:\/\/www.thesmartcityevent.com\/\">Smart City<\/a>,\u00a0<a href=\"http:\/\/www.iiotevent.com\/\">IIoT\u00a0<\/a>and\u00a0<a href=\"http:\/\/www.intelligentedgeexpo.com\/\">Intelligent Edge<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"541\" src=\"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-content\/uploads\/2019\/10\/itexpo-2019-crowds.jpg\" alt=\"\" class=\"wp-image-14834\" srcset=\"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-content\/uploads\/2019\/10\/itexpo-2019-crowds.jpg 1000w, https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-content\/uploads\/2019\/10\/itexpo-2019-crowds-768x415.jpg 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"539\" src=\"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-content\/uploads\/2019\/06\/iot-evolution-1.jpg\" alt=\"\" class=\"wp-image-12770\" srcset=\"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-content\/uploads\/2019\/06\/iot-evolution-1.jpg 1000w, https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-content\/uploads\/2019\/06\/iot-evolution-1-768x414.jpg 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Guest post from Drew Johnson, \u00a0VP of Engineering &amp; Operations, Aeris Communications. As IoT application deployments go global, customers demand more\u2014greater flexibility and choice, better alignment to business objectives, and meaningful improvements to IoT program capabilities, cost, and security. IoT solution providers are looking for efficient ways to bring these benefits to their end customers,<\/p>\n","protected":false},"author":44,"featured_media":15244,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[185],"tags":[2515,1738],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-json\/wp\/v2\/posts\/15241"}],"collection":[{"href":"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-json\/wp\/v2\/users\/44"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-json\/wp\/v2\/comments?post=15241"}],"version-history":[{"count":1,"href":"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-json\/wp\/v2\/posts\/15241\/revisions"}],"predecessor-version":[{"id":15246,"href":"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-json\/wp\/v2\/posts\/15241\/revisions\/15246"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-json\/wp\/v2\/media\/15244"}],"wp:attachment":[{"href":"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-json\/wp\/v2\/media?parent=15241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-json\/wp\/v2\/categories?post=15241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.tmcnet.com\/blog\/rich-tehrani\/wp-json\/wp\/v2\/tags?post=15241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}