Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Orchestrating and Deploying Containers

DZone's Guide to

Orchestrating and Deploying Containers

Security and the ability to maintain hybrid environments are the most frequently mentioned needs.

· Cloud Zone ·
Free Resource

Site24x7 - Full stack It Infrastructure Monitoring from the cloud. Sign up for free trial.

To gather insights on the current and future state of containers, we talked to executives from 26 companies. We asked, "What are the most important elements of orchestrating and deploying containers?" Here's what they told us:

Security

  • Security, monitoring, and management are frequently cited by enterprise architects as the top elements for container orchestration. On a container platform, there are 4 major elements that container orchestration must address: networking, storage, security, and management. With today’s fast-growing ecosystem, all these elements have pretty solid solutions available and each is rapidly evolving. Keeping up with new orchestration functions is an additional important element to consider. 
  • 1) Focus on open standards. Look to the CNCF and K8s container standards. Able to run on-premises and take to the cloud. K8ss provides mobility and agility when to run your workload, avoid vendor lock-in. 2) Focus on the developer experience. Build, deploy, operate container applications. An integration platform is important. The container provides a common factor with which to connect the DevOps cycle. 3) Differentiate by looking underneath at performance, security, enterprise-grade infrastructure, and scalability. 
  • Extension of how to improve the quality of software by breaking into smaller pieces. Use containers to deliver. Protect images in registries. See issues in images and protect as build. See issues in images and protect as build. Add security to DevOps. 
  • Need K8ss to take advantage of Docker. You still need a compliance and security platform. CNCF outlines the pathway to containerization. 1) Next generation microservices applications. 2) Containerization of legacy applications. Dev/test workloads, move to containers to save on infrastructure. Don’t rebase and rewrite. Take jar files and put in containers.

Hybrid Environments

  • People tend to look at containers and management of containers. K8s is the defacto standard. Need to solve the data layer by using a fabric to support stateful containers. The ability to do this incrementally without having to prioritize the order. Be able to support container and non-containers. Ensure simple deployment. 
  • It depends on the customer. For container leading customers like Silicon Valley start-ups we help with more advanced concepts around orchestration of K8s at scale in hybrid environments providing observation and monitoring. Lagging container customers, like financial services companies, want to move to K8s but 99% of their apps are running in a virtual machine (VM) and we’re looking at a five-year journey to move from VM to K8s, so you need to provide support for both. How to start taking stateless web apps from VM to K8s. 
  • As software is eating the world, DevOps and containers are becoming more important. There are always new things in the works to simplify the use of containers. 1) Vendors need to be on top of technology, so their products will meet your needs and solve your problems. 2) Do not use public cloud, containers, and DevOps technologies in isolation. You need to have a holistic view into the hybrid cloud landscape.

Other

  • The most important elements are the simplification of deployment scenarios. Container orchestration can be quite forgiving in regard to accepting incomplete or sub-optimal inputs, however, even small deviations can have negative operational impacts. The complexity of the Docker CLI (command line interfaces) lends itself to the introduction of human error through forgetting CLI strings, and there is no pre-validation of commands prior to execution.

  • Make everything deploy faster by spinning an app up and down in a container versus having to provision a server.
  • API gateway and runtime gateway. Deploy on OpenShift with AWS and SaaS. Be platform independent to realize the full-value of containers. Create efficiencies with containers.
  • Application automation tooling for lift and shift. Containers automate how to package. We provide the application code libraries and services required when deploying. We help legacy apps not designed for containers. We provide a build pipeline that can be exported into a container format for Docker and K8s. Integrate for different deployment – declarative and repeatable build process.
  • Excellent change control so you are 100% sure what you are deploying where. Lightweight containers with true isolation (when you want it). Ability to create swarms that do interact.
  • Understand the application. K8s does a lot of orchestration and scheduling but it's only as good as the developers are able to tell it what to do. Guide to optimal use and best practices. Monitor systems and capacity. Know the characteristics of the applications.
  • Ensure all of the systems integrate for flexibility and scalability.
  • 85 to 90% of the software stack, microservices, and algorithmic models use Docker containers.
  • Most important is having expertise in how to use containers and orchestrators.
  • Understand connectivity of the database to the container and the dynamic nature of containers. Educate with distributed databases and how to allocate services. Deploying apps to the container and caching layer for ease of access to the data. You can collapse the memory cache and database into the application container.
  • Kubernetes is the "posix" or "HTTP" of the cloud, providing the standard metadata, APIs, tools, abstractions for orchestration containers on any cloud.
  • 1) On the bottom, we’re provisioning for Cloudera, Splunk, and other big data platforms. 2) On the top, we’re doing high-scale big data analytics. We take care of containers for clients providing appliance models. We work on scaling and managing our own infrastructure better. Splunk doesn’t support Docker so we cannot offer Docker to our clients. We have to evaluate to what extent we fit within a container architecture or have containers within our product. This varies by the scale of the customer.
  • Provide capabilities to development teams. Enable legacy apps to take advantage of container workflows since containers are immutable. Containers help with app portability and mobility. Uses the basic functions of the Linux kernel wherever it lands. Cloud-native distribution, resilient apps need a container framework of service underneath. Infrastructure lifecycle management of K8s cluster. NSX networking for security traffic flow between pods providing manageability and the visibility of flows. Harbor does container scanning. Deploy manages scale with K8s.
  • The most important elements are ensuring the containers are deployed safely without disrupting existing deployments (we employ a blue/green upgrade strategy) as well as providing mechanisms for our QA engineers to manage the promotion of code.
  • Maintaining high availability during deployment; making sure the application does not go down during a deployment of new containers as the old ones are replaced. Automation is a key factor in this as we can add checks and tests to make sure every service is fine before moving onto the next one.

Here’s who we spoke to:

Site24x7 - Full stack It Infrastructure Monitoring from the cloud. Sign up for free trial.

Topics:
containers ,security ,containers and containerization ,container deployment ,cloud security ,kubernetes

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}