Cloud and industry, Part 1: PaaS best practices and patterns

Concepts for cloud-enabled industry solution practices, patterns, and models

This article is the first part of a series on enabling cloud computing in industry solutions. This introduction covers basic cloud computing philosophy and industry solution knowledge. You will learn about the requirements and functions of three models to deliver industry solutions, Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), and how you can use best practices and patterns with the PaaS framework in particular to deploy and manage cloud computing solutions. The next articles in the series will discuss how cloud computing capabilities can be applied specifically to the chemical and petroleum and telecommunications domains.

Yu Chen Zhou, Senior Technical Staff Member and Lead Architect, IBM

Yu Chen Zhou 的照片Dr. Yu Chen Zhou is a senior technical staff member at IBM Research, China. As the lead architect of Cloud Computing and Solution Engineering, China SOA Design Center, IBM SWG SOA Advanced Technologies, he initiated and led advanced technology projects, including cloud-enabled industry solutions, federated metadata management, and SOA policy. He is a senior member of IEEE and ACM, an IBM Master Inventor, a member of the IBM Academy of Technology, and was a member of the W3C and TOG workgroups. He is the primary author of a book, Service Oriented Computing, and has published 17 papers on IEEE conference proceedings, IBM Research Reports, and IBM developerWorks.



Xi Ning Wang, Staff Software Engineer and Development Lead, IBM

Xi Ning Wang photoXi Ning Wang is a staff software engineer and development lead of cloud infrastructure, IBM SOA Advanced Technologies, IBM Software Group. He has designed and developed SOA technologies and solutions in important projects. Currently, he focuses on the areas of cloud computing and industry solutions. He was designated an IBM developerWorks contributing author in 2009.


developerWorks Contributing author
        level

Xin Peng Liu, Advisory Software Engineer and Development Lead, IBM

Xin Peng Liu photoXin Peng Liu is an advisory software engineer and development lead of cloud services, IBM SOA Advanced Technologies, IBM Software Group. He has designed and developed SOA technologies and solutions in various projects. Currently, he focuses on the areas of cloud computing and industry solutions.



Liang Xue , Manager, IBM

Liang Xue photoLiang Xue is a manager of IBM SOA Advanced Technologies, IBM Software Group. She has designed and developed SOA technologies and solutions. She currently focuses on the areas of cloud computing and industry solutions.



Xiao Xing Liang, Staff Software Engineer, IBM

Xiao Xing Liang photoXiao Xing Liang is a staff software engineer on the Business Performance and Service Optimization team within the IBM Software Group and is experienced in SOA, BPM, and Web 2.0 technologies and solutions development.



Chang Hua Sun, Staff Software Engineer, IBM

Chang Hua Sun photoChang Hua Sun is a staff software engineer on the Business Performance and Service Optimization team within the IBM Software Group, where he develops SOA and BPM technologies and solutions.



Shuang Liang, Software Engineer, IBM

Shuang Liang photoShuang Liang is a software engineer on the Business Performance and Service Optimization team within the IBM Software Group and is experienced in SOA and BPM technologies and solutions development.



07 December 2010

Also available in Chinese Russian Japanese

Develop skills on this topic

This content is part of a progressive knowledge path for advancing your skills. See Cloud computing: Introduction to Platform as a Service

Cloud computing enhances business agility through consumable services for infrastructures, platforms, and applications. It can be loosely defined as using scalable computing resources provided as a service from outside a company's environment on a pay-per-use basis. A company only uses and pays for what it needs. It can access any of the resources that live in the "cloud" at any time and from anywhere across the Internet and not worry about maintenance behind the scenes. However, enterprises often struggle with how cloud computing services can be aligned within traditional industry solutions.

To meet the goals of successful cloud computing enablement for both customers and internal organizations, enterprises must reconsider how they involve their business models. This article series turns underlying cloud principles into practical industry scenarios. This first article presents three models, Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), and discusses how PaaS in particular can help to deliver industry solutions. Figure 1 shows layered cloud computing with the three models.

