SDLC and Cloud Computing

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Software Development Lifecycle and Cloud Computing

Karan Kathuria
Student, MBA-Systems (2009-11), SCIT
E-mail: [email protected]

Abstract

Cloud computing is an example of the increasing 2.1 Software as a Service (SaaS)


movement of compute and data resources onto the Web.
It delivers higher efficiency, massive scalability, and SaaS is at the highest layer and features a complete
faster, easier software development. Cloud computing application offered as a service, on-demand. A single
offers enormous opportunities for enterprises to cut instance of the software runs on the provider’s
computing costs and increase speed to market for new infrastructure and serves multiple client organizations.
Web services. The most widely known example of SaaS is
Today, the dominant software stacks used in cloud Salesforce.com, but there are now many others, including
computing environments are integrated, optimized and the Google Apps offering of basic business services such
many times open-source. This white paper tries to find out as e-mail. Of course, Salesforce.com’s multitenant
how concepts of Software Development Lifecycle and application has preceded the definition of cloud
Cloud Computing work together for creating architecture computing by a few years. [2]
which can be used by organizations for leveraging their
businesses to the fullest.. 2.2 Platform as a Service (PaaS)

The middle layer, or PaaS, is the encapsulation of a


1. Introduction development environment abstraction and the packaging
of a payload of services. The archetypal payload is a Xen
Cloud computing is all about efficiency. It provides a image (part of Amazon Web Services) containing a basic
way to deploy and access everything from single systems Web stack. PaaS offerings can provide for every phase of
to huge amounts of IT resources — on demand, in real software development and testing, or they can be
time, at an affordable cost. It makes high-performance specialized around a particular area, such as content
compute and high-capacity storage available to anyone management. Commercial examples include Google App
with a credit card. And since the best cloud strategies Engine, which serves applications on Google’s
build on concepts and tools that developers already know, infrastructure. PaaS services such as these can provide a
clouds also have the potential to redefine the relationship great deal of flexibility but may be constrained by the
between Information Technology, developers and the capabilities that are available through the provider. [1]
business units that depend on it.
2.3 Infrastructure as a Service (IaaS)
2. What is Cloud Computing?
IaaS is at the lowest layer and is a means of delivering
basic storage and compute capabilities as standardized
The concept of cloud computing usually involves a
services over the network. Servers, storage systems,
combination of following - Infrastructure as a service
switches, routers, and other systems are pooled (through
(IaaS), Platform as a service (PaaS), and Software as a
virtualization technology, for example) to handle specific
service (SaaS). A cloud application leverages the Cloud in
types of workloads — from batch processing to
software architecture, often eliminating the need to install
server/storage augmentation during peak loads. The best-
and run the application on the customer's own computer,
known commercial example is Amazon Web Services,
thus alleviating the burden of software maintenance,
whose EC2 and S3 services offer bare-bones compute and
ongoing operation, and support. [1]
storage services (respectively). [3]
But before beginning, it must not be confused with
other computing platforms like Grid computing, utility
computing and Autonomic computing.
3. Cloud Definition not have to be concerned about most of the phases of
SDLC and pre and post deployment issues are reduced.
Clouds can generally be differentiated into three types,
which are: 5.1 Software Deployment

Public clouds are run by third parties, and jobs from With cloud computing offering increasing abstraction
many different customers may be mixed together on the of the underlying hardware, a related, but separate, set of
servers, storage systems, and other infrastructure within decisions must be made concerning how the software and
the cloud. End users don’t know who else’s job may be applications are deployed on cloud infrastructure. The
me running on the same server, network, or disk as their cloud computing model is flexible enough to
own jobs. accommodate applications of all types and sizes, at all
phases of development and deployment. Cloud
Private clouds are a good option for companies dealing architectures can be the delivery platform for monolithic,
with data protection and service-level issues. Private proprietary applications such as ERP and CRM; the
clouds are on-demand infrastructure owned by a single development and deployment platform for a new breed of
customer who controls which applications run, and where. lightweight, dynamically typed applications built on open
They own the server, network, and disk and can decide source software; or a source of IDEs and testing
which users are allowed to use the infrastructure. resources.

