9 The Official TELTUB Blog
   
   
   
   
 
 
Wednesday, November 4, 2009
Cloud computing
Many people correspond cloud computing to some sort of virtualization technology. I remember talking to a VC in a conference about our telephony cloud and the guy asked me what virtualization technology are we using? VMware or Xen? It was difficult to answer because we do use virtualization techniques but not where he was expecting. According to Wiki, and many other resources, cloud computing is:

Internet ("cloud") based development and use of computer technology ("computing"). Conceptually it is a paradigm shift whereby details are abstracted from the users who no longer need knowledge of, expertise in, or control over the technology infrastructure "in the cloud" that supports them. Technically it typically involves the provision of dynamically scalable and often virtualized resources as a service over the Internet.

This can be achieved by virtualization technologies or any other tools that enable users to leverage the resources in the cloud. Cloud resources can be as low level as CPU power or RAM or as high level as user data storage or even web services. Amazon EC2 is an example of low level resources. Amazon is using virtualization technologies to offer this service.

Cloud resources can also be certain services. For example, SideKick stores your phone contacts somewhere in the cloud so that if you change/lose your phone you will still have your contacts. Instead of maintaining the data yourself, cloud resources are doing that for you. This is an example of cloud computing that does not involve any virtualization technology. Technically speaking this is nothing other than a database (I am oversimplifying). Watch the following video. These people are all working in this industry, in one way or another:



Facebook in its current shape supports third party applications to run on its platform (website). It, however, stores users' information on its own servers and allow third party apps to access the data via API calls provided the user permits them to do so. Facebook is acting as a cloud resource for the third party applications. Facebook is acting as the data collector, storage facility and interface. Third party applications do not need to handle data handling themselves. Facebook is doing it for them and they can access the data anytime they want using the APIs.

Having said that the third party applications run in their own environment. They are hosted on web servers that are different from Facebook's. There are companies that provide hosting service for Facebook applications. These companies are not any different from any other web hosting provider! They may use dedicated servers for each client (the client being the third party application developer) OR use virtualization technologies to provide virtual hosts. I am not sure if Facebook was initially designed as a cloud computing environment but it is definitely acting as one today. Facebook itself does not 'have to' use virtualization technologies to provide its main services (data gathering, storage and interface).

When talking about Facebook, many of the developers know that they can technically write their code in any language. They just have to be able to understand Facebook's communication protocols to be table to talk to it. Though they can host their application on any web server. A web application is a well known concept and there are many developers who know how to develop such applications. It is therefore easy to use cloud resources that Facebook offers. You only have to know how to write a web application. That's all!

A telephony application, on the other hand, is not that straight forward to write. Telephony servers are not as standardized as web servers. They all use different interfaces with different architectures and knowing one would not necessarily means knowing another one. Even if you know a certain platform, it wouldn't mean that you can actually implement your idea because the telephony platforms are usually very limited and difficult to work with.
source: Infreemation

TELTUB is built as a cloud resources for IT and telephony. We not only maintain users' information but we also added telephony resources to our cloud. For example, when you develop an application for our platform you not only have access to users information but you can control the flow of the calls made and received by the users. TELTUB not only provides cloud resources, as described, but it also offers an easy to use interface to deploy the cloud resources.

One of the design objectives of TELTUB has been to build an IT integrated telephony platform that allows developers to host their own applications and to enable them to write their code in an easy to use, already familiar interface. We don't want developers to learn a new interface. Application flow in a TELTUB application is designed to be intuitive to all developers and not just the ones who know telephony services. Writing the code should be as easy as:

"if the user receives a call, verify if the caller is a Facebook friend of the user who is receiving the call. If so, play this joke and forward the call to this number and if not, forward the call to this number."

The developer should not worry about how this is handled in the background. S/he should only think about what is interesting/useful to have. You can control the flow of the calls in realtime, you can make changes to the call on the fly, you can communicate with other platforms (Google, Facebook, MySpace, Yahoo, Twitter, etc) and you can access users' information (given that they permit you to do so).

Still not excited enough? Add mobile platforms, e.g. Android and iPhone, to this picture.

Share/Save/Bookmark