cloud solutions to software development companies

10

Post on 19-Sep-2014

8 views

Category:

Business


2 download

DESCRIPTION

This paper discusses ways for software companies to integrate cloud hosting solutions with their organizational infrastructure to derive benefits. Pointers on leveraging cloud computing to ensure robust software development are shared.

TRANSCRIPT

Page 1: Cloud Solutions to Software Development Companies

Cloud Solutions toSoftware DevelopmentCompanies

Page 2: Cloud Solutions to Software Development Companies

Abstract 3

What is “Cloud Computing”? 3

Types of Cloud 4 Cloud hosting solutions 6 Cloud hosting solutions 6

Benefits of Cloud Services for Companies 7

Benefits of Cloud Services (PaaS and IaaS) for Software Developers 8

Issues and Concerns 9

Conclusion 10Conclusion 10

Reference 10

Author Info 10

---------------------------------------------------------------------

Table of Contents

Page 3: Cloud Solutions to Software Development Companies

© 2013, HCL Technologies. Reproduction Prohibited. This document is protected under Copyright by the Author, all rights reserved.

Cloud Solutions to Software Development Companies | 3

“Cloud is about how you do computing, not where you do computing.” Paul Maritz (CEO, VMware)

Though various definitions exist for Cloud computing based on the scope of its usage, the U.S. National Institute of Standards and Technology (NIST) has consolidated a number of definitions from a variety of sources into the following summary statement.

“Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g. networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service providerinteraction.”

What is “Cloud Computing”?

Cloud computing is widely accepted as the latest trend in the Internet age. It provides a trusted on-demand service delivery mechanism. The massive potential of cloud computing is aptly described in Gartner’s recent analysis [1] on cloud computing:

Cloud computing basically means executing software on a remote server rather than using a localmachine. These two different machines are connected either via a private network or through theInternet.

A question one might ask here is – “Why should we use an external machine to store our media or data?” The answer lies in the staggering ease of use and high RoI offered by cloud computing through its cost effectiveness, easy scalability and effective use of resources.

Though there are some concerns about network connectivity, user data sensitivity and security onThough there are some concerns about network connectivity, user data sensitivity and security oncloud, cloud service providers are addressing these concerns by adopting available industry bestpractices.

In this white paper, we will examine -

“End user spending on public cloud services is expected to grow 18.6% in 2012 to $110.3 billion and is

expected to record a compound annual growth rate of 17.7% from 2011 through 2016.”

Abstract

Page 4: Cloud Solutions to Software Development Companies

© 2013, HCL Technologies. Reproduction Prohibited. This document is protected under Copyright by the Author, all rights reserved.

Cloud Solutions to Software Development Companies | 4

Types of Cloud

”The cloud is for everyone. The cloud is a democracy” Marc Benioff (CEO - Salesforce.com)

1. Service-based types of clouds

The National Institute of Standards and Technology's definition of cloud computing identifies "five key feature sets that characterizes cloud computing". They can be listed as below

Today’s cloud technology ecosystem has many companies delivering cloud-based services andmeeting significant success. Some notable examples include Microsoft (Azure, Microsoft Office 365etc.), Google (Google-App Engine, Google Drive etc.), Salesforce.com, VMware and Amazon. These organizations have taken a wide range of distinctly novel approaches to address various business challenges like computing, infrastructure and software demands, through cloud solutions.

There are various types of cloud computing services and solutions. They can either be based on theservice that the cloud offers or on the deployment model (or location) of the cloud.

Based on the service that the cloud is offering, cloud providers usually offer their services as a single type or can combine more than two services as a bundled suite of solutions. The typical cloud functionalities are infrastructure, software, applications or platform. The most commonly used service based cloud services are:

Page 5: Cloud Solutions to Software Development Companies

© 2013, HCL Technologies. Reproduction Prohibited. This document is protected under Copyright by the Author, all rights reserved.

Cloud Solutions to Software Development Companies | 5

