ISO/IEC 17788 defines cloud capability types as a classification of the functionality provided by a cloud service provider to the cloud service customer, based on the resources used. There are three different cloud capability types:
- Software capabilities
- Platform capabilities
- Infrastructure capabilities
Software Capabilities
The benefits of leveraging software capabilities via cloud computing are multifold. Clients can access their applications and data from anywhere, at any time. They can access the cloud computing system using any computer linked to the internet. Data isn’t confined to a hard drive on one user’s computer or even a corporation’s internal network. Other capabilities and benefits include:
- Overall reduction of costs: Cloud deployments reduce the need for advanced hardware on the client side. Essentially, the requirement to purchase high specification systems, redundancy, storage, etc. to support the applications is no longer necessary. From a customer perspective, a device to connect to the relevant application with the appropriate middleware is all that should be required.
- Application and software licensing: Customers no longer need to purchase licenses, support, and associated costs, as licensing is “leased” and is relevant only when in use (covered by the provider). Additionally, purchasing of bulk licensing and the associated CapEx is removed and replaced by a pay-per-use licensing model.
- Reduced support costs: Customers save money on support issues, as these are handled by the relevant cloud provider. Appropriately managed, owned, and operated streamlined hardware would, in theory, have fewer problems than a network of heterogeneous machines and operating systems.
- Back-end systems and capabilities: A cloud provider supplies access to back-end systems and other capabilities and takes on the responsibility for those resource-intensive tasks.
Platform Capabilities
PaaS and the cloud platform components have revolutionized the way development and software has been delivered to customers and users over the past few years. The barrier to entry in terms of costs, resources, capabilities, and ease of use have dramatically reduced time to market, promoting and harvesting the innovative culture within many organizations. Outside of the key benefits, platform should have the following key capabilities and characteristics:
- Support multiple languages and frameworks: Platform should support multiple programming languages and frameworks, thus enabling the developers to code in whichever language they prefer, or the design requirements specify. In recent times, significant strides have been made and efforts have been taken to ensure that open-source stacks are both supported and utilized, thus reducing “lock in” or issues with interoperability when changing cloud providers.
- Multiple hosted environments: The ability to support a wide variety of underlying hosting environments for the platform is key to meeting customer requirements and demands. Whether public cloud, private cloud, local hypervisor, or bare metal, supporting multiple hosting environments allows the application developer or administrator to migrate their application when and as required. This can also be used as a form of contingency and continuity, and to ensure ongoing availability.
- Flexibility: Traditionally, platform providers offered features and requirements that they felt suited the client requirements, suited their service offering, and positioned them as the provider of choice, with limited options for the customers to move easily. This has changed drastically, with extensibility and flexibility now afforded to meeting the developer requirements. This has been heavily influenced by open source, which allows relevant plugins to the available for the platform.
- Allow choice and reduce “lock-in”: “Proprietary” usually means red tape, barriers, and restrictions on what developers can do when it comes to migration or adding features and components to the platform. With the requirement to code to specific APIs made available by the provider, you can now run your apps in various environments, based on commonality and standard API structures, ensuring a level of consistency and quality for customers and users.
- Ability to “auto-scale”: Probably one of the biggest drivers, this enables the application to seamlessly scale and accommodate the demand of users. The platform will allocate resources and assign them to the application as required. This serves as a key driver for organizations that experience spikes and drops in usage (e.g., seasonal sales).
Infrastructure Capabilities
Since the dawn of computing, infrastructure has been the focal component to ensuring which capabilities and organizational requirements could be met, versus those that were restricted. It also represented possibly the most significant investments in terms of CapEx and skilled resources. Because infrastructure served as a key and core component for IT teams and technology professionals around the world, it became a significant cost base and expense when delivering and providing the relevant services to the organization. Within the cloud, this has changed significantly. However, the following key components and characteristics remain to meet and achieve the relevant requirements:
- Scale: Automation and tools to support the potentially significant workloads of either internal users or those across multiple cloud deployments (dependent on the cloud service offering) are key components of infrastructure. Users and customers require optimal levels of visibility, control, and assurances related to the infrastructure and its ability to satisfy their requirements.
- Converged network and IT capacity pool: Building on the scale component, this looks to drill into the virtualization and service management components required to cover and provide appropriate levels of service across network boundaries. From a customer or user perspective, the pool appears seamless and endless (no visible barriers or restrictions, along with minimal requirements to initiate additional resources) for both servers and networks. These should always be focused on supporting and meeting relevant platforms, applications, and SLAs.
- Self-service and on-demand capacity: Require an online resource or customer portal that allows customers to have complete visibility and awareness of the virtual IaaS environment that they currently utilize. Additionally, this should also allow customers to acquire, remove, manage, and report on resources, without the need to engage or speak with internal resources or with the provider. Think online banking—the same ease of use, without having to go to the branch.
- High reliability and resilience: To be effective, there must be automated distribution across the virtualized infrastructure (LAN and WAN), increasing and affording resilience, while enforcing and meeting SLA requirements.
1 thought on “Cloud Service Capabilities”