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.
Xoriant and cloud computing
Xoriant 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. Xoriant 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. Xoriant has worked with several ISV’s in terms of assessment of different technologies, platforms and applications in several different stages of their cloud maturity. Xoriant 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.
Xoriant Experience in IaaS : Xoriant has worked with several technology companies which offer Infrastructure as a Service (IaaS). Some of the Xoriant engagements in this area include:
- Architecture, design and development of server based software, client based software and mobile software for a Silicon Valley based client offering on-demand cloud storage to traditional desktop applications. The Server solution involved provisioning additional storage and metering software to track resource usage which would then reflect in billing the customer via the pay per use paradigm of cloud computing.
- Design and development of Desktop tool bars and MS-office plug-in’s for an ISV offering Cloud content management services. In addition, Mobile applications were developed for “One-Window” contents across multiple channels like Web, Desktop and Mobile.
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. Some of the commercially available examples of Platform as a Service are Salesforce.com’s Force.com, Microsoft Azure and Google App Engine.
Xoriant experience in PaaS : Some of the Xoriant engagements in this area include:
- Design and development of web services compliant interfaces, data mappings and to & fro data transfer procedures for a combination of cloud applications (salesforce.com), cloud based data service and internally resident ERP application (Oracle Financials) for a large ISV in Silicon Valley.
- Design and development of multi tenant business application providing dynamic dashboards and reports for sales performance and customer satisfaction using Force.com cloud platform from Salesforce.com. The solution also includes Salesforce.com based integration of multiple CRM systems for 360 degree view of customers/prospect attributes.
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 most popular of them being Salesforce.com and (b) Ported cloud applications, where the applications which were originally deployed in the traditional license model are ported to the cloud environment. Product re-architecting is required in many cases to support multi-tenancy and implementation of new security models.
Xoriant experience in SaaS : Some of the Xoriant engagements in this area include:
- Design and development of a cloud based product visibility and supply chain Edge-ware application product, which is being hosted by our ISV client with servers in the commercial data center environment. In this engagement a traditional server application was migrated to a cloud model by incorporating key architectural decisions like multi-tenancy, provisioning of applications for the customer and development of Services to allow the customer to build their custom applications.
- Design and development of SOA architecture for a 3-tier Enterprise Asset Management (EAM) software and enabling it to be offered as a cloud application.
- Design and development of an on-demand solution using Amazon S3 storage service to convert, catalog and consolidate personal media collection of photos and videos online.
- Design and development of an on-demand Enterprise Project & Portfolio Management (EPPM) software, built on patented FlexSaaS™ computing platform. This system is used by business process and IT leaders to improve strategy execution and financial performance.
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.
Xoriant experience in Cloud Management : Some of the Xoriant engagements in this area include:
- Design and development of various capabilities for a Cloud based Storage Company, including security, access control, billing and payment with credit card integration.
- Providing 24x5 performance dashboards operational support, including systems and database administration for an enterprise class software product company offering the product in the SaaS mode.