Cloud computing – an insight

Overview

IT infrastructure is changing according the fast-paced world’s needs. People in the world want to stay connected with Work / Family-Friends. The data needs to be available anywhere in different devices such as Computer, Tablets, and Smart-phones etc. Here I am talking about large data which may be images, videos, documents or reports. So where do we store these data? 

Cloud computing is a technology that uses the internet and central remote servers to maintain data and applications. This allows consumers and businesses to use applications without installation and access their personal files at any computer with internet access. This technology allows for much more efficient computing by centralizing storage, memory, processing and bandwidth. 

World-wide web is an example of cloud computing. We use G-mail, Yahoo etc for sending mails in we don’t install any software and access the service using web browser. Similarly cloud computing is delivery of computing as a service rather than a product and these don’t require end-user knowledge of the physical location and configuration of the system. Here’s the logical diagram of CC

Image

In a cloud computing system, there’s a significant workload shift. Local computers no longer have to do all the heavy lifting when it comes to running applications. The network of computers that make up the cloud handles them instead. Hardware and software demands on the user’s side decrease. The only thing the user’s computer needs to be able to run is the cloud computing system’s interface software, which can be as simple as a Web browser, and the cloud’s network takes care of the rest. Cloud computing has 3 service models – Software-as-Service (SaaS), Platform-as-Service (PaaS), Infrastructure-as-Service (IaaS)

Cloud Computing Architecture
 
When talking about a cloud computing system, it’s helpful to divide it into two sections: the front end and the back end. They connect to each other through a network, usually the Internet. The front end is the side the computer user, or client, sees. The back end is the “cloud” section of the system.
 
The front end includes the client’s computer (or computer network) and the application required to access the cloud computing system. Not all cloud computing systems have the same user interface. Services like Web-based e-mail programs leverage existing Web browsers like Internet Explorer or Firefox. Other systems have unique applications that provide network access to clients.
 
On the back end of the system are the various computers, servers and data storage systems that create the “cloud” of computing services. In theory, a cloud computing system could include practically any computer program you can imagine, from data processing to video games. Usually, each application will have its own dedicated server.
 
A central server administers the system, monitoring traffic and client demands to ensure everything runs smoothly. It follows a set of rules called protocols and uses a special kind of software called middleware. Middleware allows networked computers to communicate with each other. Most of the time, servers don’t run at full capacity. That means there’s unused processing power going to waste. It’s possible to fool a physical server into thinking it’s actually multiple servers, each running with its own independent operating system. The technique is called server virtualization. By maximizing the output of individual servers, server virtualization reduces the need for more physical machines.
 
If a cloud computing company has a lot of clients, there’s likely to be a high demand for a lot of storage space. Some companies require hundreds of digital storage devices. Cloud computing systems need at least twice the number of storage devices it requires to keep all its clients’ information stored. That’s because these devices, like all computers, occasionally break down. A cloud computing system must make a copy of all its clients’ information and store it on other devices. The copies enable the central server to access backup machines to retrieve data that otherwise would be unreachable. Making copies of data as a backup is called redundancy.
 
Latency
 
Bandwidth and latency requirements vary depending on the particular cloud application. A latency of 50 ms or more, for example, might be tolerable for the emergent public desktop service. Ultralow latency, near 1 ms, is needed for some high-end services such as grid computing or synchronous backup. Ensuring that each application receives its necessary performance characteristics over required distances is a prerequisite to cloud success.
 
Protocols
 
There are different protocols available which will be suitable for linking servers and storage in and among cloud centers – Fibre Channel over Ethernet (FCoE), InfiniBand, and 8-Gbps Fibre Channel. This topic is very advanced and will be covered in another post
 
Pros

The applications of cloud computing are practically limitless. With the right middleware, a cloud computing system could execute all the programs a normal computer could run.

Clients would be able to access their applications and data from anywhere at any time. They could access the cloud computing system using any computer linked to the Internet. Data wouldn’t be confined to a hard drive on one user’s computer or even a corporation’s internal network.

It could bring hardware costs down. Cloud computing systems would reduce the need for advanced hardware on the client side.

Corporations that rely on computers have to make sure they have the right software in place to achieve goals. The companies don’t have to buy a set of software or software licenses for every employee. Instead, the company could pay a metered fee to a cloud computing company

If the cloud computing system’s back end is a grid computing system, then the client could take advantage of the entire network’s processing power. Often, scientists and researchers work with calculations so complex that it would take years for individual computers to complete them. On a grid computing system, the client could send the calculation to the cloud for processing. The cloud system would tap into the processing power of all available computers on the back end, significantly speeding up the calculation.

 
Cons
 
