People have big ideas, to promote their business and
to uplift their sales and production. For these, people might need business
apps. Yet the chaotic situation is that those business apps are highly
expensive. And also they might need physical resources such as power, data
links, networks, bandwidth, servers, office space and storage. Software wise
they might need a big software stack and a team of experts who can run and
manipulate this software.
Yet even with all these resource on hand, there can
occur problems such as when new versions of the software that are already used
by the business comes, the entire system may crash due to such software
upgrades due to the incompatibility with the other software components in use.
Hence cloud computing is a better way to run a
business. Instead of running the apps by the company, the apps run on a shared data
center. The business just has to get plugged in as a utility. This makes it
fast to get started and it cost less. It is like gmail when compared to
Microsoft exchange. With gmail we do not need any servers or storage, we do not
need a technical team to keep it up and get running and we do not need to do
any upgrades. For any app which is running on the cloud, we need to log in,
customize it and start running it.
Cloud computing offers us not only consumer apps but
also business apps. This has given rise to enterprise cloud computing. They
cost extremely less because the business
do not need trained people to run these software and it cut down the
cost to train people to have expertise in various kinds of software. And the
cloud based business apps are more scalable, more secure, more reliable than
majority of business apps that are available in the market.
Cloud computing is based on an architecture called
multi-tenancy. It provides one app for all the businesses using it to share.
But in the mean time the app is flexible to be customized by everyone who uses
it. So, the application is able to scale up for thousands of users or down only
for few. And the business owners do not need to upgrade the system because all
the new features, performance and security get automatically upgraded which
saves a lot of time and effort.
And the way the cloud apps are being paid is also
different. We have to only pay for what we use. It is actually a reliable, safe
and economical way to carry out the business because these cloud apps do not
waste the valuable IT resources of the company but instead give a valuable
service for low cost. Hence the employers and employees can focus mainly on the
projects that are undertaken by the company instead of worrying about hardware
and software resources. The projects are the main areas that have a major
impact on the business and the employees are freed to focus more on these
aspects increasing the company profit.
This is how a simple idea like sharing resources and
services via internet and the cloud has a huge impact on the bottom line. Cloud
computing is big than we think and it is growing bigger and bigger every day.
When the physical equipments available cannot meet
the demand, we tend to move towards cloud computing. In early days when the
company web site got popular, the company may have bought several servers to
run the web application. This is known as hosting which takes up a lot of money
and time.
One of the major problems of doing this is that you
need to pay for them when you are using them and even when you are not using
them. But now we have a better option which is cloud computing where you get
access to computer power instantly when you need it. When the demand rises we
can scale up for the increasing demand instantly when using cloud based server
to run our web application. On demand we can get the computing power as much as
it is needed. And the main advantage is that the customers can experience the
web application without noticing any difference whether it is run on a cloud
server or a normal server. And if the internet traffic slows down for the web
site, the owners can release some of the unwanted servers without any effort.
Using a personal computer we can remotely access and
control the cloud server and can disconnect it when we do not need the service.
There are three reasons why cloud computing is
getting more and more popular. They are:
·
Scalability
The services provided
in the cloud are easily scalable to match the demand. They can grow and shrink
instantly with the demand without causing any problem.
·
Instant
Hosting in the cloud is
instant and all the other services in the cloud are also instantly available.
·
Saves money
We have to only pay for
what we use which increases company profit cut down loses.
People can gain many benefits out of cloud computing
rather than using physically available resources. Such benefits include:
·
The company can recruit more workers
from all around the world because the resources are available on the internet.
·
Of course as was repeated over and over
again in the former parts of the document, cloud computing cuts down cost which
is spent on infrastructure. And we have to pay only for our usage on a weekly,
quarterly or an yearly basis based on the demand.
·
And the company gets improved
accessibility for the resources because they are available online at any time
and they can access those resources from anywhere in the world.
·
The managers of the companies may get
time and freedom to monitor the projects more frequently and effectively.
·
And also cloud computing improves
flexibility because they can change direction they are currently following
without serious financial and workforce issues at stake.
In the past cloud computing was sort of like a dream
that was difficult to achieve. Yet today it has become a reality with so many
benefits allocated for the users. According to Wikipedia it says that,
“Cloud
computing is computing in which large groups of remote servers
are networked to allow centralized data storage and online access to
computer services or resources.”
which defines cloud computing more formally. The
best known example of cloud computing can be sited as “G-mail”, the emailing
application provided by Google. It is the most popular online emailing service
available and almost two third of the people in the world uses that service to
send and receive email messages instantly.
Cloud computing provides us with three different
cloud computing service models. These are,
·
SaaS – Software as a Service
·
PaaS – Platform as a Service
·
IaaS – Infrastucture as a Service
These three layers are encapsulated by a user layer.
Cloud deployment models include public, private and
hybrid (a combination of public and private) deployment models.
SaaS
The simple definition of SaaS is that this comprises
of hosted applications that are only accessible via a browser. In SaaS, the
vendor develops and operates the software application for use by it customers
through the internet. Examples of SaaS may be G-mail, hot-mail and Google docs.
And one of the most prominent Software as a Service provider is “salesforce”
which provides efficient services for enterprise level businesses. SaaS is what
we really use as consumers.
PaaS
PaaS is responsible in providing an environment that
helps the life cyle of application development available over the internet. It inlcudes
a hosted development platform for deploying SaaS Apps. So, we can directly
deploy software as a service apps from the platform in the cloud. One of the
service providers for PaaS will be the popularly known “Windows Azure”. And the “Google
App Engine” and “apache Statos” can also be sited as
examples. Developers are the ones who mainly consume PaaS.
IaaS
In IaaS, we pay for the use of IT resources instead
of owning them. This provide basic computing abilities, computational power and
storage over the internet as standardized services. So, for example if a
company needs a server for few months, instead of spending a lot of money and
get themselves allocated a server, the company can contract with some online
service provider such as Amazon and ask for computing power for those few
months and pay for what they use. “Amazon web services” and “rackspace”
can be sited as an examples for IaaS. IT or co-operate departments use IaaS
mostly.
Types
of PaaS
The main types of PaaS are,
·
Application development
·
Intergation
·
API
·
Devices
App
Dev Clouds
App Dev clouds is an abbreviation for Application
Development Clouds. These provide mechanisms for us to develop our own Web or
Mobile App using cloud based services within minutes of time. They have ALM or
Application Life-cycle Management tools which are in-built in the cloud for App
development purposes. And they provide services like versioning, and support
for continuous builds, continuous integration and team collaboration.
Integration
Clouds
Integration has become a main obstacle in deploying
Software as a Service and other web applications. Hence software integration
services are also provided by the cloud itself to integrate enterprise
applications via the cloud. Cloud interconnects the systems to achieve business
flow control.
Recent surveys also state that integration between
SaaS and legacy software applications is a major concern which is only second
in priority to data security and privacy. The development of cloud computing
models like the PaaS and IaaS, has contributed to the growth in popularity in
cloud computing and hence nowadays additional data and processes are also
moving to the cloud. Due to such recent developments in cloud computing, developers
may have to think of how their applications are going to communicate with each
other and may have to decide how they are going to integrate within the cloud
ad between the cloud and the enterprise.
Due to the challenges faced by the developers in
such integration issues, cloud computing has come up with solutions like
Integration Platform as a Service (iPaaS) for providing integration services as
a standalone platform.
API
Cloud APIs or Cloud Application Programming
Interfaces are available online for building of cloud based applications. As
cloud computing has grown so fast that most of the commonly used Apps and
functionalities are already implements, the developers are able to reuse those
already implemented functionalities through an API easily. So, the developers
have to only get the API and customize those to suit their need.
Cloud has APIs to integrate with other platforms.
There are four main types of APIs available. These are:
·
PaaS APIs which run at the service level
·
SaaS APIs which run at the application
level
·
IaaS API which run at the infrastructure
level
·
Cloud provider and cross-platform APIs
Depending on the user requirement he may have to
select one of these APIs or may need multiple different API models. As those
services are quite new there are still issues and problems occurring with
regard to areas such as platform and infrastructure compatibility.
This area has grown so fast that several market
leaders have emerged in the cloud API race. Some of the few marketing leaders
in this race can be listed as
·
Apache CloudStack
·
Amazon Web Services API and Eucalyptus
·
Google Computer Engine
·
Simple Cloud
·
OpenStack API
·
VMWare vCloud API
It shows signs that cloud computing API model will
continue growing because most of the organizations are looking forward in
getting efficient ways to connect their environments together.
Devices
Cloud computing devices are the devices via which we
can access services in the cloud. For example mobile smart phones, PCs and
tablets allow us to use cloud services such as reading and sending email. A
popular example is using popular sharing applications such as Dropbox on the
mobile device or in a desktop machine.
All such devices are connected to the cloud. And now
a new concept known as the IoT or the Internet of Things is emerging in the
field of Computer Science. In this everything including what we are wearing are
connected to the internet and exchange information with the internet. This
might be another good way for cloud computing as well to expand their horizon.
BaaS
BaaS which is also known as Backend as a Service is
also another cloud computing service model that exist except for those listed
above. BaaS serves as the middleware which provides developers with ways and
means to connect web and mobile applications to cloud services through an API(Application
Programming Interfaces) and SDK(Software
Developer’s kit).
BaaS is a rather new to the arena of cloud computing
and hence is provided by a limited number of providers.
Cloud
IDEs
Now even cloud IDEs are also available in the cloud.
This has drastically changed the convectional desktop-based software usage to cloud
based IDEs which are available any time on the cloud. Even we as students are
now using version control systems like GitHub which are freely available
services on the cloud. So, even though cloud based IDE usage is not very common
among us and people show some reluctance in totally relying on cloud IDEs for
their product development, in the near future this situation show signs of
change.
Examples of some of the best cloud IDEs in use today
are,
·
Cloud9
·
Codeanywhere
·
Cloud IDE
·
Sourcekit
·
Kodingen
·
Coderun Studio
Why
cloud computing?
With all those benefits listed above many of the
businesses uses cloud computing today either directly or indirectly. This is mainly
due to the reduction of costs, availability around the clock, universal access,
access to software which is ungraded and up to date, the different choice of
applications and the flexibility.
Cloud computing is efficient and reliable and acts
as portal which bridges new technologies and people all around the world. Today
a newly starting business may not require to have better infrastructure
available but it will be able to proceed with the help of cloud computing and
compete with other large business organizations. This gives hand to small
businesses to access various types of technologies which are thought to be out
of reach.
Cloud computing apps make integration easier, it
provides a platform for the employees to work in, to share things and communicate.
Even the day today apps which we are using like Gmail, Outlook Online, Flickr
and Google Maps are cloud based. And unknowingly or knowingly we might use
numerous different cloud computing applications.
The word “cloud” may be new to us but we are
actually a part of it. The cloud provides us with a centralized location on the
internet which we can store our data and access anytime from anywhere. We just
simply need internet access and even via a small device like a smart phone
which most of us have today we can access the cloud. So, watch for even more
advancements in cloud computing and keep your eyes open for more.
References
Cloud
computing, Moving IT out of the office by The Chartered Institute for IT.