artemegorov - stock.adobe.com
When it comes to the public cloud, containers are a work in progress.
Cloud container technologies have piqued the interest of the IT community as a new way to package and ship applications. However, there's still a lot of confusion in the market and a need for more maturation in the tools and services.
That doesn't mean users have to wait on the sidelines for the perfect cloud container technology. Check out these recaps of some of recent expert advice on containers, and follow the links to dive deeper to get up to speed on how best to incorporate containers into cloud strategies.
Don't let cloud container management options overwhelm
IT vendors aren't afraid to jump on the bandwagon with popular new technologies, and containers are no exception. Such a move can be good for competition but leads to confusion since IT teams have to learn a new technology and navigate the different vendor support options.
Various types of container management services are available that serve different enterprise needs. For example, "pure-play" options, such as Docker and Rancher Labs, have a narrower focus. These types of tools give users more flexibility, but they have limited functionality and require a deeper level of expertise and oversight.
At the other end of the spectrum, there are services from the public cloud providers that meet broader needs. Tools, such as Google Kubernetes Engine and Amazon Elastic Container Service, handle patching and other maintenance. While they integrate nicely with other tools on their respective platforms, there is an increased risk of vendor lock-in.
Check out this video from EMA for a greater breakdown of the five categories of container management tools and the pros and cons of each one.
Compare cloud container registries
AWS, Google and Microsoft all have their own Docker container registries. These registries -- Amazon Elastic Container Registry (ECR), Azure Container Registry and Google Container Registry -- host container images and can be deployed through the corresponding cloud container service. Developers can use third-party options, such as Docker Hub, but the cloud-native options are often simpler to use.
There are notable differences among the cloud-based registries, according to contributor Chris Tozzi. For example, the trio charge different rates and use different pricing models. While Amazon ECR and Google Container Registry users pay for storage and bandwidth, Azure Container Registry has a tiered, per-day pricing structure with some related charges around networking and container image builds.
Another difference among the three options is georedundancy, which enables container images to be spread across multiple clouds -- this can improve availability and performance. Google offers it by default, while Microsoft only makes it available in its Azure premier tier. ECR has regional restrictions, so AWS users that want georedundancy must do so manually.
Go service-based for cloud apps
If users move a monolithic app to containers, they should switch to a service-based architecture to maximize the benefits. Cloud containers are lightweight and have lower overhead, so when users break down monolith apps, it can reduce dependencies, improve scaling and remove bottlenecks.
Developers typically configure code-level manifests to describe the required packages and code the container should run. This is managed through a version control system so users can update and tune their application with limited effort and cost. Enterprises should try to match their manifest to the cloud hosting architecture. Also, developers should stay disciplined as these manifests enable them to fundamentally change the infrastructure configuration that runs applications.
The ephemeral nature of containers can complicate storage needs for database applications. Web developer Zachary Flower explained how to address these problems and other issues pertaining to a move to container-based architectures.
Avoid common mistakes
IT teams may be excited to adopt container technologies, but users need to remember that cloud containers are not a substitute for other IT tools and processes. It's still infrastructure, and teams need to have other tools in place to manage and automate their workflows.
As is often the case, organizations that adopt emerging technologies struggle to integrate them into their existing systems. The result is confusion and frustration, but that doesn't have to be the case. There are various managed services, such as AWS Fargate and OpenShift on Azure, but they do come with their own issues, such as different APIs and feature sets.
Check out the full video to see the other cloud container challenges, such as a failure to fully differentiate between containers and VMs and a lack of understanding of the security implications of this technology.
IT teams expect more from containers
While cloud container technologies evolve, upgrades have been disjointed, and enterprises have an ever-growing list of improvements.
For starters, Kubernetes may have become the de facto standard for container orchestration, but it still can be difficult to set up and manage. AWS, Microsoft and Google now offer their own managed Kubernetes services to simplify those difficulties.
Similarly, organizations want more efficient compute processes, better VM-level storage support for cloud containers and standard APIs. Cloud consultant Jim O'Reilly discussed these and other wish-list items.