Mr. Sundeep Kiklawala Lecturer, SRIMCA |
Dial-up connection is almost a thing of the past as more household adapt to dedicated lines with increasing internet connection. Wireless connectivity with almost the same speed is not possible. You do not need to drag a cable around; you just have a decent internet connection.
Because of the increasing capability of the internet, developers have looked beyond information sharing. Certain functions in desktop could now be done online. Office documents could be uploaded and extracted or even worked on at the same time online. Data processing is not limited anymore to your desktop as the increasing capacity of online connectivity has made it possible to emulate or even surpass local data processing.
Cloud Computing is Born
The rapid improvement of the capacity of online connectivity gave birth to cloud computing. Although the term was already used since the 90s, the actual adoption of cloud computing in relation to online computing started in the 21st century.
In gist, cloud computing is all about implementing process online instead in your local gadget. Data and processes could be done online without the need of any local software or client. As long as the user knows the process and have the right security credentials, he could access the system and make the necessary changes.
Cloud Computing Advantages
There are many advantages a company would have if they would consider cloud computing as part of their business plan. Among them is ease of operations. Every employee will be able to have access to the system wherever they are. A traveling salesman could easily update their database so that the company will be informed immediately about their performance.
Another advantage is the ease of troubleshooting. Specific software installed in the local gadget would need to have a repair from the company's tech group. But when the company uses cloud computing, any "bugs", user problems or error in function could be immediately looked into by its developers.
Disadvantages of Cloud Computing
On the other hand, there are disadvantages the company would have when they opt to use cloud computing. The biggest of them all is security. Since cloud computing uses the power of online connectivity to handle processing requests, the data could be available for everyone and could be used for malicious purposes.
There is also the challenge of the end-user connectivity. Cloud computing will only be possible if there is a strong internet connection. Cloud computing might not work or may perform poor in areas where internet connection is weak.
Infrastructure is also a challenge for cloud computing. A company who opts to have their own server would have to ensure the infrastructure will be able to deal with consistent and massive data and processing requests.
Cloud Computing Architecture
The success of cloud computing is largely based on the effective implementation of its architecture. In cloud computing, architecture is not just based on how the application will work with the intended users. Cloud computing requires an intricate interaction with the hardware which is very essential to ensure uptime of the application.
These two components (hardware and application) have to work together seamlessly or else cloud computing will not be possible. If the application fails, the hardware will not be able to push the data and implement certain processes.
Data Centers
One of the most distinguishing characteristics of cloud computing architecture is its close dependency on the hardware components. An online application is just a simple application that could be launched in different servers but when the application is considered with cloud computing, it will require massive data centers that will ensure the processes are done as expected and timely.
Data centers for cloud computing architecture are not your run-of-the-mill data processing centers. It's composed of different servers with optimal storage capacity and processing speed. They work together to ensure that the application will be operating as expected. The area is usually in a highly controlled environment where it would be constantly monitored through various applications and manually checked for actual physical problems.
The data center could be considered as the backbone of cloud computing architecture. The destruction of it could easily mean millions of dollars in additional spending for companies. For that reason, data centers of large companies are often kept secret to avoid infiltration either by hacking or actual physical damage.
Applications in Cloud Computing Architecture
Enabling the capacity of the data centers is the software that does the processing. With the help of the data centers, the processing time will be fast as the speed of transaction will be suggested by the hardware capabilities of the data center.
The application in cloud computing will call on the assistance of the hardware not only in processing but also in data gathering. Although it would be possible that data will come from another source, data centers will usually house the data in their server farms for faster access and easier processing.
The challenge for applications in cloud computing is largely based on the number of requests the application could handle. Although this factor could be highly suggested by the data center, the application will usually have a threshold if they are not properly written.
Cloud Computing Basic Components
Successful implementation of Cloud Computing will require persons with different expertise, experiences and backgrounds. As it will require more people in the industry, it's no wonder why cloud computing is a very expensive venture. But even with the expenses that the company would often have to spend, the advantages provided by cloud computing is far more than the initial spending.
But either way, components have to be implemented with the expectation of optimal performance.
The Client - The End User
Everything ends with the client. The hardware components, the application and everything else developed for cloud computing will be used in the client. Without the client, nothing will be possible.
The client could come in two forms: the hardware component or the combination of software and hardware components. Although it's a common conception that cloud computing solely relies on the cloud (internet), there are certain systems that requires pre-installed applications to ensure smooth transition. The hardware on the other hand will be the platform where everything has to be launched.
Optimization is based on two fronts: the local hardware capacity and the software security. Through optimized hardware with security, the application will launch seamlessly.
The Service - the Functions in Cloud Computing
Cloud computing is all about processes and the services launched through cloud computing always has to deal with processes with an expected output.
The optimization on services is based on two things: the proper development of the application and the end user. Sometimes, the service could be used by the user wherein their experience is greatly affected by their gadget.
The Application - Backbone of Service
This is where software developers have to focus in terms of ensuring the application will work as expected.
Optimization of the application is based the actual coding of developers. Through extensive testing on load handling, security and functionality, the application could work as expected.
The Platform - "Soft Infrastructure" for the Application
In regular websites or applications that don't deal with cloud computing, the application is directly connected to the server. In cloud computing, the application is still launched to another application called the platform. The platform usually comes as the programming language such as Ajax (Asynchronous JavaScript and XML) or Ruby on Rails.
The Storage - The Warehouse of Cloud Computing
The storage holds pertinent data and information on function on how they will be implemented.
Optimization on storage is based on how the storage facility protected from different attacks and availability of back-up. Cloud computing is always about consistency and availability of service which will naturally require the storage to be available all the time.
The Infrastructure - The Backbone of Cloud Computing
Every function, service and the ability of storage to provide the needed data is only possible through optimized infrastructure. This could be considered as the platform behind the storage as the infrastructure helps the storage deal with load problems.
The infrastructure is a platform wherein it weights the ability of the storage against the number of requests. The infrastructure has the ability to make some changes by load balancing and even management.
These are the components for cloud computing. Each of these components have to be optimized for a secured and well functioning application for cloud computing.
Cloud Computing Behavior
The behavior of cloud computing is highly dynamic wherein the only way the process would be possible is through proper interaction of the application and hardware.
From Desktop to Browser
Everything could be extracted online and everything could be performed in a secured browser instead of desktop or local applications. Major browsers have the capability to handle different types of cloud computing and they will work seamlessly as long as the supporting factors could properly execute.
Ability to be Dynamic
Dynamism in cloud computing is the ability to redistribute the processing power of the cloud at will. If there are few users who tries to use the cloud, the resources of the cloud should be distributed on those number of users. At the same time, cloud computing should be redistributed when the number of users will increase.
Distribution of Resources
Aside from the ability to adapt to the number of users and data requests, cloud computing should have the ability to work with different form of resources. Most well known service providers do not rely their operations in one service center alone. They would usually come with two or more server farms - infrastructure with multiple and massive servers.
These are not done just to store large amount of data, multiple server farms in different areas are redistributed in locations so that they could provide ample support to other data centers. If one server farm will go down, other server farms will take over the load temporarily.
Operations as Abstraction
An Abstraction which will enable the application to be highly dynamic as well as adaptable, should be observed as behavior in cloud computing as this will provide the needed operations for cloud computing. Through abstraction, the application should be adaptable enough to different scenarios. This is useful especially for businesses that requests adaptable processes.
Platform Development
The only way the application in cloud computing should be launched is through a platform. By using a platform such as browser, the local gadget will only require minimal application to be launched.
This is very challenging for developers since launching the application online will require greater adaptability. Browser incompatibility is still one of the biggest challenges a developer must face. Different browsers have different implementation to different functions. This means developers might not have the ability to implement certain application in a specific browser.
Physical Requirements
The physical requirement is actually the most challenging part in cloud computing. The physical requirement will need considerable amount of spending just to make sure everything will work seamlessly. Once everything has been set-up, additional support for software as well as hardware components should be there. The security of these components is always a requirement for disaster prevention and optimum performance.
The "Client Side"
To effectively launch a highly interactive application in the user's end, the use of Web 2.0 programming languages are used. In platform based development of cloud computing, programming techniques such as Ajax, Ruby on Rails are extensively used by developers.
At this point, the first challenge to the client side is presented. These programming languages may offer the best interface for users but they do not provide optimal security measures for users. Client side development tools could be easily hacked such as Cross Site Scripting (XSS).
Aside from security challenges, the client side will also be required to make some adjustments in their local gadget to get fast transmitted data.
Local Applications
When cloud computing and applications in the client side is starting to became popular. The capability of cloud computing was pushed to its highest level. Some developers have proposed that the actual desktop experience could be emulated even in a browser. With the right development tools such as Ajax, the complete desktop experience could be there. But the result is less than desirable as the online desktop experience is too slow when compared to the actual desktop experience.
Cloud Computing - Beyond the Hype
But the persistence of local applications will not signify the doom of cloud computing. There are processes that could be better when they are launched through cloud computing. Processes such as real time customer management, online tools and even simple communication need efficient implementation of cloud computing.
Companies have to consider the advantage and disadvantages of launching cloud computing. These considerations will protect them from harmful and possibility business ending effects of wrong implementation of cloud computing.
The Future of Cloud Computing
Cloud computing may be a relatively new concept for some businesses and consumers. But even though some businesses are only starting to adopt and realizing the advantages of cloud computing, industry giants are already looking forward to the next big step of cloud computing.
For now, cloud computing could be easily identified with grid computing wherein the "cloud" become the application for business purposes. Although grid computing is more focused on the server capabilities of the application, their similarities are based on the focus on providing online and on-time services to the enterprise.
But cloud computing is so much more than simplified "cloud" processing. The business aim of getting things done no matter where they are without the necessary of a local or desktop software is realized. The ease of data processing with real time interaction and company-wide availability of data in an instant could be done through proper implementation of cloud computing.
Level of Competition in Cloud Computing Industry
Competition is always good in any industry. Through competition, the best services as well as the most competitive prices will come out. The cloud computing industry is no exception to this rule. Companies such as Amazon, Google, Sun Microsystems and SalesForce.com are only some of the highly recognized companies in the cloud computing industry. These companies offer advantages that will fit the need of any businesses.
But the level of competition, as some industry experts predict, could soon be gone. The previously mentioned companies are aggressively promoting their services so that they could become the leader in the industry. These companies are now spending millions of dollars in hardware upgrades, human resources and even in advertising. Unfortunately, not every company will come out strong. Some industry experts predict that one of the companies will come out of top and might even become the synonym for cloud computing.
References:
[http://www.exforsys.com/tutorials/cloud-computing/cloud-computing-basics.html]
[http://communication.howstuffworks.com/cloud-computing3.htm]
[http://www.csmonitor.com/Innovation/Tech-Culture/2009/0807/the-basics-how-cloud-computing-works]