Software as a Service (SaaS): In this type of business model, cloud providers offer users toaccess their applications running on a remote cloud infrastructure. Such applications hosted on the cloud can be

accessed from different devices, such as a web browser or a program/application interface. SaaS is also

known as “on-demand” software; here the user simply accesses the software at any point of time without

worrying about the elementary cloud infrastructure (servers, network, storage, operating systems or

relevant application capabilities).

Public cloud: This type of cloud infrastructure can be accessed and used by any user at anylocation. It may be owned, managed and run by a private business, academic or government organization or a mix of

one or more of them. The downturn is that they are the most susceptible to virus attacks, hacks and

unauthorized access thus lowering the level of data confidentiality considerably.

Private cloud: Such cloud infrastructure is provisioned for exclusive use by a single company or entity, comprising of multiple consumers (e.g., departments and SBU’s).. Since they are off-limits to general

public outside the organization, these clouds offer the greatest level of security and control. They are

however, more expensive than public clouds, as the company is still required to purchase and maintain all

the software and infrastructure needed for accurate functioning of the cloud.

Platform as a Service (PaaS): This model allows consumers to develop and deploy various software applications on a cloud based platform that supports specific programming languages, libraries, services

and tools. Since the demands of market and business are varied, businesses might have to look into

employing different platforms as and when needed. They need not incur the cost and complexity of

buying and managing the hardware and software whenever the demand comes up. Again, the actual

management or administration of the basic cloud infrastructure is not accessible by the user, but they can management or administration of the basic cloud infrastructure is not accessible by the user, but they can

access and execute deployed applications and configuration settings (partial access) for the

application-hosting environment.

This capability provides different resources

required for processing, networks, storage and other

fundamental computing activities. IaaS enables the consumer

to execute the required software, applications, and also access

operating systems. The user does not manage or monitor the

basic cloud infrastructure.

IaaS is the most basic model and each higher model abstracts from the IaaS is the most basic model and each higher model abstracts from the

details of the lower model. The cloud pyramid can be represented as shown in Figure 1.

IaaS - Infrastructure CloudIaaS - Infrastructure Cloud

SaaS - Application Cloud

SaaS - Application Cloud

Machine User

Components Services

Storage Computer Network

PaaS - Platform CloudPaaS - Platform Cloud

Infrastructure as a Service (IaaS):

2. Location-based types of clouds

Based on a cloud location (deployment model), we can classify a cloud as public, private, hybrid, or community cloud. Cloud deployment location can be selected based on the type of data, applicationand different levels of control, security and extent of application management required for your cloud service.

Page 6: Cloud Solutions to Software Development Companies

© 2013, HCL Technologies. Reproduction Prohibited. This document is protected under Copyright by the Author, all rights reserved.

Cloud Solutions to Software Development Companies | 6

Hybrid cloud: Hybrid cloud is a blend of two or more distinct location based clouds (private,community or public). Companies can run each aspect of their business more efficiently by spreading things over a

hybrid cloud.. The key downside here is the need to monitor multiple security platforms and ensure

relevant collaboration between different entities within the business.

Community cloud: This type of cloud involves close collaboration across organizations or a singlecommunity that have a common interest (e.g. IT security, knowledge management, or HR/staffing).

It may be owned, managed and operated by one or more companies that are present within the

community (in-house) or can be outsourced to a third party (off-premises). The costs are spread over

fewer users than a public cloud but more than a private cloud.

Public Cloud Private Cloud

Cloud hosting solutions

Can be used by multiple clients

Hosted at provider’s location Hosted at provider’s location or in-house

Shared infrastructure Shared or dedicated infrastructure

Access over Internet only Access over intranet or a private network

Non-guaranteed resources Guaranteed resources

Low cost Costlier than public cloud

Secure but vulnerable Highly secureSecure but vulnerable Highly secure

No/Limited option for customization Customization possible as per organizational

needs

Single client access/use