Figure 1. Layered cloud computing as a service for industry solutions
Layered cloud computing as a service for industry solutions

Model descriptions

The IaaS model provides the basic infrastructure, especially the required hardware and bandwidth resource, to the customer of the industry solutions. The customer must handle configuration of the platform and application, such as installation of the operation system and required software components. Industry solutions that utilize IaaS have the same development, test, and release management as any traditional delivery method, but they can fully exploit the advantages of cloud computing, including backup of the solutions and full usage of hardware resources.

The PaaS model offers the basic infrastructure and platform to deploy applications. The customer does not need to configure the platform or take care of reserving hardware resources. The PaaS model usually provides APIs to develop, test, and deploy industry solutions. This model is very useful for long-tail applications. Traditionally, according to the Pareto principle or 80-20 rule, about 80 percent of revenues are obtained by about 20 percent of products or solutions. The remaining large number of solutions only contribute a small amount of revenue. But for the long-tail industry arena, more and more revenue is derived from the long-tail solutions. One example is the telecom industry. Figure 2 depicts the long tail of telecom services.

Figure 2. Long tail of telecom services
Long tail of telecom services

To attract and serve an expanded customer base, telecom service providers are pursuing services and solutions that target the long tail. As a result, services and solutions will become more focused and personalized and based on reusable components in many combinations. You can easily use the PaaS model to develop these long-tail solutions by reusing many components. It is the trade-off model between complexity for the provider and flexibility for the customer.

The SaaS model provides different customers with the functionality of applications that are completely hosted in the cloud, but customers have limited flexibility. Through the SaaS model, the time to market of the industry solution is very short.

With the use of any of the three models of cloud computing, industry solutions can gain the benefit of cloud computing and also obtain the benefits of the delivery model, such as shorter time to market and the reuse of components.


PaaS in depth

The PaaS model is one particular approach for software suppliers who want to focus primarily on the software development cycle and the monetization of new applications, thus bypassing the investment in and maintenance of the underlying infrastructure and services for application design, development, testing, deployment, and hosting.

PaaS systems are generally hosted, web-based application-development platforms, providing end-to-end or, in some cases, partial environments for developing full programs online. Developers can build on the functionalities of an existing SaaS or develop new web applications, and users don't need to worry about developing, hosting, updating, or maintaining applications or storing data.

Business process is the center of an enterprise IT system, and in conventional Business Process Management (BPM)-driven enterprises, always involves bundles of software and managing IT infrastructures to tackle both business-oriented process modeling and IT-centric process development, deployment, and monitoring responsibilities. The key to improving the efficiency of commercial routines—thus leading to business innovations—is to separate the IT concerns from business analysis for certain business processes. A PaaS-enabled online platform with process in the center is one way to provide such business transformation.

For industrial solution-based BPM applications, the acceleration of solution construction cycles can be hindered by unmanageable complexity. Therefore, to maximize the benefits of a process-centered PaaS model, a library with customizable industry solution patterns can be prebuilt in PaaS together with ready-made deployable virtual machine templates. The hosting PaaS itself can be hardened as a box (appliance) with a web-based administration console exposed as solely an access portal for security control and client-side customization submissions.

We designed CloudLand, a process-centric PaaS framework, to meet the requirements of an enterprise industry solution. Features include:

  • Codeless development of Web 2.0-based developer workspace to off-premise development and implementation
  • Hardened appliance apt to customization
  • The building of industry solution patterns
  • Lifecycle management
  • BPM multi-tenancy