The biggest concerns about cloud computing are security and privacy. The idea of handing over important data to another company worries some people. Corporate executives might hesitate to take advantage of a cloud computing system because they can’t keep their company’s information under lock and key.
 
Security – The companies that provides cloud computing should have reliable security measures in place. Otherwise the service would lose all its clients. 
 
Privacy – If a client can log in from any location to access data and applications, it’s possible the client’s privacy could be compromised. Cloud computing companies will need to find ways to protect client privacy. One way is to use authentication techniques such as user names and passwords. Another is to employ an authorization format — each user can access only the data and applications relevant to his or her job.
 
Real life examples
 
1) Email servers like Yahoo & GMail store your mails which may also have file attachments too. Some enterprises rent such Email services for internal use from other vendors to keep their capital cost low. (Email servers & software are a bit costly to buy & maintain)
 
2) You can store files to servers on the web so that you can access them any where. How it is stored/retrieved is not important. e.g. DropBox
 
3) You want a database to store information but don’t want the hassle to install one on your machine, you get that as well e.g. Microsoft Azure
 
4) You get CPU time too in cloud computing. So, if you were working for some complex problem & you temporarily require a server performing the computation for it, without requiring buy such high end servers, you get that too as part of cloud computing. e.g. Google Apps, Azure
 
Apple has also introduced its own cloud computing which basically caters to email service & file storage service.
 
 
Advertisements

Firefox OS – another Mobile OS

Here comes another OS for smartphones to compete IOS, Android, Windows 8 and Blackberry OS. Is this a game changer? Let’s see the details

There is something interesting about this OS though the news did not excite me being a hardcore Android fan and user. Firefox OS is a Linux based open source OS developed by Mozilla that can integrate HTML 5 applications directly with hardware using JavaScript. The OS and apps are fully built based on the powerful features of HTML 5.

The concept of the OS is similar to Google Chromebook, treating website as apps, runs without native code. Also similar to Chrome OS, Firefox is a web browser running top of Linux.

HTML 5
Now the question comes about HTML 5. Is it powerful enough to replace Java or C++ and build entire mobile eco system? There was news about Facebook founder Mark Zuckerberg’s comment about HTML 5, that it is not ready and Firefox made a big mistake by choosing HTML 5. HTML 5 developers took this challenge and created an app called Fastbook, which was extremely faster than IOS and Andropid versions of Facebook native app.

Have a look at the video – http://vimeo.com/55486684. One thing which stopped me developing android app was Java and HTML 5 is a good start to create some since it’s extremely simple.

Architecture

001

Different layers of Firefox OS are

Gonk: – Middleware, which contains Linux kernel + Software Libraries + Hardware abstraction Layer à Runs on top of mobile chipset and drivers
Gecko: – Application runtime, which implements HTML 5 + CSS + JavaScript
Gaia: – User interface which includes Home screen + Application launcher

002

Devices
Sony has shown the guts to experiment with Firefox OS and launched Experia E for developers. Also the 1st smartphone should be released by July 2013, first in South Africa, and later to Asian and European markets (good that they choose African country to avoid competing with latest and powerful OS versions – Android 4.2 and IOS 7). Also Mozilla is working with other manufacturers – Alcatel, LG, ZTE and Huawei

003

Issues

Security will be a main concern since there is no native code and hackers started targeting smartphones these days.

The End
So, is this a game changer? I don’t think so at this point of time. Even though HTML 5 is good, not sure if it can create all apps available in Android, IOS and Windows 8. Anyway, it’s good as a develop to create few apps and explore the smartphone development

Reference
http://www.sencha.com/blog/the-making-of-fastbook-an-html5-love-story
http://en.wikipedia.org/wiki/Firefox_OS
http://www.engadget.com/2013/03/01/firefox-os-is-repeating-the-mistakes-of-others/
http://www.thehindu.com/sci-tech/technology/gadgets/mozilla-rolls-out-firefox-os/article4458463.ece
http://developer.sonymobile.com/2013/02/27/experimental-firefox-os-software-for-xperia-e-available-for-developers-rom/
http://firefoxos.info/
http://en.wikipedia.org/wiki/Comparison_of_mobile_operating_systems
http://www.frikipandi.com/public/post/geeksphone-el-primer-movil-en-espana-con-firefox-os-445.asp
http://www.sencha.com/blog/the-making-of-fastbook-an-html5-love-story/
http://www.sencha.com/html5-is-ready
http://www.uswitch.com/mobiles/news/2013/03/5_reasons_firefox_os_will_struggle_to_succeed/