We now examine how the software development industry can gain by using cloud solutions for their project development. Cloud computing provides complete flexibility to companies to meet the dynamic business needs for different projects. This is achieved at a relatively low cost combined with better management. A business need not pump in high capital to invest in IT assets or licensing for every project, thus saving considerably on projects costs.

Cloud infrastructure services (IaaS) delivers IT infrastructure such as a platform virtualizationenvironment, storage, and networking. Instead of purchasing software, servers or network equipment, the project can use virtual machines on the cloud to execute their applications or programs. Also, developers have the freedom to use the infrastructure available remotely to install the necessary platforms on top of it.

If a software development business were to determine the best type of cloud model, it will be an IaaS (Infrastructure as a Service) and PaaS (Platform as Service) on a Public or Private cloud.

Page 7: Cloud Solutions to Software Development Companies

© 2013, HCL Technologies. Reproduction Prohibited. This document is protected under Copyright by the Author, all rights reserved.

Cloud Solutions to Software Development Companies | 7

Anywhere, Anytime access – Using cloud systems, organizations can access their applications or data from anywhere, at any time, using any of the multiple channel of access available to them – be it

smartphones, tablets, laptops or workstations.

Low hardware cost – One of the key benefits cloud solutions offer is the virtually negligible hardware costs that helps businesses improve their revenues and bring down costs associated with purchasing

licensing or upgrading of different hardware components.

Reduced software cost – Cloud solutions eliminates the need to buy multiple copies of a software solution. A single copy is bought for a remote server which can then be accessed by multiple thin clients

within the organization. This favors internal IT budgets and makes the company much more profitable in

the long run.

Less maintenance – Corporations can save money on dedicated IT support as the hardware will be hosted on a remote location that the providers will be responsible for. Any new updates to the software

and hardware can be easily achieved on the cloud systems.

Benefits of Cloud Services for Companies

Paas (Platform as service) provides the required computing infrastructure, hardware and theplatforms that are installed on top of the hardware on a cloud infrastructure. PaaS allows you to platforms that are installed on top of the hardware on a cloud infrastructure. PaaS allows you to create software applications using software components available remotely on cloud. With PaaS, developers can avail of a framework that they can build upon to develop or customize applications based on the various needs of a particular project. PaaS makes the application building, debugging, testing, and final deployment quicker, simpler and more cost-effective. It also eliminates the need to buy the underlying layers of hardware and software, thus bringing down the overall project costs sizably without compromising on the quality of the final deliverables.

Many small and medium sized businesses are witnessing the huge benefits of opting for cloud services. It is providing them with a more level playing field with their enterprise rivals and thus conducts sustainable business. Without cloud services, it was almost unthinkable for small and medium sized businesses to stay competitive in the market without investing huge capital in setting up internal systems needed for project execution. Now, even the big organizations are realizing the true potential of cloud services and are gradually moving towards embracing the same. Additionally, with a suitable middleware, a cloud computing system can also be used as a normal Additionally, with a suitable middleware, a cloud computing system can also be used as a normal thin-client work computer.

Some of the advantages offered by cloud computing include -

Page 8: Cloud Solutions to Software Development Companies

© 2013, HCL Technologies. Reproduction Prohibited. This document is protected under Copyright by the Author, all rights reserved.

Cloud Solutions to Software Development Companies | 8

High processing power – Using grid computing system (cloud computing system’s back end), the client can take advantage of the entire network's processing power based on the given requirement. On a grid

computing system, the client has the ability to send a complex calculation to the cloud for processing and

harness the multiple processors’ power to significantly speed up the calculation.

Benefits of Cloud Services (PaaS and IaaS) for Software Developers

One of the main concerns for software developers is improving the learning curve required to adopt new technologies, without impacting operational efficiency. The main concern of project managers is how fast their teams can scale up their development and test environments. Are they going to get the required software and hardware on time and within budget or not? How much would they need to depend on local IT support to get the required configurations done within their local computers? Cloud computing provides business-feasible answers to all the above issues.

