Why We Migrated to Containers on Google Cloud

shipping containers.jpg

Decades ago, the arrival of the standard shipping container revolutionized global logistics. Today, the concept of the software container is transforming software deployment. Containerization solves any number of problems for software development and deployment, which is why we adopted the concept ourselves in migrating our managed services portal to Google Cloud.

Increasingly, companies the size of Burwood (250 employees) to global enterprises (like Google Cloud) are using containers to standardize software deployments across multiple machines and platforms. Sophisticated container orchestration platforms have also emerged, helping IT teams manage containers and automate software deployment. 

The benefits of containerization

If you’re not familiar with the concept, a software container packages the code, its libraries, frameworks and other components. As a result, the application runs quickly and reliably in any environment, whether it’s an on-premise data center, the public cloud or a developer’s personal laptop. At present, Docker is the leading container toolkit—but new competitors are quickly coming onto the scene.

In addition to reliable, consistent application deployment, key advantages of containerization include:

  • Speedy scaling without more servers. Multiple standalone containers can reside side-by-side on the same computer without any interaction or access to each other’s data and processes—drastically reducing the amount of server space needed to host your applications.

  • Flexibility. Containers support virtual machine-like separation of concerns, but with far less overhead and far greater flexibility of deployment than hypervisor-based virtual machines.

  • Ideal for microservices architecture.Microservices break a large software application into many different functions that can be deployed independently, speeding up development and deployment of elements.   

Google’s Kubernetes comic. Credit: Scott McCloud

Google’s Kubernetes comic. Credit: Scott McCloud

Once deployed, containers require some monitoring and management—which can be challenging and time-consuming without the right tools. If you’re trying to manage hundreds or even thousands of containers, a container orchestration tool like Google’s Kubernetes Engine can help optimize cost and free up DevOps time.  As this handy Google Cloud comic illustrates, Kubernetes helps keep all processes operating smoothly to optimize uptime.

Migrating Burwood’s managed services portal to Google Cloud

Why did we join the container movement and migrate Burwood’s managed services portal from an applications server to containers on Google Cloud? For a few reasons:

  1. Secure and Standardize the Environment

    We wanted to adopt a more secure, standardized, and portable deployment, and using containers via Kubernetes on Google Cloud was the easiest and fastest approach—shaving weeks off the time it would have taken to host it ourselves.

  2. Speed and Consistency

    A key tenet of how we do DevOps is being able to deploy our service delivery applications quickly and consistently every time. By combining containers with Google Cloud, we can automate continuous integration and deployment, taking some of the human error out of moving new software off of someone’s laptop computer and into production.

  3. More Uptime and Availability

    For our clients, the change brings more uptime and availability of the portal and its applications. We now can pilot microservices and new features on selected user groups for feedback. Behind the scenes, we’re able to mine service data to proactively address emerging issues. And, we now have a robust platform for developing more useful tools for our managed services clients.

Is your infrastructure ready for an upgrade?

Remember: containerization is only one way to leverage the cloud for improved application performance, security, or agility. For your organization, it may make sense to begin your cloud migration with discussions about ownership, governance, or support. Also consider which application use cases, key internal stakeholders, or workloads will benefit most from the cloud.

Containerization can help you maximize resource efficiency—when deployed with expertise and care. Any application with a Web-based front end can be containerized, but proceed with caution if latency is a concern with databases.

It’s often useful to approach containerization with a trusted partner to help assess your application portfolio and determine the right architecture and deployment strategy. A managed services provider can also set up turnkey development pipelines and tailored orchestration tools.


November 19, 2019