Skype vs. Hangouts Review

Hello everyone. Today I wanted to give a candid feedback about Google Hangouts after the 1st usage.

001

Before Hangouts – Skype

Flashback about my video chat using Skype to communicate with wife and kid, a year ago.

002

Skype was installed in my PC and Android version Samsung Galaxy Tab 2. Also Skype user name was created for both users.

003

It works well for one to one video chat as a free user, but the video goes off if I invite a third person and continue as audio chat.

Okay, no problem, I understood a free user deserves only thatL. Video clarity was also good when I was using Wi-Fi and broadband in both locations.

But things changed, replaced WI-FI with 3G (SIM card in TAB) due to various reasons and Skype started under-performing. Video was lagging behind the audio and most of the time 3G user goes offline and Skype tries to reconnect. It was bad experience!!

Things changed again, I moved the 3G connection to my mobile (HTC Desire) and used WI-FI Hotspot to connect my Tab. It was terrible experience since user goes offline every 5 seconds.

Advantages
Skype supports multiple platforms – Android, IOS, Blackberry, and Windows
It can act as calling card – paid users can make calls to any phone

Disadvantages
Separate account need to be created
It needs to be installed in all devices
Interface is not modern (chat window looks ugly)
No group video chat for free users
Video lag and connection issues for low bandwidth

Story about Hangouts
I started exploring about Hangouts (part of Google +) from last few months since I heard it supports multi user video chat. I did not get a chance to try out due to reluctance from users to use Google +.

004

Finally Google announced in IO 2013 that they are replacing Google Messenger and Google talks with single app Google Hangouts. The app made available for both Android and IOS and it became major rival for Facetime, BBM (Blackberry is planning to launch android version soon)

Cool stuff – all conversations are stored in cloud and it will sync across all devices and we can have never ending conversations. It is not necessary to install app in PC, the browser can be used to start conversation, which is also quite convenient

Today I tried video call using Hangouts – one end in Chrome and other in Galaxy Tab2. It worked perfectly even in 3G and WI-FI tethering. No video lag and connection issues.

It can also replace other messaging apps – Viber, Whatsapp etc. As of now, there is no SMS feature, but it is most requested feature – can be anticipated soon

Advantages
Google account can be used to sign in
Browser also can be used to start chat
Data resides in cloud and it can sync across devices
Never ending conversations
Group video chat and users can also share any video in the chat
No video lag and works in low bandwidth

Disadvantages
No phone call options
Volume was bit low compared to Skype

So, that’s it. My 1st hangout and I really enjoyed it. Please try it out and hope you will also enjoy the experience.
Comments are always welcome

Thanks for reading

Hangout for Android – https://play.google.com/store/apps/details?id=com.google.android.talk

Google Cloud Print Review – Amazing

Google introduced a new product this month called “Cloud print”. The beta version is available as and android and Chrome application.

unnamed (1)

Let’s see how we can leverage this technology

 Concept

Google cloud print is created to connect printers on the web – to make home and work printers available for anyone around the world. This means I can take a picture in US and print in friend’s printer in India without e-mail and fax. Also this will work in phone, tablet, Chromebook.

Classic printers can be connected to make it available in the cloud with the help of Chrome – https://support.google.com/cloudprint/answer/1686197?rd=1
I was very excited to see the announcement and downloaded the app on 1st day in my Nexus 4. But I was not able to really test or enjoy the power since there is no printer in home and office printer is secured.
Now what happens if the Google Cloud print app is opened in phone?
Launch the app and it will show all printer jobs
Screenshot_2013-06-27-21-09-20
Click on the pint button to choose a file – you can choose all storage applications – Google Drive, File manager, Gallery, Drop box etc
Screenshot_2013-06-27-20-25-57
Once selecting the file, it will show all registered devices (including printers) – It did not make any sense to me at that point of time.
Screenshot_2013-06-27-20-26-32

But today, I found out the use of the devices!!

 If you make online payment, you will see the transaction message at the end along with Print button.

 If you want to save these details, you can take a screenshot and e-mail to yourself for future reference. Otherwise it is possible to convert this to PDF using Chrome browser – find my previous blog for more details.

Now along with the PDF a new section appears – Google Cloud Print, in which I can choose all my devices. Select the device and the PDF will be transferred to the device (or printer too).

Chrome_Print

This is amazing. No screenshot, saving and sending to mail – just push to any devices with one click

So, what’s your story? Did you find real time benefits of the app? Please add your comments