Container Use Cases
The most frequent use cases are around scale with multiple industries mentioned.
Join the DZone community and get the full member experience.Join For Free
To understand the current and future state of containers, we gathered insights from 33 IT executives who are actively using containers. We asked, "What are a couple of container use cases you’d like to highlight? What is the business problem being solved?"
Here's what they told us:
Radial is a customer who is pushing to the edge. They have run quite a number of changes through us and we have helped them scale. That’s why we moved to containers — flexibility and the ability to scale.
- 1) Scaling – Containers with orchestration tools have allowed our runtime to be stable and robust to extremely high volumes. 2) Modernization – Containers also allow product companies to successfully execute application modernization projects which traditionally are categorized as high risk and would go on forever. The benefit we provide to the end users using Kubernetes (K8s) in their environment is to be able to inject storage seamlessly. The plug-in for K8s does the hard work. The flex volume driver within K8s makes scaling easy.
- 1) Containers enable you to break monolithic legacy applications into a smaller set of purpose-built containers with each container having an independent life and release cycle. It is far easier to make patches. K8s allows you to update only the container that needs it. 2) Containers automatically scale up a workload or application in response to an increase in demand. With K8s you can have constructs called replica sets that specify the number of replicas needed for a particular service tier. Set up a performance monitoring tool that will measure application metrics, a spike in demand or workload to scale up the number of containers. K8s will detect when it has run out of resources. A cluster auto-scaler enables K8s to add more capacity. Applications are able to scale in response to events. When demand dies down, you can scale back down.
- The microservices use case is still important when designing in a loosely-coupled architecture well-situated to take advantage of containers. Look at your own application architecture to see where you will be successful putting an application into a container. Think about how you will break the monolith apart. Think about the difference in architecture. All of the data is in the legacy application and containers need to access it; however, people who own the data want to protect it. It can be difficult to convince them to use containers and make the data easily available.
- One of the greatest benefits of containers is their ability to be rapidly scaled up and torn down. Imagine you’re running a web application. You need the ability to scale based on your customers’ needs rapidly, while also not running excess capacity that will ultimately cost you money. With proper orchestration, containers are a great solution that allows you to rapidly scale to meet your customers’ needs while avoiding excess infrastructure in quiet times. Containers are a win/win for operations folks and the business.
- Containers empower enterprises to control infrastructure costs by optimizing resource use. At the same time, enterprises can add agility to their development process, meet any scalability needs that may arise, and even leverage multi-cloud deployments to evade lock-in and bolster availability. New technologies like serverless are also looking to leverage container technology for its strong backend. But similar to higher speed cars requiring a higher standard of safety, when DevOps gets up to speed to release thousands of times per day, its production K8s needs security that runs at the same speed.
- Containers enable the ability to spin up new environments in minutes. As a result, your environment becomes more robust, saves money, and simplifies product development and productivity.
- Containers are easy to spin up, which makes them ideal for responding to business changes. For example, if you’re running a news site and there is breaking news, you can increase the capacity of your website by spinning up more containers to handle the additional load. The same principle is true if you’re a ticketing website and have just made tickets to a popular artist available. But it’s not just changes in the (expected) load that containers work well for. Containers make microservices architectures viable, and that makes it possible to easily add functionality to your business application. If you are running that ticketing system and need to add the capability to exchange some collectibles for tickets, a container-based architecture allows you to add that functionality quickly, without disturbing the rest of the system, and then scale it up when it gets popular, of course.
- Hybrid cloud applications client run across multiple data centers and cloud vendors. The Azure and AWS regions look like one big infrastructure. We helped a client provide combined storage across different sites – on-prem and in the cloud by moving data from public to private clouds.
- We tend to work with enterprise customers that build modern infrastructure with containers. The benefits are they are able to migrate into the cloud with less dependency on the cloud provider. Containers create a layer of abstraction that makes it easier to go to the cloud and switch if necessary.
- 1) We enable clients to quickly find specific vulnerabilities in the environment – see images, privileges, and problems in the blast radius. They are able to solve a two- to three-day issue in 15 minutes. 2) Our solution installs in 10- to 15-minutes and takes all applications through the honeycomb of risk assessment ranking of riskiest deployments in the environment in 45 minutes. 3) Integration into K8s with a YAML file and SecOps doesn’t work. You need to visualize the entire network connectivity. We enable the customer to upload the policy and see the impact on their environment.
- As K8s becomes the go-to for container orchestration, more developers are looking to run Apache Cassandra databases on K8s. It’s easy to get started but more of a challenge when it comes to storing data in-state and understanding how different databases function. To that end, one recent use case on this front is an open source project we’ve been working on – a Cassandra operator for running and managing Cassandra within K8s.
- 1) A drug company with a lot of data scientists needs the ability to analyze data from development. Scientists are not infrastructure experts but need to be able to stand up a big data stack like Spark. People who are not DevOps or infrastructure engineers can access a self-service big data analytics platform and use it for their business purpose. 2) A media company with different departments and divisions wants to develop and deploy applications quickly. They need the ability to use different resource tools and cloud providers. We provide a platform where they can integrate everything.
- One major use case for containers is the replication of scientific testing. Containers ensure scientists can use the exact same software to replicate test results across different test environments and devices, which is very important in life sciences. Another use case example is cloud portability, where we are seeing more and more organizations migrating their workloads to the cloud. Containers are able to help make them much more portable and has reduced issues, troubleshooting, and complexity.
- 1) We are helping an insurance technology client with a small team to migrate from legacy cloud workloads with EC2 instances. We've helped them with the migration all the way up to containerized microservices. We were able to provide something friction-free didn’t break anything in the CD pipeline that also provided good visibility into what they are doing. 2) We delivered machine learning (ML) and predictive analytics for IoT devices managing K8s in many environments while providing visibility across multiple environments. We provided in-depth security that enabled them to see and understand what was going on so they were able to remain focused on the features of the product they built.
- We give people a tool to do many things including providing a visual programming environment where you can drag and drop actions and logic for a computer to run on your behalf to build apps and solutions. This is used for several asynchronous process problems like FDA drug trials, initiating new contracts, and onboarding new employees. We enable DevOps teams to drag and drop a program and we run it.
- 1) Microservices in retail is a very common use case; it’s what K8s was designed for. 2) Migration of traditional web apps is another common use case. 3) We improve operational efficiencies with a telco network scanning tool. Niche use cases end up being everywhere that is the glue that holds everything together. This client is now moving production web and microservice apps over.
- 1) Streaming application video helped customers with global streaming needs to run entire compute backend dynamically because it can scale on top of managed K8s service in different regions. 2) Also helped an ad serving video client serve videos with low latency.
- The primary use-case of containers is taking hosted software and deploying it on-premise. This is typical because a customer has data-protection requirements (e.g. HIPAA in healthcare or FINRA in finance); or because they want the performance of a dedicated deployment. The reverse is also something we do, taking our on-premise software and using containers to create a SaaS version, i.e. enabling new business models.
- Many companies are deploying (or planning to deploy) a wide variety of applications in cloud and on-prem orchestrated container management environments. For example, banking and FSI, HPC, big data, amination, and machine learning, just to name several. The list also includes a broad range of ISV applications, including stateful applications such as SQL relational database products like NuoDB. Business benefits realized are reduced infrastructure costs, easier and rapid application deployment methods, and automatic scale-in and -out to adjust quickly to application user demand and built-in continuous availability, as many online applications now demand "always on" availability.
- Finance industry company is modernizing by moving applications to container platforms. We helped them standardize on Nomad with 400 unique services, with 400+ in the pipeline for migration. It has been fun to watch as the move to containers with rations of ops team to apps becoming much more efficient. Containers provide greater agility with developers having access to the CI/CD pipeline, test, and staging environments. Developers gain productivity and agility plus the operational efficiency not having one systems administrator for every 10 servers.
- We’ve seen our customers use containers in many different ways, here are some of the interesting use-cases: 1) Many of our customers are using the official Ubuntu-based Docker image with our Charmed K8s distribution for running their applications in production. One of the largest web design companies in Switzerland was able to package SAP Hybris and ship a web application for one of their large customers on our platform. We see customers running various big data workloads, such as Kafka to perform data processing. We also see customer interest in using K8s for HPC workloads. 2) Snaps are a container format which can be used to install desktop applications, such as Skype or Slack, but it is also very useful for IoT and other embedded applications. They are essentially the next-generation of Debian package, which is isolated from the underlying infrastructure and designed to be ephemeral, easy to upgrade and portable. 3) LXD/LXC is a technology which provides machine containers and is provided as part of our OpenStack distribution as a hypervisor. Our customers use this for certain workloads which are performance critical as LXD does not have the same performance hit as workloads running as KVM virtual machines.
Here’s who we spoke to:
- Tim Curless, Solutions Principal, AHEAD
- Gadi Naor, CTO and Co-founder, Alcide
- Carmine Rimi, Product Manager, Canonical
- Sanjay Challa, Director of Product Management, Datical
- OJ Ngo, CTO, DH2i
- Shiv Ramji, V.P. Product, DigitalOcean
- Antony Edwards, COO, Eggplant
- Anders Wallgren, CTO, Electric Cloud
- Armon Dadgar, Founder and CTO, HashiCorp
- Gaurav Yadav, Founding Engineer Product Manager, Hedvig
- Ben Bromhead, Chief Technology Officer, Instaclustr
- Jim Scott, Director, Enterprise Architecture, MapR
- Vesna Soraic, Senior Product Marketing Manager, ITOM, Micro Focus
- Fei Huang, CEO, NeuVector
- Ryan Duguid, Chief Evangelist, Nintex
- Ariff Kassam, VP of Products and Joe Leslie, Senior Product Manager, NuoDB
- Bich Le, Chief Architect, Platform9
- Anand Shah, Software Development Manager, Provenir
- Sheng Liang, Co-founder and CEO, and Shannon Williams, Co-founder, Rancher Labs
- Scott McCarty, Principal Product Manager - Containers, Red Hat
- Dave Blakey, CEO, Snapt
- Keith Kuchler, V.P. Engineering, SolarWinds
- Edmond Cullen, Practice Principal Architect, SPR
- Ali Golshan, CTO, StackRox
- Karthik Ramasamy, Co-Founder, Streamlio
- Loris Degioanni, CTO, Sysdig
- Todd Morneau, Director of Product Management, Threat Stack
- Rob Lalonde, VP and GM of Cloud, Univa
- Vincent Lussenburg, Director of DevOps Strategy; Andreas Prins, Vice President of Product Development; and Vincent Partington, Vice President Cloud Native Technology, XebiaLabs
Kubernetes Docker (software) application Big data Data science Cloud Use case Software development Machine learning microservice
Opinions expressed by DZone contributors are their own.