Over the Rainbow: Migrating to the Google Cloud Platform
Thanks to Kubernetes, Google Cloud Platform is making inroads to the growing Infrastructure-as-a-Service (IaaS) market. Big players like Spotify and HSBC have already jumped on board. With the right implementation partner, digital publishers of all sizes can control costs, improve performance and gain transparency.
We talked with Nils Müller, Lead-Developer and Cloud-Expert @STRG.AT about his experience with the latest cloud migration projects.
STRG.Magazine: What is the Google Cloud Platform and how does Kubernetes fit in? And, by the way, how the heck do you pronounce Kubernetes?
Nils Müller: They say “every cloud has a silver lining”, and for the Google Cloud Platform [GCP] it would be Kubernetes — I think it’s pronounced Koo-burr-net-eez [from the Greek word, κυβερνήτης, meaning “pilot”], but all us hip techies shorten it to “K8s”. Google is increasingly gaining market share in the Infrastructure-as-a-Service business and it’s now an affordable and excellent alternative to AWS [Amazon] and Azure [Microsoft]. In large part, this is because Google initially designed K8s and then gave the Cloud Native Computing Foundation control of its ongoing open-source development. In general, IaaS allows a company to offboard its data center operations into the cloud and free itself from the hassle of purchasing and maintaining its own server hardware. IaaS gives you even more flexibility than you’d get by leasing servers at a managed data center. And K8s helps developers take IaaS to the next level by automating app deployment, horizontal application scaling, and system monitoring on the GCP.
STRG.Magazine: So, you just need to upload all your software and data from your existing servers to GCP and then go grab a beer?
Nils Müller: [laughs] No, it’s not quite that easy. There’s still a lot of planning and preparation that goes into migrating your platform from a local or managed data center to GCP, as well as tweaking K8s to automate the admin maintenance. That’s where STRG can help, but once we get a GCP system up and running, the administrative workload and associated costs go way down.
STRG.Magazine: That ought to make any CFO happy. There’ll be bonuses all around, right?
Nils Müller: Maybe! Using GCP, a company isn’t paying for and maintaining its own physical hardware, but rather only pays for the data resources it needs at any given time. If it needs to scale up or down quickly, it would be very difficult and costly to adapt its own data center, but GCP can be set up to provide the necessary resources on demand. Of course, it takes a bit of initial planning to set the parameters for auto-scaling, but K8s really facilitates this and allows you to detect and prevent potential problems before they can become major crashes.
STRG.Magazine: Like what kind of problems? Lightning strikes, bad-hair days and other Acts of God?
Nils Müller: Heh, more so problems resulting from inconsistent database querying – load spikes, slow performance, crashes, caching limitations, downtime during app deployments, and so on. But we also see a huge benefit when we develop a system architecture for a client. This is usually done in three stages — integration, testing and production – and each one would require its own expensive machine that would be idle most of the time. Now we can migrate all three stages into the K8s cluster, so we have the extra resources whenever we need them, and when we don’t they get applied to the production system.
STRG.Magazine: Is it true that you once implemented a GCP solution that actually turned water to wine?
Nils Müller: In a way, yes! Back in 2015/16, we implemented our STRG.CMS for the Lower-Austrian Press and Publishing House [Niederösterreichisches Pressehaus], which publishes two print newspapers [NÖN and BVZ] in dozens of regional editions, as well as three digital news platforms [noen.at, bvz.at and nitelife.at]. We centralized all their digital publishing under one roof, so to speak. As we gradually added more advanced features, like multi-channel output, semantic web analysis and tools for data-driven publishing [read STRG’s case study about the project here], we became frustrated by the sites’ unstable performance and the difficulty of scaling. It was originally built on a set of servers, all duplicating the same software. It was very hard for us to see what was happening inside – it was just everything packaged in one big software, which was acting like a super robot and there were a lot of queries and things happening in the background, so it was challenging to determine what was causing issues. So, we began discussing IaaS options with the client and recommended GCP and K8s, because I had already been using these in my work with STRG.BeHave and they are the easiest to initially implement – at least from a developer’s perspective, there is a low barrier to entry.
STRG.Magazine: Easy for you, maybe, but is the cost of GCP a barrier for some clients?
Nils Müller: It can be a challenge. Our client was an early adopter of the GCP solution, so it lacked an appropriate reference project. Also, we had to convince them that the initial investment would pay off down the road, not just in terms of better performance but in actual cost savings. Because they weren’t already hugely invested in their own IT infrastructure, they weren’t scared off by the pricing.
STRG.Magazine: Sure, it’s always easy to convince a client to invest in something that its customers may not even notice.
Nils Müller: We were able to show them that once the costly drudge work of migrating the CMS with all its coupled caching layers and APIs, we could manage the ongoing costs of GCP by taking advantage of the “preemptive nodes” concept. Some GCP virtual machine resources are much less expensive yet have the same performance parameters as their premium plans, but the downside is Google only guarantees a lifetime of 24 hours and might shut you down if they need more resources internally. It might run for a day or a week, but we have no control over if or when. However, K8s allows us to manage this limitation to our advantage. If we had, say, eight physical or virtualized servers, maybe they’re just idling at night when traffic is low, but we’re still paying for the infrastructure, energy usage, etc. With K8s, we can implement sensors that determine how much server resources are needed and shut them down if they’re not, like overnight, or it adds additional machines when we need more, like during load spikes in the morning. We define the parameters and K8s will monitor the workload and take necessary action for us.
STRG.Magazine: So, the client gets to sit in a box seat but only pays for a standing room ticket! But won’t it still take forever and a day before the client sees any ROI?
Nils Müller: In the end, our client’s monthly costs for cloud-based infrastructure were over 30% lower than we had originally budgeted, and far less than what they would have spent on hardware depreciation and maintenance over four years. If a client’s portal has a consistent workload and relatively constant usage, then it might not be worth the up-front expense and effort. But beyond the potential for long-term cost control, there are other advantages to migrating to GCP and using K8s as a service. The client gains a lot of flexibility to adapt quickly to potential business opportunities – say it wants to merge with another portal, increase the number of back-end users, add a new channel, or implement some one-off front-end feature, such as a reader poll, sales promotion or A/B testing. This would normally cause an abnormal load spike and potentially crash the system by overloading its database with read/write requests. K8s enables us to automatically dedicate just enough resources needed to scale up, without having to dedicate them permanently. With its basically out-of-the-box dashboard, supplemented with additional tools like prometheus and grafana, we can easily monitor and visualize hundreds of data metrics with fine granularity, define action parameters and preemptively plan for just about any evolutionary scenario the client would like, or even one it hasn’t even considered yet! Having such spontaneous flexibility is invaluable in today’s fast-paced business climate, and with GCP/K8s a client gets it for a bargain, compared with having to purchase and maintain its own data center.
STRG.Magazine: Especially in the EU, since the enactment of GDPR, many digital platforms and individual users distrust the “Great and Powerful Oz” (a.k.a, Google) and fear becoming helpless serfs trapped forever inside the Emerald City. Weren’t your clients paranoid about following the Yellow Brick Road to GCP in this regard?
Nils Müller: If you want to migrate to a dependable and durable IaaS solution, you don’t have too much choice – it’s either Google, Amazon or Microsoft. But most clients already use some Google products on their platforms – Analytics, AdSense, AdWords, YouTube, etc., and are comfortable that these are safe to implement. GCP servers are located throughout the world, but you can opt only for those within the EU (most of the ones we use are in Germany) in order to avoid any potential GDPR hassles. Plus, Google already sits on exabytes of metadata that they obtain from their search engine, Chrome browsers, and Android devices – they could care less about your “pint-size” portal data, but they love to profit from your business relationship. If our client has exceptional data-protection requirements, though, we can design a security concept to meet its needs.
STRG.Magazine: And how does your client know that you’re not just some Professor Marvel telling them not to pay any attention to what’s behind the curtain?
Nils Müller: Normally, it can be difficult for a client’s management to see some tangible advantage resulting from their investment. The front-end might look the same as it did before and performance improvements might not be noticed by a casual user. But it’s like changing the shock absorbers on your car – outside it looks the same, but it feels snappier, handles the turns better and drives more safely at high speeds. Today’s clients demand more transparency from their agency partners. This is made even better with GCP and K8s. We have the dashboard that logs and displays usage and costs which we can easily share with the client. We want to work hand-in-hand with them, not just be their service provider. STRG offers many more products and services than just system architecture and CMS. We are developing state-of-the-art publishing tools using AI, machine-learning and semantic analysis and want to ensure there is always something more we can offer to our clients.
STRG.Magazine: Is there any particular type of business that is more likely to benefit from migrating to an IaaS cloud provider?
Nils Müller: It’s not only for media publishing, but for any business that needs scaling flexibility, especially those companies that don’t want to be burdened with maintaining their own IT infrastructure. Because Google has embraced the open-source culture with K8s, GCP will especially appeal to customers for whom open-source innovation is a priority but who still revere Google’s dominant engineering know-how. Cloud providers help you to efficiently host your application, whether it’s a legacy web application or a system using real-time data processing, machine learning like NLP, or the next generation AI. You profit from the deep knowledge they have in this field. You skip the hardware maintenance and operation instance and let them do it. Compared to what you get, costs are small and, to some extent, any company interested in reducing its carbon footprint will benefit from outsourcing its data infrastructure. I’d bet that in most cases your internal infrastructure can’t compete with these data centers’ carbon footprints, because they are designed for maximum efficiency.
STRG.Magazine: I’ve got a feeling we’re not in Kansas anymore.
Lead Developer & Architect
Always been a Technology enthusiast, I started in Hamburg as an autodidactic rebel coder with a passion for automation and simplification. Found my love “from” Austria and finished school here. On my journey, I was always interested in personal evolution and deeper knowledge, to continuously improve my skillset. This is also the reason why I started studying computer science at the TU Vienna. In my spare time, I train my kids to make Austria a great soccer nation. Or I build and connect environment sensors in my DIY smart home.