Cloud Computing

Cloud computing – Introduction

Cloud computing is spreading through enterprises as it enables the agility sought by global organizations. The rapid adoption of cloud computing can be attributed to a latent need in both the end user organizations as well as the IT industry for a delivery mechanism that is ubiquitous, scalable and elastic, with equally elastic expense outlays. Improved agility, reduced CAPEX and OPEX, faster time to market, among others, are just some of the business benefits experienced by the organizations moving to the cloud.

Cloud computing has fundamentally altered the way software is delivered. Independent Software Vendors (ISVs) are focusing on how to position their products as a service. Before deciding to offer traditional license mode, pure Software as a Service (SaaS) mode, or a dual mode, the ISV must factor in product readiness considering the existing and prospective user base, as well as new investments that must be made to achieve the desired delivery mechanism. The ISV should also understand the competitive price points for the products offered through different delivery mechanisms, especially as compared with generally lower entry price points offered byproducts offered only as SaaS. It is also important to factor in investment for scalability in the SaaS model since customers expect on-demand additional resources during their peak consumption periods.

To deliver Software as a Service (SaaS) ISVs typically work with either ready cloud services offered by Amazon, Microsoft, Google or Salesforce.com (force.com) or rent some data center space offered by infrastructure hosting companies. The available cloud services from vendors typically fall under the IaaS (Infrastructure as a Service) and PaaS (Platform as a Service) offerings. On the product engineering side, the ISV has a choice of a variety of Cloud platforms. Some platforms offer built-in mechanisms for offering data as a service. Most platforms offer ready-made components for workflows, web-services, and transaction management. It is also commonplace to find support for services such as billing, monitoring, and management on these platforms. As the underlying Cloud technology evolves, the ISV will be confronted with more choices for technologies like metadata APIs, 4GL abstractions, and advanced subscription models. The ISV will also need to decide whether they should deploy applications on multiple platforms and whether they should offer their products through a marketplace provided by the platform provider.

Gowdanar and cloud computing

Gowdanar has worked with several ISV’s to either develop their cloud offerings or migrate their traditional offerings on the cloud. The migration has involved re-architecting their solutions to incorporate key cloud solution abilities like multi-tenancy, access from multiple devices and administration tools to monitoring/billing their customers via pay per use. Gowdanar has implemented OpenStack Private Cloud for Cloud Monitoring which differs from pure virtualization and it is deployable and functional on any underlying IaaS cloud platform. Gowdanar has worked with several ISV’s in terms of assessment of different technologies, platforms and applications in several different stages of their cloud maturity. Gowdanar recognizes that the most effective ways of visualizing different cloud related technologies and IT environments is to model the cloud in terms of a broad and comprehensive framework.

Cloud framework :

A typical Cloud framework highlights the four major focus areas in cloud ecosystem. ISV’s offer their solutions in one or more of these focused areas.

  • Infrastructure Layer
  • Platform Layer
  • Application Layer
  • Management Layer

Infrastructure Layer : This layer includes the most basic of Infrastructure as a Service (IaaS) capabilities. It provides the complete infrastructure requirements for the development and execution of the cloud solution including the supporting hardware, software, and the other associated infrastructure. This layer must be at least as powerful, secure, robust, reliable, and available as any physical infrastructure within some of the most sophisticated products of the ISV. The infrastructure layer typically comprises a combination of one or more components: Physical, Compute (CPU’s), Network and Storage and is required to immediately provide additional Virtual machines as and when the customer applications demand it, to ensure elasticity-an important attribute of cloud computing.

Platform Layer : This layer is typically built above the infrastructure layer as represented in the diagram and consists of Platform (Middleware) Services that offer common framework modules for building applications on top of it. These are typically the modules closely working at OS level and providing framework services and are either provided by the Cloud Platform or can be even built on them. Cache, Data Services, Authentication/Authorization, Workflow (process, rules and validations), Multi-Tenancy support, Messaging Services, etc. are a part of Platform layer. This layer connects applications and data, residing either on multiple clouds and/or in the organization’s IT environment.

To accelerate application development this layer provides various development tools in the form of components and supports multiple client programming language libraries.

Application (SaaS) Layer : This layer consists of two kinds of applications – (a) Native cloud applications developed specifically to be working under the cloud paradigm, the traditional license model are ported to the cloud environment. Product re-architect is required in many cases to support multi-tenancy and implementation of new security models.

Management Layer : This layer includes basic management features such as Metering & Analytics and Administration across all the above layers. This layer comprises the dashboards, analysis tools for managing the Cloud solution usage, pricing, and efficiency; as well as billing capabilities. Administration tools enable governance critical to efficient development in a Cloud environment. These could also include version control, configuration management, security and entitlement management.