Embracing Multicloud with Containers

    By

    Oct 20, 2023

    Previously, in part 1 of the series Understanding Multicloud: Features and Benefits, we looked at multicloud itself. Today, we'll talk about what containers are and why they are essential for multicloud deployments.

    1. What are containers?

    Containers package up application code and all its dependencies with their runtime environments, so the applications can be moved quickly and reliably across environments (development, testing, and production) while retaining all functions.

    Virtualization creates virtual representations of hardware (servers, storage, networks, and other physical machines). Those representations are virtual machines (VMs). This technology helps manage hardware resources and delivers greater ROI.

    Containers are similar to VMs to some extent in that they make your applications independent from your IT infrastructure resources. But while a VM is a digital copy of a physical machine, a container is a package containing everything needed to run an application, and above all, virtualizes the operating system (OS) instead of just the hardware.

     

    Figure 1: VMs vs Container
     

    For example, in terms of resource provisioning, a server can be provisioned as hundreds of thousands of containers with only 5 to 20 VMs. In addition, a container can be rebooted in seconds while rebooting a VM may take minutes.

     

     

    2.  What are the benefits of containers?

    Lightweight. A single container can be used to run anything from a small microservice or software process to a larger application. It does not contain OS images, which makes them smaller than VMs and portable with significantly less overheads.

    Portable. Containers can deploy applications on different OSs and hardware platforms, improving portability and ensuring consistent operations.

    Improved utilization. In larger application deployments, multiple containers may be deployed as one or more container clusters managed by an orchestrator such as Kubernetes (K8s), an open-source system for automating deployment, scaling, and management of containerized applications. Container clustering allows updates of individual services without taking the whole application.

    3.  Why does multicloud strategy need containers?

    In part 1, we discussed how organizations are choosing a pick-and-mix approach of cloud services from multiple vendors. The Flexera 2023 State of the Cloud Report found that 89% of enterprises have a multicloud strategy, and 80% run their services on a hybrid cloud.

    However, a multicloud strategy encounters typical issues when migrating applications between environments, such as migrating private cloud-developed software to public clouds, or switching over services to heterogeneous cloud. That's where containers come in.

    Containers overcome these barriers by presenting cloud-native solutions that let enterprises focus on developing, testing, and deploying applications in their private cloud environments, while the cloud provider focuses on maintaining the infrastructure.

    Furthermore, the high portability of containers helps developers test applications on multiple OSs to iron out any inconsistencies, and even if a bug is found, it affects only the single containers instead of the entire OS.

    Now, applications can run consistently on other environments — locally or on the cloud to help organization as they work with different cloud services. Lightweight features, such as small size and quick initiation, helps meet peak demands as they can spin-up quickly and scale horizontally.

     

     

    4. What are the drawbacks of containers?

    Despite the numerous benefits, there are drawbacks to using containers.

    For example, as for the lightweight feature we mentioned, it is based on isolation of resources and environments, which inherently limits containers' stability. If numerous containers operate simultaneously, some may be forced to stop due to insufficient resources.

    Containers involve many different concepts and technologies and can be very complex to set up and manage, especially in large-scale environments. It is often the case that an organization identifies containers as technology it will implement. However, further progress is stopped due to the lack of experience building, maintaining, and operating a container environment.

    An organization cannot expect its personnel to become experts right away when turning to containers. The complexity can be difficult to navigate for organizations whose core business is not container management. For those who want to count on their in-house resources when deploying containers, they'll have to invest significant time and budget.

    Moreover, the majority of enterprises deploying containers will require persistent storage that retains data no matter what movements or lifecycles the containers may have, but many enterprises do not have the setup for this storage type in a way that meets the needs of their applications. In addition, container technology is developing beyond the means of typical monitoring tools, requiring an extra investment in best-in-class management tools.

    More importantly, since containers share an OS kernel, if the OS encountered a vulnerability, then all containers rooted to the OS are likely to be affected, risking data loss.

    Every problem has a solution

    To proactively overcome the drawbacks and fully leverage the benefits of containers, the industry has been working on combing the high availability (HA) and disaster recovery (DR) capabilities of professional-grade storage with containers.

    As the leader in storage industry, Huawei also believes in container technology and has launched container storage solution with high availability, efficiency, and agility. The solution aims to provide industry-leading container storage as a service to help enterprises embark on the road to multicloud with ease.

    In part 3 of the series, Unleashing the Potential of Containers with Container-Native NAS Solution, we look at how network-attached storage (NAS) works with containers to help enterprises enable efficient container deployment, improve the reliability and fault tolerance of containers, and facilitate data mobility to meet business innovation needs.

    In the meantime, learn more about Huawei Cloud and Huawei Storage, and subscribe to this blog to get notifications of all the latest posts.


    Disclaimer: Any views and/or opinions expressed in this post by individual authors or contributors are their personal views and/or opinions and do not necessarily reflect the views and/or opinions of Huawei Technologies.

    Loading

      Leave a Comment

      Reply
      Posted in

      TAGGED

      Posted in