Friday, January 2, 2015

Cloud Computing

7:10 PM Posted by Anuradha Welivita No comments
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.


Labels