Hybrid clouds combine the public and private cloud 5.2 Software Packaging
models. You own parts and share other parts, though in a
controlled way. Hybrid clouds offer the promise of on- The software-based packaging of software
demand, externally provisioned scale, but add the components, data, server and storage pools, and other
complexity of determining how to distribute applications cloud resources makes efficient resource allocation, re-
across these different environments. While enterprises use, and management possible. The packaging system is
may be attracted to the promise of a hybrid cloud, this essentially a software delivery mechanism that simplifies
option, at least initially, will likely be reserved for simple and accelerates the installation of everything from
stateless applications that require no complex databases or operating systems to applications to end-user data.
synchronization. Increasingly, cloud operators and datacenters are moving
away from installing systems software on each server,
choosing to deploy golden images on farms of servers,
4. Why it’s useful?
which are easier to install & manage. In any case, basic
software configurations must be provisioned on the
The main benefits of cloud computing for an
system resource pools.
organization are:
5.3 Machine Images
• Reduce capital expenditures
• Cut the cost of running a datacenter
Increasingly, a similar image-based deployment model
• Scaling up of resources
is becoming the primary mechanism for deploying
application development payloads on virtual resource
This can be achieved through Cloud computing, since
pools. Machine images contain user-specific applications,
it improves infrastructure utilization rates and streamlines
libraries, data, and associated configuration settings and
resource management. For example, clouds allow for self-
are hosted within the cloud. Perhaps the best-known
service provisioning through APIs, bringing a higher level
examples are Xen images. This model of deployment is
of automation to the datacenter and reducing management
the basis of Amazon Machine Images (AMIs), which are
costs.
built around a variety of kernels. You can select among a
range of public AMIs (preconfigured, template images) or
5. The SDLC phase build your own custom/private AMI.
The concept of software development lifecycle for a Most AMI’s are built on some form open source
project varies according to many factors, with type, size platform. They’re easy to modify and share, and tools are
and time being the major ones. When this approach, provided by Amazon. Paid AMIs can be created by ISVs
combined with cloud computing is applied to the projects, and stored on Amazon Simple Storage Service (S3).
then a hybrid approach is followed, since organizations do
6. Some background concepts
Some other important concepts which are useful for
issues like security are Virtualization, storage pools etc.

Virtualization: The use of OS-level virtualization or


partitioning in cloud architectures can help solve some of
the core security, privacy, and regulatory issues that could
otherwise hinder the adoption of cloud computing. [4]

Storage Pools: Advanced storage systems, like


‘Hybrid Storage Pools’ and similar methodologies are an
integral part of cloud computing architecture. But these
concepts are not covered here since they are beyond the
scope of this white paper.

7. Conclusion
The cloud computing hence emerges as a blend of
different areas, with Software & Services forming the
most important aspect of it and various phases of SDLC
forming an integral part with a certain level of abstraction.

Software — provides the standards-based tools that


developers and architects need to build agile services that
can be deployed in the cloud.

Services — support the development efforts through a


broad range of professional services, network services,
and value-added service offerings from partners (like
OEMs, and systems integrators)

8. References

[1] Cloud Computing, Wikipedia,


http://en.wikipedia.org/wiki/Cloud_computing, retrieved
on: Sep 19’2009

[2] Open Source Cloud Computing, Networkworld,


http://www.networkworld.com/news/2008/072808-open-
source-cloud-computing.html, retrieved on: Sep 20’2009

[3] Amazon_EC2, Wikipedia,


http://en.wikipedia.org/wiki/Amazon_EC2, retrieved on:
Sep 20’2009

[4] Virtualization, Networkworld,


http://www.networkworld.com/columnists/2008/080508-
dzubeck.html , retrieved on: Sep 21’2009

You might also like