BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
Supporting cutting-edge applications means working smarter, not harder.
The complexity of modern app development patterns goes well beyond even the management of containers. These are stitched together to form microservices, which, in turn, are combined into highly complex modern application architectures.
This complexity means the infrastructure must be managed programmatically and automatically through emerging IT automation tools. No human can keep up with provisioning and managing thousands of containers, their various dependencies and their composition into microservices by hand.
Breaking down a monolithic application into smaller constituent parts results in lots of little applications deployed throughout an IT infrastructure, which creates "a management nightmare," said Juan Garcia, CTO of nextSource Inc., a staffing management firm based in New York.
All these small pieces must communicate with one another over the network, and securing that communication can be a bear, as well.
Enter a new generation of cluster abstraction tools born to manage containers, but which can automate the underlying server, networking and storage infrastructures according to policies, rather than by individual components.
For Garcia's firm, that tool is Apcera, a next-generation platform as a service offering developed by the architect behind Cloud Foundry. Apcera allows for resources to be tagged, and then for those tags to be managed according to policy, including for security and governance.
"The policy-driven configuration of security was something that we really liked," Garcia said. Apcera has also been "an on-ramp to the cloud," capable of managing and dispersing workloads between a private VMware-based infrastructure and the Amazon Web Services public cloud for nextSource.
Microservices give traditional IT a makeover
The proliferation of containers -- catalyzed by the rise of Docker -- has prompted the change to IT automation, but they're only one part of the cluster-wide abstraction layers that have emerged from academia into the data center.
Longtime industry watchers compare the arrival of container orchestration and microservices to previous seismic shifts in the data center landscape, such as operating system-level server virtualization and cloud computing.
"One of the amazing things that we're seeing is how sophisticated and almost academic computer science ideas are now being integrated into the enterprise," said Heroku CEO/COO Adam Gross, now a senior vice president with Salesforce, which acquired Heroku in 2010. "The primitives that we're building off of are becoming much more powerful through containers."
Containers force application developers to build their applications in a way that's not as rigid or long-running as individual container services -- hence, the transition to microservices and other architectural principles, according to Nirmal Mehta, senior lead technologist for the strategic innovation group at Booz Allen Hamilton Inc., a consulting firm in McLean, Va., who works with government organizations to establish a DevOps culture.
"It's also forcing operators to understand that you're not going to log into a system and have a three-tiered app and let it be -- you're going to have to manage it in a more fluid way," he said.
Microservices orchestration easier said than done
There is complexity that comes with setting up such cluster-wide abstractions, and it's still early days for platforms such as Kubernetes, which is still developing its APIs and features, like multiregion deployment or rolling software upgrades.
"Schedulers require a different approach to how [IT] ops maintains and keeps the infrastructure reliable," said Mitchell Hashimoto, founder of HashiCorp in San Francisco, which makes the Nomad infrastructure orchestration platform. "Developing a scheduler-based infrastructure makes things easier, but doing that development is not an incremental step for most enterprise companies."
Still, those on the journey to implement new IT automation paradigms expect new peace of mind when these architectures ultimately arrive.
Kubernetes container orchestration has been somewhat challenging to achieve, as the software goes through growing pains evolving beyond version 1.0, according to Dietmar Fauser, vice president of architecture, quality and governance for Amadeus IT Group SA, a travel technology company headquartered in Madrid, Spain.
But once implemented, the simplicity of global configuration and software upgrades will be second to none.
Under Kubernetes, each single object in the global distributed infrastructure has tags, which are key-values. A user can have a query language that says, 'I want to shut down all of those tags associated with a given release number,' and manage the infrastructure that way, according to Fauser.
"It makes software upgrades extremely elegant and automated," he said.
How cloud, microservices enable IoT
Getting started with container orchestration
The lowdown on microservices and containers
How stateful apps with work with container management