This article is the third part is a series on enabling cloud computing in industry solutions. Part 1 provided an overview of PaaS best practices and patterns. In Part 2, you learned about the capabilities and implementation mechanism of cloud-based IIF solution life cycle management. In this article, learn how cloud technologies enhance PaaS in the telecommunication industry. Explore how the Service Storm SPD provides a rapid integration model for services, and an integrated view of system health, for the four distinct user roles.
Telecommunication and IT technologies are rapidly converging. Confronted with huge infrastructure costs, telecommunication service providers need to:
- Develop new, high-value services faster to recoup investments.
- Deal with eroding revenue streams from traditional services, such as voice.
- Fend off new, aggressive competitors, such as virtual and other Internet-based service providers that offer competitive services at very low cost.
Service providers must rationalize their investment to build, deploy, and manage services while facilitating development of new, attractive services by third-party partner service providers. The demand for such combined services, and the convergence of wireless and fixed networks (broadband, for example), emphasize the need to move away from silo-based architectures. Today, service providers should rely on a horizontal, standards-based platform that enables convergence: a standards-based service delivery platform (SDP). (SDP usually refers to a set of components that provide services delivery architecture, such as service creation, session control, and protocols, for a type of service.)
Telecommunication SDP is the open, horizontal, standards based platform that enables service providers to create and deliver new, innovative services. To attract and serve an expanded customer base, telecommunication service providers are moving from voice-centered legacy network service to services that target the "long tail" across industries and communities. Services will be more targeted, focused, and personalized. This is a challenge for business models and technologies to develop and consume such value added services. Telecommunication networks and the Internet have evolved separately with regard to software applications and application development technologies.
For SDP, the cloud, with low cost for value added services and Platform-as-a-Service (PaaS), is the best way to host solutions. The cloud provides the open development community and business models for telecommunication services. A new range of services and applications are delivered to customers through several business models, though the PaaS model is the most prominent.
The PaaS model is a novel approach for software suppliers that want to focus primarily on the software development cycle and the monetization of new applications. They can bypass the investment in, and maintenance of, the underlying infrastructure and services for application design, development, testing, deployment, and hosting. PaaS creates a virtual platform for application development and deployment. With PaaS, the system's provider makes most of the choices that determine how the application infrastructure operates. Users build their applications with the provider's on-demand tools and collaborative development environment.
PaaS enables a centralized cloud-computing model where different roles in the ecosystem are magnetized around value added services into a centralized hosting environment. Roles include:
- Telecommunication operator
- Partner for development of value added services
- Enterprises using telecommunication related applications
- Individual customers
PaaS fits a double-sided market model where, in a platform, business is mediated between the demand and supply side. It creates value for upstream developers and downstream customers by extracting revenues from both sides. Telecommunication service providers will benefit from this new business model by achieving: low cost, openness, faster time to market, rich applications, and rich approaches for increasing revenue. Since the telecommunication operator provides the environment for the entire software cycle, developers can reduce the cost of provisioning and managing their own IT infrastructure. Runtime fees will be their primary costs, based on the actual computing resources used by applications or the number of users who are using them.
After studying telecommunication and mobile communication operators with dozens of customers, and analyzing the requirements and challenges in both business and technical models, we implemented Service Storm, a cloud enabled self-service telecommunication SDP in the PaaS model. Service Storm leverages Web 2.0 and other virtualization technologies to address the requirements of different roles in the ecosystem. It's different from conventional enterprise or partner-based development models because it enables the "open development community" model; everyone can rapidly develop telecommunication-based applications according to domain, community, or even user-specific requirements.
Service Storm provides a rapid integration model for personalized value added services. With the Service Storm model, non-technical users can create applications by assembling the registered services, mashups, built-in rules, events, database services, and so on. To ensure the independence and security of the different user groups, a three-layer isolation mechanism secures the resources. To facilitate resource allocation, a management and capacity planning mechanism allocates the resources appropriately. It provides an automatic deployment mechanism to support rapid and flexible deployment and scalability adjustment with the increased needs of business users. Service Storm also provides an integrated view of system health, from both a business and IT perspective, for business solutions and their hosting platforms.
To win in the marketplace, telecommunication operators must innovate, differentiate the customer experience, and be agile. In their business model, success factors for telecommunication operators are associated with the proper balance between the platform trade offs (open or closed, proprietary or non-proprietary, free or paid) to avoid fragmentation. For the business model, we classify roles, according to requirements regarding telecommunication value-added services, into the following four categories.
- Individual user
- The individual user previously acted only as end user with limited
options for personalized services, lacks IT knowledge to develop own
application but has a deep understanding of the requirements specific
to the individual or small community, and requires that the
environment is a black box with easy-to-use functions to innovate for
personal needs or business opportunities.
Requirements from individual users, who dream to start from scratch, bring a new business model for the telecommunication operator. There's opportunity for increased revenue, in addition to the conventional voice and SMS based business. End users may significantly benefit from the rich content, multimedia, and highly personalized services in such a model.
- Telecommunication operator
- This telecommunication operator develops and hosts the value added services for public user communities, which falls into the conventional business model of value added services. There's a need for a more powerful and flexible development model, and infrastructure, to shorten the time to market for more fine-grained value added services to smaller user communities.
- Business partner
- The business partner develops value added services for the public user community and splits the profit with telecommunication operator. Requirements are similar to the telecommunication operator, with additional requirements for: reducing cost for hosting the development; and testing and provisioning product environments compliant with telecommunication industry standards.
- Organization user
- Conventionally, the organization user owns industry-specific
applications as a part of an enterprise system by leveraging
telecommunication service, such as mobile workforce management and
front-end customer relationship management systems—especially
for small and mid-size enterprises lacking IT capability.
A requirement is to reduce the cost to maintain the IT infrastructure by partial out-sourcing, and developing and deploying new applications rapidly.
Service Storm is designed to meet the requirements of all four categories of users. Figure 1 shows the Service Storm architecture.
Figure 1. Architecture of Service Storm
In the architecture:
- Service assembler is a visual tool for you to define the application logic in a drag and drop manner. You can integrate the telecommunication services (SMS, MMS, Location Based Service (LBS)), and other elements, including Web 2.0 UI and external third party services, for implementing the value added services. You can also automatically generate the deployable artifacts without coding.
- Management components provide management functions
for SDP by collaborating with BOSS. The management components are:
- Service management that is used to manage the telecommunication services exposed in SDP, external third party services registered in SDP, and the newly generated applications
- Solution management that is used to manage the solution implementing the services and deployed in the cloud environment
- Cloud management that is used to manage the computing resources as cloud infrastructure
- Runtime software platform, which is built in the cloud environment, provides the runtime environment to host the applications for value added services. Typically, it consists of application servers, process servers, and other runtime environments focusing on handling business rules, events, and operating status.
- Cloud infrastructure is the cloud environment that provides centralized management of virtualized computing resources for the underlying capabilities needed for resource sharing based on cost saving.
Elements of the infrastructure
Cloud platforms host several independent applications, in a shared resource pool, and can allocate computing power to applications on demand. It's a challenge for cloud providers to manage resources while taking into account:
- The high-level quality of service requirements of hosted applications.
- Resource management costs.
Before an application is deployed, the hosting runtime environment should be allocated with necessary resources, and it should be created automatically in SDP. For security, Service Storm ensures that the allocated resources have been isolated for different user groups via the three-layer resource isolation mechanism. Meanwhile, resources allocated to service providers can be scaled up and down, depending on the user group size or the business growth requirement. The capacity planning mechanism helps manage the resources more effectively by catering to the requirements from the different roles.
Cloud computing allows services to run on leased computation platforms, thereby decoupling the service provider from the platform owner and the cloud infrastructure provider. This model implies that the infrastructure provider provides the ability to properly isolate services from each other. Service Storm consists of physical resources that include hosts, CPU, memory, disk space, and networks. Service Storm software resources include the OS, middleware, and applications.
Service providers, and their end users, should be isolated from each other to avoid interference or conflicts. Service Storm provides a three-layer isolation mechanism that helps to isolate resources in the following ways.
- Application layer
- Application level isolation ensures that the application data and business logic are kept adequately segregated. End users cannot gain unauthorized access to each others' data and business logic. The account information for end users is associated with the applications. Only authorized end users can access the application, which is exposed by the corresponding service provider. This isolation ensures that end users will have accessibility for the applications created by a special group of telecommunication operators or business partners. Applications are isolated from each other for different end users, telecommunication operators, and business partners.
- Network layer
- Network isolation is often used to enhance the security and efficiency
of the network by isolating some network traffic to certain physical
networks. Generally, there are two types of isolation technologies:
- Physical isolation, which cuts off the physical conjunction between physical nodes.
- Logical isolation, which often uses the software to achieve isolation.
- Virtual machine layer
- Different virtual machines running on the same physical machine are isolated from each other. The virtual machine monitor should offer isolation among virtualized guest environments and the host systems for both para-virtualization and full system virtualization. The software running in a virtual machine cannot access, or modify, the software running in the virtual machine monitor or in a separate virtual machine. Figure 2 shows an example of virtual resource isolation.
Figure 2. Virtual resource isolation
Resource management and scaling
Resource usage typically includes storage, I/O bandwidth, CPU usage, and memory usage. Agile resource management capabilities provide flexible mechanisms to build business agility. Service providers require different functions, qualities, and resource scaling in the telecommunications field. For example, the service provider of a backbone business process requires more virtual resources to achieve shorter response time and higher availability. For the service provider of assistant services, fewer or shared resources are allocated to reduce expenses. Flexibility is easily implemented by adjusting the virtual resources on a cloud infrastructure.
Horizontal and vertical scaling mechanisms are provided to resolve different performance tuning problems. Horizontal scaling covers the scaling up and scaling down capabilities. Vertical scaling specifies scaling out and shrinking capabilities.
Suppose a business service increases its requirements on resources in order to increase the quality of services. The service needs better capability when high-end usage increases. Clustering of middleware solves the problem. In Service Storm, built-in virtual templates provide topologies, including a standalone application server and cluster, for both normal and larger system throughput. A business user just specifies service quality options in Service Storm to increase scalability, including the number of end users or whether to enable high availability. The corresponding virtual system resources will be associated automatically to satisfy the service quality requirement.
Besides the basic resource scaling, the telecommunication operator and business partner roles can define more detailed sub-resource templates for different roles throughout the entire service life cycle. Topology of virtual machines, or the hardware and software resources for each virtual machine, are customized for roles as business modeler, developer, tester, production environment administrator, and so on.
Initial resource allocation and scaling functions in Service Storm are customized according to the user's role in their group (service provider groups or service end user groups), and can serve through the entire service life cycle.
Capacity planning involves:
- Predicting how much capacity is needed when future load levels saturate the system.
- Determining the most cost-effective way of delaying system saturation.
The capacity planning provided by Service Storm caters to different roles. The telecommunication operator and business partner can define constraints on resources at initial resource allocation and specify upper limits for future growth. They can also define, in the service level agreement, the conditions for resource extension and recovery.
When a user reaches a predefined threshold of virtual resource usage, the cloud infrastructure will extend the virtual machine resources by allocating more memory and disk space, or by adding more nodes into a cluster to balance workload. Conversely, when usage of a virtual system is lower than the predefined threshold for a certain time, idle nodes will be removed or memory will be drawn back.
Based on automatic scripts (described later in Smarter deployment and monitoring), the virtual resources are scaled horizontally or vertically. They are managed automatically, based on the capacity planning of the service provider, with uninterrupted services that will remarkably decrease operating costs of the SDP.
Scaling the system
As the number of consumers increases, more computing capability will be required. Service Storm lets you scale the runtime environment horizontally or vertically. The horizontal and vertical scaling mechanisms are two-dimensional methods to resolve performance tuning problems. The automatic deployment capabilities provide a flexible mechanism to build business agility.
Scaling up and scaling down signify that the resources of the running service nodes are adjusted based on performance monitoring. Scaling up will increase the allocation of CPU or memory into the deployed service nodes; scaling down will decrease the allocation of CPU or memory.
Scaling out and shrinking can also adjust the performance capabilities of the deployed solutions. For scaling out, in cases where the workload of the production environment is increased, the deployed software cluster will encounter more pressure. The new nodes will be provisioned to join the cluster to enhance the computing ability and maintain performance. Shrinking is similar, but acts in the opposite manner when the running environment is in an idling state. Some of the member nodes can be released from the cluster to save resources for other usage.
Smarter deployment and monitoring
For a flexible and efficient SDP, the runtime environment (including the OS, network, middleware, and applications) must be instantiated and configured automatically. In Service Storm, a deployment model provides an elastic combination of virtual machine templates, network resources, and automatic scripts. The entire deployment becomes configurable; components can be flexibly configured, rather than the traditional single solution deployment. Service Storm also provides aggregated views of business and infrastructure monitoring that greatly benefit runtime management after deployment.
Configurable deployment model
To implement automatic deployment, Service Storm provides a complete deployment model with the following elements.
- Virtual machine template
- The OS and middleware are integrated in one virtual machine template, as in Figure 3. Configuration points for the OS and middleware are defined for a particular virtual machine template so the service provider can customize. There are three types of configuration points: specific software configuration points, OS level configuration points, and underlying hardware resource properties.
- Network resources
- Service Storm provides centralized networking management, including:
- Allocation of internal network addresses for virtual machines.
- Address and port configurations for external services.
- Routing to internal virtual systems.
- Automatic scripts
- Automatic scripts configure or reconfigure a resource for a certain configuration point. Based on a unified model, Service Storm associates special automatic scripts for configuration during deployment. All the configuration steps are organized; the corresponding automatic scripts are invoked, relieving the service provider of the burden of implementing the underlying infrastructure.
Figure 3. Application runtime, automated deployment
Upon deployment, Service Storm selects virtual machine templates from the template repository and associates the necessary automatic configuration scripts, as shown in Figure 3.
Service Storm provides the entire solution deployment as well as single component deployment and configuration. In the telecommunication field, flexible businesses require that the SDP provide a rapid, easy-to-use method to automatically deploy either an entire solution or a single resource component.
Service Storm contains several typical middleware solution patterns, such as application server cluster and high availability solution pattern. The solution patterns include pre-built metadata of middleware and automatic scripts to regenerate the solution. Users can customize the solution patterns by setting values for configuration points. For example, a service provider can select the number of nodes in the cluster and whether to enable the high availability feature.
Aggregated monitoring views
Monitoring is another important function of the SDP. Monitoring provides awareness of execution status of physical and software resources. In Service Storm, which is based on the PaaS model, you can select special resources for monitoring, such as response time of a business process instance and virtual system resource status (CPU, memory, and disk space).
Monitoring of both business and infrastructure resources is mashed up into a unified view for the user. It provides a global and integrated status view for the whole SDP, which helps reduce the risks of SDP operation and makes it much easier to respond quickly in emergency situations. The captured key performance indicator (KPI) of a business process is in the Service Storm monitor portal, as shown in Figure 4.
Figure 4. Monitored business process KPI
- Read the previous parts of this series:
- Service delivery platform: Read more on Wikipedia.
- Cloud Computing Use Cases: This white paper, produced by the Cloud Computing Use Case Discussion Group, highlights the capabilities and requirements that need to be standardized in a cloud environment to ensure interoperability, ease of integration, and portability.
- IBM Service Provider Delivery Environment Information Framework: Learn more about this consumable and standards-aligned strategic framework that enables business agility, modular implementations, and faster time-to-value for communications service providers (CSP) and business partners.
- "Cloud, SaaS, Hosting and Other Off-Premises Computing Models" (Registration required, Gartner, July 2008): Learn about the essential contrast of the cloud and the models that came before it, such as hosting, software as a service, and infrastructure utility.
- IBM Tivoli Service Automation Manager, Version 7.2.0, information center: Access all the documentation.
- developerWorks Cloud computing: Discover this community and technical resources for IT professionals.
- Visit IBM developerWorks Industries for all the latest industry-specific technical resources for developers.
- Stay current with developerWorks technical events and webcasts.
Get products and technologies
- IBM Industry Application Platform: Use it on one of several clouds for development and deployment of industry vertical applications using WebSphere Application Server and DB2 Express-C.
- Find other evaluation software.
- Join a cloud computing group in the developerWorks community.
- Read the great cloud blogs in the developerWorks community.
- Join the developerWorks community, a professional network and unified set of community tools for connecting, sharing, and collaborating.
Dig deeper into Cloud computing on developerWorks
Experiment with new directions in software development.
Complete cloud software, infrastructure, and platform knowledge.
Software development in the cloud. Register today and get free private projects through 2014.
Evaluate IBM software and solutions, and transform challenges into opportunities.