With limited resources on local machines software, developers may not be able to run complex and heavy computing programs that require lot of space and processing power. In this scenario, they heavy computing programs that require lot of space and processing power. In this scenario, they have to depend on internal IT support to provide extra disk space or other IT resources to help run such complex operations. In big organizations, the approval process itself takes few days which leads to loss of valuable development time. With cloud computing solutions deployed within the organization, personnel and projects can now utilize on-demand cloud resources which are easily scalable and will last for the duration of the project, after which they need not worry about mainte-nance and heavy licensing fees. Large scale projects which require different operating systems, software and test environments can potentially save significantly on the licensing cost.software and test environments can potentially save significantly on the licensing cost.

If employees want to learn new technologies and want to get some hands-on experience on new platforms, cloud services is the best option as employees need not worry about setting up their local machines with all hardware and software configurations. Also, they need not worry about disturbing their current project work environment and can current project work environment and can use the virtual machines to learn and imple-ment new programs. This enables the company to save costs and enhance the learning process, so that the employee is ready to go live on a project.

Page 9: Cloud Solutions to Software Development Companies

© 2013, HCL Technologies. Reproduction Prohibited. This document is protected under Copyright by the Author, all rights reserved.

Cloud Solutions to Software Development Companies | 9

Issues and Concerns

PaaS provides developers with easier ways to create and deploy software onto cloud infrastructure. These include GUIs, sandboxes, programming languages, shared services, APIs, and other online tools for software developers. Developer no longer need to worry about infrastructure setup and can instead focus mainly on the development process and the innovation they can bring about this phase of the project lifecycle.

As cloud computing continues to transcend more and more organizations’ IT objectives, the main issue often faced by would-be adopters is regarding the security and privacy offered by cloud based solutions. Large companies are concerned about having their important data on public cloud.

Apart from these issues, the other concerns are regulatory compliance, reliability of continuous uptime, data ownership and credibility of suppliers. In many cases, these issues can be addressed uptime, data ownership and credibility of suppliers. In many cases, these issues can be addressed by careful filtering of the vendors and following stringent security procedures and to some extent, buying insurance. Well-drafted Service Level Agreements (SLA) should address potential issues arising from reliability and available bandwidth.

Cloud users probably may not know where their data is hosted. Data that might be secure in onecountry may not be secure in another. This can be another problem that needs IT managers’ consideration. Also, there are other issues that need to be addressed, like:

a) Who owns the data,

b) Whether cloud computing companies can legally deny a client its data, and

c) What if the local laws allow it.

Page 10: Cloud Solutions to Software Development Companies

Designed By: Mayuri Infomedia

This whitepaper is published by HCL Engineering and R&D Services.

The views and opinions in this article are for informational purposes only and should not be considered as a substitute for professional business advice. The use herein of any

trademarks is not an assertion of ownership of such trademarks by HCL nor intended to imply any association between HCL and lawful owners of such trademarks.

For more information about HCL Engineering and R&D Services,

Please visit http://www.hcltech.com/engineering-rd-services

Copyright@ HCL Technologies

All rights reserved.All rights reserved.

Cloud Solutions to Software Development Companies | 10

Conclusion

Reference

In the face of adverse competition and grave economic concerns, companies are facing lot of business challenges which is forcing them to think how they can best utilize existing computing power and software applications optimally without majorly affecting budgets and costs. These challenges are driving IT and business decision-makers to consider a widening array of cloud computing alternatives as potential solutions.

Some companies are building their own private clouds to cater to specific needs of the company and others are considering enterprise-class cloud solutions offered by proven service providers. One should undertake a thorough cost-benefit analysis on factors such as ease of integration, user acceptance, cost-effectiveness, and business need for private, public or hybrid clouds before deciding to go ahead with any of them.

Many companies use a mixture of public and private (hybrid cloud) cloud deployments to bring the costs down, as well as gain adequate control over critical data. At the end of the day, the decision often comes down to cost vs. control.

Author Info