Paul Speciale is Chief Marketing Officer at Appcara, which is a provider of a model-based cloud application platform. He has more than 20 years of experience in assisting cloud, storage and data management technology companies as well as cloud service providers to address rapidly expanding Infrastructure-as-a-Service and big data sectors.
Numerous IT management tools are available today for use with the cloud, but the rubber meets the road at the level of the application because this is what a user will actually “use.” The need for application management tools is particularly critical when applications go beyond typical single server Web sites into the more complex category of multi-tier enterprise applications. In these applications, multiple Web servers are needed to address a large load of user requests, which in turn depend on the business logic in a tier of application servers – and they, in turn, must access data in a tier of database servers. That’s a lot of inter-dependencies to manage so that users experience consistently fast performance, at agreed-upon SLAs.
To address this complexity, it’s therefore critical to carefully manage and automate the application layer – and while various kinds of solutions are available to help, not all are targeting the same layer on the classic application stack.
Many companies have now transitioned to using clouds for access to IT resources such as servers and storage. The term “Cloud Management” is nebulous, but typically refers to a distinct set of tasks related to managing the infrastructure level (IaaS) cloud layers, typically comprised of the physical and virtual infrastructure, as well as the cloud orchestration layer - whether inside a corporation or a Service Provider cloud.
This pertains to managing the infrastructure elements on which the cloud is running - including the physical infrastructure elements such as servers, networks and storage, as well as the virtualization layer and the cloud stack. The latter can be open-source software such as OpenStack, CloudStack or commercial products such as Citrix CloudPlatform or VMware Cloud Director (VCD). Managing the cloud stack itself is typically done through the vendor-provided UIs, and augmented by 3rd party tools. The user level elements that are managed within such an IaaS cloud are virtual servers, cloud storage and shared resources such as load balancers and firewalls.
Cloud Application Management
In contrast to Cloud Management, the emerging category of “Cloud Application Management” addresses the next level above the Infrastructure cloud. It is implicitly driven by the enterprise shift of moving more and more application workloads to cloud style deployments. Critical enterprise applications that run businesses will soon make the shift to cloud, including proprietary apps that capture the competitive advantage in sales, marketing and operations for many companies. Too many obstacles have previously inhibited migrating, deploying and managing these applications in cloud environments. The advantages of on-demand usage and billing, fast provisioning and agility can make an IT environment much more productive than before.
The application layer can therefore include but is not limited to
- The application packages and any dependent packages (such as PHP and Java)
- The application directories and configuration files
- Security policies
- Firewall rules
- The metadata describing inter-dependencies between components
The last point is key, since modern Enterprise Apps are typically constructed on multiple servers. This is an important transition to enable Enterprise apps in the cloud – the ability to holistically and simply manage applications consisting of multiple components as a single entity.
Solutions for Cloud Application Management
The main approaches to date for managing applications that exist in the cloud have been Platform-as-a-Service (PaaS) and tools based on libraries of Server Templates (Machine Images). Both of these approaches offer advantages. PaaS option are great for creating multi-tier applications to be run on the same PaaS provided cloud and where any external components to be integrated are based on the same development language (often Ruby or Java). Server templates can be very fast and effective when deploying single-server Web applications. But each can limit the user’s choices in which cloud environments they can target (PaaS), and the degree to which they can automate multi-tier applications (server templates).
Data model-driven cloud application platforms are a newer option that dynamically capture and assemble deep knowledge of multi-tier applications, and use that knowledge to automate deployment and enable the management tasks of enterprise applications over time, for example when changing application settings. This ongoing update/change management is pivotal with enterprise class applications. This approach creates a virtual model of the app and stores it in a repository that is used to automate many of the common deployment steps including provisioning, installing software, setting configuration parameters and dependencies between different elements.
As an example of how a model-driven approach can automate tasks, let’s assume a user has been developing a multi-tier application consisting of six servers in a public cloud environment. This user had been doing dev/test of the application in a public cloud to take advantage of the on-demand and usage based billing, which can minimize cost by utilizing resources as needed. For production deployment, the corporation would like the application to run inside the enterprise data center’s private cloud, to exploit the security and higher-performance it offers.
Once ready for deployment, model-driven platforms can fully automate the process of “moving” (cloning) the entire workload from public to private cloud in a single click, due to the captured knowledge of all workload components. This would not be possible with PaaS, since by definition it is a public cloud service. It would also not be possible with the Server Template approach, since they depend on specific clouds they target – forcing changes to each individual template that targets the private cloud.
No matter how you define the market sector, data center managers should be aware that they have several major categories of choices exist for managing cloud based applications, and category distinction isn’t always clear. The process of surveying market options to match data center needs with vendor offerings can help frame the best path to saving time, hassles and budgets.
Industry Perspectives is a content channel at Data Center Knowledge highlighting thought leadership in the data center arena. See our guidelines and submission process for information on participating. View previously published Industry Perspectives in our Knowledge Library.