Based on the proposed PaaS framework, we developed several cloud-enabled industry solutions addressing different industrial requirements, including:

  • Cloud-enabled self-service telecommunications service delivery platform: To support personalized long-tail applications in an open, developer community and public cloud based on telecommunication services such as location-based service (LBS), Short Message Service (SMS), Multimedia Messaging Service (MMS), Third Party Call, and Converge Communication Services.
  • Cloud-enabled integrated information framework: For chemical and petroleum supporting a Key Performance Indicator (KPI) process and composite business service, value chain integration, and enterprise SaaS in a private and hybrid cloud.
  • Cloud-enabled healthcare solution: For electronic healthcare record-based applications in a hybrid and private cloud.
  • Cloud-enabled financial market data solution: For a hybrid cloud.

The PaaS model

From the business perspective, a general PaaS solution hosted in the public cloud involves the following scenarios:

  • All platform and applications are contained in the one environment owned by one vendor.
  • The applications are developed mostly from scratch within a formalized programming model.
  • The services (for example, database and web application server) provided by the vendors are common and stable.
  • When designing the whole cloud service environment, the business model roles are stable from the beginning.
  • There is no industry-specific service or application in the platform so that the platform is easy to design and manage.

When the PaaS model is moved to the enterprise in an industry-specific context, more complexity and requirements are introduced. The usual challenges for such PaaS solutions include:

  • Private or hybrid cloud mode: Such industry solutions are always hosted in a private cloud within an enterprise shared by several branches or organization units; or in a hybrid cloud in cases of partial IT system outsourcing or complex supply chain.
  • Openness: Integration with existing internal or external systems.
  • Industry-specific IT standards, application, and services.
  • Uncertainty of business model and roles involved: Industry-specific user group with diverse user behavior models and system usage patterns, such as curve of system workload, type of task requirements for resources, and system capabilities.
  • Time to establish the solutions: Few enterprises have enough time to construct a brand new IT infrastructure from scratch, which involves rapid set up of the cloud environment to replace the old system and integration with existing systems for the continuity of their businesses. So time to do deployment and management becomes a critical factor to mitigate the hesitation in considering a PaaS solution.
  • Various applications and user types: An entire industrial solution contains applications across multiple business lines developed and owned by different user groups (individual user or organization user).
  • Most of the enterprise users are non-IT professionals who are intimidated by leveraging complex programming models such as Java, Web 2.0, and web services to do development, deployment, and management of applications and systems.
  • Specific business requirements are pushed from business stakeholders and customers, such as shorter time to market for competency, support of business agility through rapid modification of the process or business logic, and fast scaling of the enterprise system.

Test and development clouds might also be part of the PaaS framework, but generally such solutions do not need to touch the industry contents.

From the technology perspective, BPM, service-oriented architecture (SOA), and cloud computing can all be combined to render BPM capabilities in a PaaS model. BPM with cloud computing is the way to deliver a process and associated events, human tasks, or database access.


Best practices and patterns

The architecture of industry solutions and the use of PaaS in it varies according to the enterprise or solution-specific application scenario, business model, and enterprise architecture. Integration patterns with industry solutions also vary accordingly. These patterns are summarized below and considered in the architecture of a business process-centric PaaS framework.

  • PaaS in an industry solution: This pattern imposes within an industry solution with an embedded PaaS; in other words, PaaS becomes a part of an industry solution, such as a cloud-enabled integrated information framework for the chemical and petroleum industry. In such a pattern, only parts of the components or functionalities are exposed as PaaS services, while the rest of the industry solution is not hosted in the cloud.
  • PaaS on an industry solution: This pattern serves those industries that tend to host value-added services in PaaS on the boundary of their industry solutions. The whole system could function without PaaS with its core functionalities and infrastructures maintained in a non-cloud environment. The PaaS-enabled, value-added parts are a test bed for future business growth points. An illustrative example here is the cloud-enabled self-service telecommunications service delivery platform that helps users quickly build from scratch the value-added applications that leverage telecommunication services.
  • PaaS of an industry solution: In this pattern, both the PaaS and industry solution are bundled in the same cloud environment. The solution is purely an industry-specific PaaS. A typical example for it is the cloud-enabled financial market data solution. The purpose of the solution is to provide a customizable financial market data hub based on PaaS. PaaS enables the whole business model of the enterprise as an independent node in the ecosystem of the specific industry.

