The Next-gen Model for Delivery of Business Software
7th January, 2015
Modern enterprises involve multiple functional areas such as Marketing, Sales, Finance, Human Resources, Inventory Control, Supplier Management, and Customer Support.
Software solutions already exist in the market for most such business processes. These ‘Information Systems’ are often adopted by businesses in order to enhance process efficiency and to improve the accuracy of data captured on a day-to-day basis. Software systems also generate valuable reports and performance-metrics which assist critical decisions within the organization.
Such software systems are often installed ‘on premise’ within an enterprise which makes it difficult to access the solution seamlessly across multiple locations. Moreover, the deployed solution is often managed by in-house IT teams, or in the case of many MSMEs, rarely managed in a professional manner.
Organizations struggle with challenges such as hardware breakdowns, security vulnerabilities, data leakage risks, outdated software components, and data backup difficulties. Moreover, large amounts of new data is generated on a daily basis – making it necessary to continually expand the available storage space.
As the organization scales, the deployed systems are unable to sustain increased load from users and this results in downtime or slow responses from the software system. Such problems could directly impact business operations and effectively increase the cost of IT-Ops for your organization. Moreover, hardware systems can get rapidly outdated, resulting in heavy capital expenses year-on-year. Large organizations deploy ERP systems which encompass almost all business processes, but such systems are very expensive to license, customize and to maintain over the years.
Today, MSMEs constitute more than 50% of the industry and generate nearly 60% of revenues and employment. MSME growth in the nation has been unprecedented and there is an urgent need to upgrade the IT infrastructure in those industries. However, MSMEs cannot afford the high Capex or Opex associated with expensive on-premise softwares or ERP solutions.
To overcome this problem, an alternative approach exists which is described below:
The above concepts put together give rise to notion of Cloud Computing. Cloud Computing is thus a combination of:
(a) Outsourcing software and IT infrastructure to a third-party provider
(b) Internet-based software delivery via a web browser
(c) Pay-per-use billing model
(d) Elasticity to scale the software ‘on demand’
(e) Multi-tenant use of the software solution.
Now let us understand the various tiers in which Cloud Computing services exist today. There are three tiers in a typical Cloud ecosystem today. These tiers are defined based on the services which customers can utilize.
|SaaS Software As A Service|
|PaaS Platform As A Service|
|IaaS Infrastructure As A Service|
When a software provider delivers business applications to customers via the Internet, it is called as the SAAS delivery model. Here, the maintenance of the software, its security, upgrades are entirely the responsibility of software provider. The user simply logs-in and starts using the software application via a Web browser.
Examples of such software could be Human Resource Management Systems, Email Service Providers, Online Documents Collaboration, Expense Tracking and Management System. Salesforce.com is one such prime example of a CRM (Customer Relationship Management) software that is delivered via a SAAS Model.
IaaS-providers offer the physical infrastructure necessary to run software in the Cloud. This includes raw computational capacity, storage and networking capacity located at massive data centers across the globe. These data centers offer a controlled environment that includes power backup, air conditioning, redundant internet connectivity, physical security etc. Various measures are undertaken to ensure a high reliability of this infrastructure.
It is noteworthy that a layer of software virtualization runs on top of this infrastructure. Thus, most of the physical infrastructure can be managed purely by means of software configurations. This virtualized infrastructure can be remotely accessed from anywhere across the globe by customers of the IaaS Service.
Moreover, the capacity of the virtual infrastructure can be increased or decreased instantly on-demand in a seamless manner.
Software providers sit on top of the IaaS infrastructure and they need not bother about the maintenance of underlying infrastructure. Amazon AWS is a prime example of the IaaS service. In this case, a SaaS provider such as SalesForce.com could run on top of IaaS infrastructure such as the Amazon AWS.
While SaaS and IaaS are relatively easier to understand, understanding PaaS requires some insights into how software applications are typically developed.
Developing software applications requires tools, libraries, and frameworks which help developers to accelerate the development of the application itself. A typical application requires the ability to:
(a) Design the data model of the application
(b) Develop application code
(c) Test application in various environments
(d) Debugging and troubleshooting
(e) Web services integration
(f) Security and role-based access controls.
PaaS provides a software framework and a development-ecosystem to the software developer. By using this framework, new applications can be rapidly developed and then eventually delivered as SaaS applications to customers. PaaS is thus a layer that sits on top of the IaaS and helps eventually build SaaS solutions. In summary, PaaS accelerates the development of new software applications in the cloud. Examples of Paas providers are IBM Cloud , Red Hat.
Cloud computing provides next-gen businesses with the following key benefits:
1. Computing services can be accessed from any client device (Desktops, Laptops, Smartphones, Tablet Devices).
2. Service can be accessed seamlessly from any part of the globe.
3. Cloud providers are specialists who manage software bug fixes, security updates – making sure the software is significantly more secure compared to your locally managed IT systems.
4. New features, new versions and releases of the software are automatically available to the enterprise users without having to install anything new within that enterprise.
5. Software is available across multiple editions – Basic to advanced feature sets. With this flexibility, customers only pay for what they need.
6. Due to the large-scale of cloud deployments, the Capex costs are reduced and the cost-per-user stays lower. Small enterprises can thus avoid heavy upfront IT investments and only pay as per their needs and use.