In this emerging era of DevOps, the call for collaboration in enterprise IT has reached a fever pitch. Unfortunately, traditional cloud management platforms (CMPs) and multiple cloud environments have created IT silos in the software delivery process — not to mention distrust between business units and central IT — that stymie productivity and innovation.
In a recent blog post, I compared alternative approaches for cloud application management — cloud management platforms, PaaS and orchestration frameworks — and concluded that none of them serve both business units and central IT without significant compromises.
This calls for new thinking: we need a next-generation CMP — one that features a common toolset and centralized management and is designed to power a collaborative, productive IT environment.
Meeting the Needs of All Enterprise IT Users
Let’s begin by considering the three personas of enterprise IT and what each needs from a next-gen CMP:
In the business unit, we typically find two types of users. The first is the end-user who wants a simple click-through experience to get needed services without having to worry about managing the infrastructure. The power-user, by contrast, is the application owner and is responsible for ensuring the performance and configuration of the application; this power-user needs greater control of the infrastructure.
In central IT (operations) our user is the cloud service provider in the organization, responsible for managing the common environment and ensuring that all business units can operate and deliver their applications. Operations is also responsible for providing a common set of services that are not tied to a specific application, such as database services, analytics services, automation and monitoring, and for addressing concerns such as security, regulation and cost.
What’s Different About a Next-Generation CMP?
A next-generation CMP takes into consideration the needs of all three personas in enterprise IT, and thus meets the following requirements:
- Empowers the business unit with a higher degree of flexibility in the choice of cloud, infrastructure resources and even application frameworks.
- Offers container support, because cloud native applications are built as a set of microservices and not as a monolithic application.
- Integrates best-of-breed open source solutions for monitoring, billing, and logging, offering users a plug-and-play, single pane of glass experience.
- Simplifies and speeds adoption of new frameworks and applications, removing the complexity of managing applications through managed services (e.g. database as a service, reporting as a service, and application server as a service).
- Makes everything self-service with common tooling, allowing central IT to deliver needed services quickly.
- Provides application-driven key performance indicators (KPIs) and activity monitoring, such as the number of applications deployed, the number of instances per cloud, and the size and state of each deployment — all easily accessible to the application users in the business unit through an API.
- Shares actionable insights on costs and utilization that trigger appropriate responses, such as failover, scaling, or shutting down unused resources.
- Joins network and application management together, so that the network follows the application, configured and controlled not just by the network operator but also by the application owner.
Brought to You By a Model-Driven, Orchestration-First Approach
The key enabler for achieving the above requirements is taking a model-driven, orchestration-first approach to cloud management rather than an infrastructure-first approach as with traditional cloud management. This essentially means using generic models and automated orchestration to turn applications into self-managed services. Here’s how it works:
- Using model-driven templates, developers define the application description and the specific target stack, including the way it should be managed, and the orchestrator is responsible for mapping those templates into an automated execution plan that interfaces with the underlying resources (see above).
- Central IT, as the service provider of the shared multicloud environment, uses the orchestrator to control which resources should be exposed to application developers and how (see below).
A Look at a Next-Gen CMP at Work
Here, in more practical terms, are a few examples of how a next-gen CMP delivers value to all enterprise IT users:
Application Developer: Select your stack and environment
- Catalog: Provides an easy way for developers to select and activate the target environment through self-managed services.
- Built-in integration and support for popular cloud environments: Delivers support without exposing a “least common denominator.” This includes container frameworks such as Docker and Kubernetes as well as services like database-as-a-service (DBaaS).
- Simple CLI experience: Allows developers to run applications from a local desktop environment for development and testing through a command line interface.
Power User: Exercise greater control of the environment and its resources.
- Model-driven blueprints: Provides the interface for automating key workflows needed to manage the application and interface with underlying resources.
- Model-driven design: Provides Restful API access to the resources exposed in the CMP, starting from the infrastructure resources to the monitoring system.
- Extension through plug-ins: Provides an interface to extend the CMP to support any resources or API endpoint that needs to be part of the application lifecycle.
- CLI interface: A popular choice for integration with the build system.
Central IT Operator: Manage and govern the resource mix
- Multitenant, self-service portal: Provides a central interface to control access and resource allocation.
- Application/service reporting and insights: Tracks key KPIs per application.
- Activity monitoring: Monitors activity per user per application over time.
Final Notes: Developer Freedom aka Business Success
The modern-day role of central IT in the enterprise is to support and empower developers in the business units; conversely, developers must work collaboratively as active partners rather than passive consumers of central IT. The next-generation CMP described here enables this productive partnership by offering a common platform and a set of self-managed services, giving developers a higher degree of freedom and ready access to the resources needed to drive success for the business.
Images courtesy of Cloudify.