Figure 3 depicts the architecture of a business process-centric PaaS framework for industry solutions to support all three of the above integration patterns.

Figure 3. Architecture of business process-centric PaaS framework for industry solutions
Architecture of business process-centric PaaS framework for industry solutions

As Figure 3 shows, the proposed PaaS framework includes the following core components:

  • Core virtual images that can be automatically provisioned into a cloud infrastructure as a deployable runtime platform. These images can be instantiated as base middleware for running business processes such as process servers, event servers, or rule servers. Depending on the implemented patterns of the framework, the deployed runtime platform might become a whole industry solution or part of an industry solution; or it can interact with a solution.
  • An off-premise programming model with supporting development tools that form the codeless developer workspace. The framework's built-in workspace capabilities include tools used for the editing of business processes, mashup user interfaces, business events, and business rules.
  • A self-service management portal for service management used to manage three kinds of in-concern services: industry-specific services, PaaS-generated services, and external services.
  • BPM multi-tenancy management for both definition and enforcement of multi-tenancy for all BPM-relevant artifacts.

There are also variability points for extension exposed from the PaaS framework:

  • Extension points for self-made virtual images to serve for specialized industry solution requirements that can be easily plugged into our framework's virtual image libraries.
  • Extension points for self-defined off-premise development tools, which are out of framework built-in capabilities, but are required for individual solution developments. The codeless developer workspace is apt to have extended tools configured.
  • Extension points for industry-specific services registration catering to different industries and external services for third party calls.

Other considerations

In building a cloud infrastructure, other considerations include infrastructure resource management and capacity planning. The resources managed in the PaaS framework are provided in the form of virtual machines and associated resources. The management of resources lies in the management of virtual resources.

In industry solutions, the different roles of service providers require different functions and qualities or resource scales. All these can be obtained easily by adjusting the virtual resources on the cloud infrastructure. Furthermore, certain industry services might raise more requirements on resources during business growth to increase the quality of services. Framework built-in virtual templates provide topologies such as a standalone application server and cluster for both normal and larger system throughput. Business users only need to specify service quality options in the service management portal. The corresponding virtual system resources will be automatically associated to satisfy the service quality requirement.

Furthermore, in order to implement resource management and scaling, capacity planning is provided to cater to different user roles. Industrial service providers and business partners can define constraints on resources for initial resource allocation and determine the upper limit for potential growth in future. They can also define the policies to describe the conditions for resource extension and recovery. For example, when the virtual resources used by certain users reach a predefined threshold, cloud infrastructure extends the virtual machine resources by allocating more memory and disk space or by adding more nodes into the cluster to balance workload. Conversely, when the usage of a virtual system is lower than the predefined threshold for a certain time, idle nodes are removed or memory is drawn back.


In conclusion

Cloud computing connects industry solution systems and devices within the cloud computing environment. The PaaS framework, in particular, was introduced, and you learned about the requirements, architecture patterns, and implementation technologies for enabling cloud computing into industry solutions. Based on the framework, the next two articles in this series will discuss how these cloud computing capabilities can be applied to the chemical and petroleum and telecommunications domains.

Resources

Learn

Get products and technologies

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Cloud computing on developerWorks


  • Bluemix Developers Community

    Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.

  • Cloud digest

    Complete cloud software, infrastructure, and platform knowledge.

  • DevOps Services

    Software development in the cloud. Register today to create a project.

  • Try SoftLayer Cloud

    Deploy public cloud instances in as few as 5 minutes. Try the SoftLayer public cloud instance for one month.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Cloud computing, Industries
ArticleID=595216
ArticleTitle=Cloud and industry, Part 1: PaaS best practices and patterns
publish-date=12072010