Thursday, January 29, 2015

T(his Story) of Cloud

Cloud computing history

World is evolving and the story of cloud computing is no different. Let me take you to the history and this story of cloud computing evolution..

Earlier the mankind was restricted to PC (Personal Computer), had very low memory, CPU power and storage. As it was personal, so people could barely manage to organize their work (with very light weight applications) and still would call themselves 'sophisticated'. Then came in the need for sharing data with people around them, hence floppy drives came to their rescue, but eventually it increased their greed for sharing data with friends across geographically location. However, with the existing technologies at that time, this was just not possible unless they burn magnetic disks and send them via post but was frustrating. This again raised need for physical long distance connectivity.

This was one of the paradigm shift in the world of computer infrastructure and applications when LAN network came along and connected personal computers via Ethernet in relatively large area but restricted to offices only, this was further enhanced to WAN network to connect PC(s) form geographically apart locations. Such network was created by connecting tons of routers(for WAN network) and switches(LAN network) and formed a humongous network of networks for PC(s) all around the world. World wide web (WWW) concept was created to exploit this network of networks and made one largest application ever by mankind called ‘internet', where people can communicate with each other irrespective of geographical and technical boundaries but again had restricted access. 

At this time everything was in perfect harmony until we realized “Need For Speed”, in terms of communication bandwidth, computing speed and large storage. This is when hardware companies realized and enhanced their devices power multiple folds (it be CPU, memory, faster Integrated circuits, etc). Software companies too developed powerful applications with complex logic and mathematical operations, which was not possible with low speed devices. A new dimension was added to this race of speed when wireless technologies joined. Wireless and Wireline technologies then evolved to such a high degree that cost per bit came down and computing power increased multiple folds. 

With High Computing power, fast and large memory banks, unlimited storage, and super fast connectivity, what could have happened? Yes, a new need has arisen which we call Cloud and brought endless opportunities too.   

To give you some perspective about the SIZE OF INTERNET:

1. The Indexed Web contains at least 4.4 billion pages (Friday, 09 January, 2015).  Source 
2. Total number of websites. Source
3. How Big is the internet. Source 

This is when cloud concept started where all the required basic ingredients were ready and recipe to be prepared. Cloud is where all the user data get stored, processed, computed and analyzed using cloud applications rather then native applications. Data has become system agnostic and can be seamlessly accessed across applications from almost any device and Operating system. 

Cloud is where there are no logical boundaries in terms of dimensioning, and you can make/break a computing system on the fly and pay just for your usage. In fact cloud is so much configurable that it is categories into following based on customer needs:
  1. Infrastructure as a Service (IaaS) 
  2. Platform as a Service (PaaS)
  3. Software as a Service (SaaS)
  4. Network as a Service, etc. 
Need to move to cloud
  • Why to keep user data locally on PC/laptop/tablet/hard-drives/etc, after all there is a limit, 
  • Today every person has multiple IP devices, that can connect to network from anywhere wirelessly and hence can access the same data,
  • Why to compute locally specially for large applications, 
  • Why to purchase native licensed,
How cloud can solve the problem
  • User can store infinite amount of data, there is no limit to it. Single storage multiple devices can access. 
  • Infinite amount of compute engines and on-demand memory. 
  • Load Balancing: User can dynamically scale/shrink their application on the fly.
  • Geographical Redundancy/High Availability: absolutely zero down time. 
  • Caching: Much better performance and user experience. 
  • Zero resource crunch, be it hardware or software.
Economical - Value for Money
  1. Cloud resource are economical and cost effective compared to native resources.
  2. Pay as you Go: Pay for only what you use. 
  3. Companies/Group can buy limited number of cloud license and share it among themselves. 
  4. Flexibility to change if software/hardware/service is no longer a need. 
Concerns:
  1. Security with respect to data protection or valuable user credentials. 
Another example to give you larger perspective about the radical changes happening in the cloud and over all working of an individual are:
Google as we know, believes in radical changes and this time the changes in revolving around cloud. Google is investing heavily to make cloud accessible and affordable for every individual for storage, computation, services and collaboration. To address this need Google has started many initiatives in multiple areas with single goal in mind i.e. Evolve Cloud
  1. Cloud Storage: Google Drive, Drop Box, oneDrive, iDrive, etc. There are many player in this domain who wants user to store data on their storage servers rather then locally. Reasonably big amount of storage is free of cost with backup and lot of software services based in data type: Example you can edit photos or create gallery on google photo
  2. Google Fiber: This is 100 times faster then today’s broadband connection and most importantly, directly to your home. This means high quality and on-demand streaming data/audio/video is completely possible. 
  3. HTML5: This is very promising technology and the vision is very long sited. Next generation browsers will be powered with web-sockets and webRTC that means browser can collaborate much faster. Google is targeting user to use ‘browser' as the only and de-facto application for all their purposes, which essentially means computer can be thin-client with latest browser on it (Chrome 29 Beta, Mozilla Aurora are the latest browsers with HTML5 support. These are again in beta version and features may be available in the nightly builds), Google ChormeBook, ChromeBox and ChromeBase are such applications. Hangout is one of the examples what a browser can do, it can create browser-to-browser video connection with QoS, image processing on the fly, giving access to hardware like (camera, mic) from browser within without any plugins, far better rendering engine with support for video tags, CCS3, etc. Lot of dynamic part is done in the HTML which was earlier possible via javascript. 
  4. For programmer/developers cloud IDE (Integrated Development Environment) can solve all the development related issues and GITHUB is code repository. For creative/artists/etc cloud license is available for almost all the softwares. 
  5. Web Apps: For all other general purpose applications WebApps can be very handy and effective and runs inside browser.