Thursday, November 22, 2012

Review of KiSSFLOW SaaS: Quick Workflow Builder for Google Apps

Review Summary

KiSSFLOW

Workflow Builder for Google Apps. [Website Link]

Launch Date

June 2012.

Service Offered by

OrangeScape.

Useful for

Business process automation. End-users building their day-to-day process applications. Example: Leave approval, Travel claims, etc.

User Interface

Slick, Intuitive and Interactive.

Technology Stack

Google App Engine, Google Cloud SQL, Python, OrangeScape Visual PaaS, JQuery, HTML5 and CSS3.

Business Model

Freemium SaaS. Free for 10 users. Ideal for startups & SMBs.

USP

Simple yet Powerful.

Support

Quick and Meaningful.

Limitations

See Details Section.

Tagline

Kept Simple Made Smarter.

Competition

RunMyProcess and Cordys.

Conclusion

Recommended for Google Apps Customers.

KiSSFLOW-Logo I have followed India based OrangeScape for the past 3 years. I first heard about KiSSFLOW when their CTO Mani Doraisamy launched KiSSFLOW at the Google I/O (developer-focused annual conference) in June 2012. I saw the video presentation and was impressed with the ease with which things were getting done. I had this intuition that they had done something right and I signed up immediately to check out the service. Unfortunately, I encountered “page not found error” and other issues. It seems they were not prepared for the huge traffic that followed them after Google I/O.

A couple of weeks back, I heard some buzz about it. I tried again and this time it worked like a charm. I created a few workflows and had a successful trial run with a group consisting of three members.

Which Workflows can you Build?

Workflow is a sequence of connected steps. You can build:

  • Leave approval,
  • Travel claims,
  • Financial processes, such as Capex approvals.

Apart from the most common scenarios mentioned above there are many long-tail apps (non-core and non-critical apps) that can be built by KiSSFLOW. As a rule of thumb, at least, whatever you are trying to achieve through the Email and Spreadsheet (Excel) combo can be easily accomplished as a workflow application. At most, the possibilities are endless.

To get started, identify the following:

  • Problem
  • Participants/Actors
  • Activities and
  • Sequence of Activities.

Prerequisite

Google Apps Id. (Gmail Id will not work!).

Steps for Creating Application Workflow using KiSSFLOW

To create a workflow here, you don’t require any programming knowledge or development experience. It’s an intuitive and visually appealing 5-step process creation wizard:

Steps-KissFlow

1. Name your Process: Name and describe your application.

2. Design your Form: This step creates the body of your application, i.e., the form. Designing a form is intuitive. Write field name, select Field Format (Developers call it Data Type). Based on your selection you can further validate your field using Additional Properties. Advancing one step at a time, it does not bother you with unnecessary details. For example, if you have selected numbers as the Field Format, it offers you the following Additional Properties (encircled in Red), shown in image:

Step-2

3. Define the Workflow: This step is the heart of your application. Here, you define the flow of your application along with the business rules. For example, the following image shows a workflow that is sequenced as follows:

  • Team Leader’s input.
  • Manager’s approval.
  • If the Number of leave days is greater than 15 it requires two additional approvals from delivery manager and HR Head.

Step-3

4. Configure Permissions: As the name suggests, this simple wizard lets you configure the form fields, section or table with accessibility features such as visibility and edit-ability.

5. Publish: This could also be called Build and Deploy, and it’s just a single click and takes only a few seconds. This step also helpfully notifies process owners and other participants by email.

What I Liked Most?

  • Quick. Yes, I can build a Leave Approval workflow in less than 10 minutes!
  • Organizational hierarchy/reporting structure support for workflows. Once the Administrator defines the reporting structure on his domain it would be automatically available for process owners to easily identify the participant for a specific step without providing manual email Ids.
  • Interactive (instant feedback during Form Designing – Ajax type).
  • Pre-integrated with Google Apps — Mail, Docs, Contacts and Login (Single Sign On i.e. SSO).
  • Suggestions during Form design: If a similar List already exists, the system prompts you and provides you with an option to reuse it.
  • Use of Parallel branches for AND, AND IF and XOR conditions.
  • It supports most of the Excel functions and formula. So, it’s a gentle and smooth ride for Excel/Spreadsheet power users. For example, Networkdays (StartDate, EndDate) – a function that returns the number of workdays between the input start date and end date.
  • Logical operators AND, OR, NOT can be used to specify the conditions for process steps and branches in a workflow.

Limitations

  • Workflow is about Process and Data. At the end of the day, Reports are the sole reason to automate a process. KiSSFLOW has a good Report section but it needs some improvement in terms of consolidated and Drilldown Reports with dynamic parameters (Date From, Date To), etc.

    • Update [Dated Nov. 22; 2012]: Just before pushing the Publish button, I received the following update from KiSSFLOW team - With Google spreadsheets integration, KiSSFLOW users can now slice and dice workflow data using analytics functionality in Google Spreadsheet and see them in a new light and gain important insights.

  • Browser limitation - IE8 and older ones. Actually this is a limitation of IE8 as it doesn’t support HTML5. IE8 is still very popular but it’s time to upgrade as the HTML5 based apps are becoming ubiquitous.
  • In Form design, you can't put a section at the top.
  • Special characters are not allowed in Labels (I wanted to use / ).

With KiSSFlow you can utilize the full potential of Google Apps. Nowadays, we keep hearing about democratizing computing, and bringing power to the end user. I think KiSSFLOW is truly going to empower the end user with this simple service. Though simple in approach, it can build most of the workflows (yes, not all).

Is this why they say: We are the 99%. Let’s leave 1% for the developers!

Other Reviews

Wednesday, September 19, 2012

Testing Cloud - It’s Time to Clear the Fog

A reputed company launches the beta version of its web chat and net meeting application which is hosted on the company’s own cloud infrastructure, let us assume it was called ‘CloChat’ . On deployment ‘CloChat’ fails miserably in meeting customer expectations resulting in the company’s cloud portfolio suffering irrefutable damages and also delaying the scheduled release of ‘CloChat’. 

The scenario explained above can be one of the worst nightmare of any cloud vendor. What exactly would have gone wrong in these cases? Considering that ‘CloChat’ was a product of a reputed company it must have gone through its regular testing cycles.

On investigation it was found that the testing team did not or rather could not emulate the actual scenarios that ‘CloChat’ faced once deployed in the “real” network. This “real” network is actually an assimilation of thousands or millions of users, who are unique in their actions and usage patterns.

All this actually points to the need of testing cloud or cloud based applications during pre-deployment by simulating realistic user scenarios. Generic applications testing can never ensure or predict application behavior post-deployment.

Simulating the faceless users is a key challenge in cloud testing

Fig. Simulating the faceless users is a key challenge in cloud testing

Testing Cloud or its applications in pre-deployment can be classified in a few broad categories:

Scalability Testing: How scalable is my cloud application is a million dollar question. Having an answer to this during pre-deployment can save a lot of heart burns later. It is a realistic indicator of whether the hardware and software infrastructures are under provisioned for the targeted number of customers. A few Cloud as a Service (CaaS) and Infrastructure as a Server(IaaS) vendors regularly skip apparently costlier scalability testing and choose to over provision their hardware resources instead, but this can never be a long term or a profitable business model. This apart any non-scalable network application risks the same fate as ‘CloChat’.

Security Testing: The security threats in cloud can be broadly classified into the ones arising due to known/unknown vulnerabilities and Distributed Denial of Service (DDoS) attacks. Understanding and closing some of these gaps at pre-deployment phase can actually prevent major data losses and system downtimes later. Moreover a robust and well secured Cloud provides the assurance to the skeptical customers who are not yet used to the idea of their data being stored in shared storage locations.

Data Integrity: If the Cloud Service providers are to be looked as banks then the costliest assets that they store is “data”. This data is susceptible to attacks, malformations, dirty writes and several other kinds of software and hardware distortions. It is very important to ensure that the underlying infrastructure of network and disks is “always” transferring and storing the same data as written by the user. Modern age user’s will have very low tolerance to any kind of data distortion and loss.

Quality of Experience (QoE): This is an umbrella term and all the above mentioned testing processes can come together to ensure the customers QoE. A test scenario where one thousand users are trying to login to their profiles at the same time can be a part of scalability testing but the average logging-in time of the thousand users actually form’s the users “Logging-In” QoE, similarly QoE should be calculated for separate user actions like chat, voice, video, mix of all etc. Apart from scalability, data integrity and security testing can also be related to QoE. A test scenario where customer gets integrity errors while downloading a file of enormous size can negatively impact Customer’s QoE. Likewise service continuity and seamless user operations during crisis situations like DDoS attack or multiple Server failures can contribute to a higher QoE.

Cloud is evolving and we will see more players operating in this space in coming years. As with any other services, developing user loyalty will be crucial to business continuity and growth. Keeping this in mind, the ones who manage to build a robust testing and development model that helps them adhere to their published SLA’s will enjoy maximum traction. And for the others, they might not see their user base increasing beyond the “free” ones, because with so many players in market, the customers who mean business will not hold on to a particular service just to be their beta testers.

Amritam

This guest post was written by Amritam Putatunda - Technical Marketing Engineer at Ixia.

Friday, August 31, 2012

CloudMunch - Application Delivery PaaS for the Entire Application Life Cycle [Interview]

Prasanna Raghavendra Prasanna Raghavendra is the CTO & Co-founder of CloudMunch. He has 17 years of experience in the software industry across IT Services and Products.

Prasanna was with Infosys for over 15 years implementing software solutions across verticals and geographies to address the business needs of clients across the globe. He has managed several technology transformation initiatives at Infosys.  Prasanna was also a key member of Infosys Labs and has led application framework development initiatives. Prior to CloudMunch, he worked at Misys as Director of Engineering for Misys's BankFusion Platform. Both at Infosys and Misys, he has led several large engineering teams and leveraged engineering automation to achieve better quality and productivity which became a passion and led to starting CloudMunch with Pradeep.

Q & A

Why did you opt for a cloud PaaS start-up and not for a SaaS start-up which is currently a hot technology trend?

A simple answer, when we were tossing ideas around, we decided to focus on an area we knew best. Our area of expertise is software engineering. And that’s how CloudMunch came about. Doing this on a Cloud was an obvious choice the way the industry is evolving.

I think CloudMunch can be considered a SaaS for software delivery as well.

Globally, there are over a dozen PaaS players. Many of them are quite popular by now. What’s the USP (unique selling proposition) of CloudMunch?

Our objective is to be an end-to-end software delivery platform, i.e. what is termed as adPaaS (Application Delivery Platform As A Service).

The key features are:

1. An end-to-end platform that supports the application lifecycle starting from pushing code to managing your live (production) environment. This includes application quality management (code, design and architecture), testing and test coverage, deployment and environment management and finally production monitoring and management. With our open integration into ALM tools we integrate into your favorite defect tracking and requirement tracking tool to complete the map of application development.

2. Our model is created ground-up with an app-store concept. This will allow an ecosystem to develop, participate and deepen the possibilities.

3. We also create apps to make it better and easier to manage build-test-deploy life cycle. These have been built addressing specific problems our customers are facing in delivering software.

With reference to your point number 2 above, can you elaborate a little more about your API?  What kind of apps can be developed around your platform?

The apps that can be developed around the platform could be to support different languages like a Play or a Lua. Or it could be a new code visualization or validation technique. Or it could also be a way to connect to a new IaaS or a PaaS, or just integrating into a new defect/requirement tracking system or otherwise. Pretty much anything you want to plug into the assembly line of software delivery.

CloudMunch Quick Facts

Which programming languages/frameworks do you support? Is CloudMunch a Polyglot PaaS?

Yes. This is a polyglot adPaaS. We support Java, PHP, .NET and Ruby (very shortly)

Why should a .Net developer use CloudMunch rather than the going for the usual and obvious choice of Visual Studio and Windows Azure combo?

1. IT environments are usually polyglot. It, then, makes sense to choose
one platform that supports your environment. We have seen customers
liking this in such a case.

2. We found some of the .NET teams were excited to see some of our apps
which were more relevant to the issues they were facing in
engineering.

Node.js has been receiving excellent media traction. Are you planning to have this platform on-board?

Yes. We are looking at supporting Javascript model in CloudMunch.

Many of the PaaS providers are evolving from a single-host to multi-host deployment. Does CloudMunch support multiple IaaS providers?

Yes. We are looking at supporting OpenStack, Rackspace and Azure, in the roadmap in addition to Amazon.

Can I extract application design, code and data from CloudMunch easily in a portable standard format? In its current form, what kinds of vendor-lock in issues are expected in CloudMunch?

Yes. I should say there will be no vendor lock-in issues.

With Windows Azure’s offering of limited IaaS, will this trend continue i.e., does CloudMunch envision itself as an IaaS player down the line?

No.

Are the Indian IT majors strategically prepared to grab the big cloud opportunities that are knocking on the door? What is your point of view?

Is there an option? They will have to ride on this wave if they have to be relevant to the market.

Five years down the line, which Cloud Providers (IaaS, PaaS, SaaS) do you foresee dominating the Indian IT space?

SaaS is the most natural winner as you get the solution to the problem you have without having to worry about the nuts and bolts. But you will always have folks who will want the chassis for them to cobble together a solution themselves. But as you move along, you will see more SaaS and services around SaaS, which is where platforms like CloudMunch will find clear relevance.

Thank you Mr. Prasanna Raghavendra for sharing your views with Techno-Pulse readers. Good Luck.

Related Topic

Featured CEO Interviews and Discussions on Techno-Pulse

Thursday, June 21, 2012

Getting Started with Windows Azure Websites

Although a .Net developer with an eagerness to try out new technologies, I was never excited enough by Windows Azure Cloud PaaS to give it a try. But after the latest update on June 7th 2012, my perception of it has changed. To say the least, just a week after the latest update – it is definitely a reinvention of Azure with neat UI, UX and many added features.

Interestingly there were two big cloud announcements in the first week of June. The first one was from Oracle and second was from Microsoft. As far as I noticed, once again, Oracle Cloud failed to impress most of the analysts, users and IT community. In contrast, going by what people say on Blogs and Twitter, it seems Microsoft’s Windows Azure has caught the attention of the IT community and is already getting a good review.

India based Cloud Specialist Janakiram MSV has rightly pointed out the following:

It has reached a point where Windows Azure has become the polyglot PaaS and semi IaaS offering … … … I am expecting many startups to consider running their LAMP stack on Windows Azure. This is all set to offer a credible alternative to Amazon Web Services to run LAMP based applications. [Source]

If this interests you, why not try Azure yourself and have a first-hand experience. I’ve tried to make this tutorial easy to understand even for absolute beginners.

What did I Deploy to My Website on Azure?

I deployed a few lines of HTML 5 and Javascript code. Click on the following image to check what it does. [Please allow share location when prompted by the browser]


Update: The application was hosted on Azure here at http://locationbaba.azurewebsites.net/ but is now not accessible as the Trial Period has expired.

What will You require to Get Started?

Don’t worry, there is no need for you to go for bulky downloads of thousands of MBs of latest Visual Studio version or Windows 8 Release Preview just to get started with Azure (of course, you'll require these tools if you want to go for some serious development on Visual Studio and Azure). Anyone with a beginner’s level knowledge of HTML and Javascript should be able to complete this tutorial in 15minutes. Following are the simple requirements:

i. You’ll require a Windows live ID. If you don’t have it, sign-up here with any eMail ID. It should not take more than a minute.
ii. You need to provide your Credit Card information (mandatory).
In fact, I received an SMS (and an email) that US$ 1.00 is being billed at MSFT *Online. This made me question: How come they are charging for a free trial? But to date this amount remains unbilled by the merchant. So, don’t worry, as the transaction might be a way to verify the authenticity of the card. Pursuant to information available on the Microsoft website, the trial is guaranteed free with no cost or obligations (unless you explicitly remove the spending limit).
2. Download any FTP client (if you don’t have it already). I use Core FTP Lite [only ~3MB and free]. The download and installation should not take more than a couple of minutes on a broadband connection.

3. 15 minutes of your time.

Note: If you don’t want to go for step# 2 you can proceed with creating and deploying your website via WordPress. This is the simplest way to get started with least effort. You can access this tutorial on Windows Azure and on many other blogs. That’s the reason I skipped WordPress and presented you with the FTP way, which many developers may find easier to relate to, apart from that awesome feeling of seeing the result after getting your hands dirty.

Creating Your Website on Windows Azure

1. Sign In to Windows Azure Portal. Click Portal – shown at top right corner enclosed in the red rounded rectangle.

Azure-Website-1

2. You are at the following screen. This page contains the details of websites you are currently hosting with Azure. See bottom left of the image. Click the + NEW button (enclosed in red rounded rectangle)

Azure-Website-2

3. Now your page should look like the following image. Now you proceed with the following steps:
  • Click WEB SITE
  • Click QUICK CREATE
  • Provide your web site name in URL textbox
  • Click CREATE WEB SITE (Bottom of the page)

Windows-Azure-3

4. The following image shows that your website is now created (see the red rounded rectangle). Copy and Paste your website URL (http://yourwebsitename.azurewebsites.net) in a Notepad (.txt file), and keep it handy.  Now, click on your website name.
Note: Don’t browse now as there’s no content deployed to your website. If you want you can browse it by clicking the URL provided there. Alternatively, you can also browse by clicking once on your website name and clicking BROWSE button.

YourWebsite-Azure

5. You will land on the following page. Here you need to perform the following actions:
i. Click Reset deployment credentials  (see the red rounded rectangle). A popup window will appear. Provide User Name and Password. This user name and password is used to deploy to your website. Save this password in your Notepad (you are using since step 4)
ii. See the content inside the bigger red rounded rectangle. Copy and paste the FTP HOSTNAME and DEPLOYMENT USER values in your Notepad. Your notepad entry for these entries should look like this:
  • FTP HOSTNAME: ftp://waws-prod-blu-001.ftp.azurewebsites.windows.net
  • DEPLOYMENT USER: YourWebsiteName\singhbasant

Azure-Getting-Started-4

6. Next you have to prepare to deploy code/content to your website to see it in action. You can write your own “hello world” type html page and deploy. Alternatively, you can do some fancy stuff by making use of some new and exciting features of HTML5 and Javascript.
To get the HTML5 geo-location based application that you’ve already seen in the beginning of this article, download/save the files [default.htm and location-baba.png] from the following link.

                                           View / Download from Dropbox
    If you are not comfortable with code do not change the file names.
    7. Connect FTP Client as shown in the following figure. Open the notepad file you saved at step 5. Enter the details as:
    i. Site Name: You can enter any name.
    ii. Host/IP/URL: Enter FTP HOSTNAME of step 5ii.
    iii. Username: Enter DEPLOYMENT USER of step 5ii.
    iv. Password: Enter the Password you created at step 5i.

    Core-FTP-Credentials

    You will end up at something like this:

    Core-FTP-2

    Double click on site to drill down one level. You will find wwwroot. Double click wwwroot. Deploy the two files (default.htm and location-baba.png) you downloaded at step 6.

    8. Browse your website using the URL available in your Notepad (Or Refer step 4).

    Please provide a feedback of your experience with Azure Websites in the comment section. Stay tuned for a few more resources on Azure, Windows 8 and Visual Studio 2012 RC.
    Good things must be shared :)
    Thursday, June 21, 2012

    Monday, May 7, 2012

    Cloud Multi-tenancy – An Introduction for Beginners

    The term Multi-tenancy has gotten significant attention after the rise of cloud computing in the global market. Most of the time, the term is misused when describing cloud computing. I imagine it is as confusing as the term cloud computing was a year back! A few of us may relate multi-tenancy with a database or application architecture, while others think it has something to do with virtualization. Both views are correct, depending on the context.

    Currently I am leading a team of developers about to start working on an educational institute management application for a group of institutes. Should we proceed with the tried and tested path of single-tenant application, or use the unknown, and less travelled but more challenging, multi-tenant SaaS? The development team was more enthusiastic to get the application architected as a multi-tenant SaaS.

    But how could we design the application (and the database) so that a single instance of it (and the database) could be shared by all the member institutes? This led us to brainstorm the idea of multi-tenancy. And I must confess designing a multi-tenant application is definitely not child’s play, especially if you are designing it on a traditional platform (ASP.NET, SQL Server etc). It may be a bit easier to architect a multi-tenant SaaS on a cloud PaaS.

    What is Multi-tenancy?

    Think of tenants as customers (clients) of a service. Before we discuss more about tenants let us understand the following:

    SaaS can have two broad categories [MSDN, Microsoft, check reference# 2]:

    1. Line-of-Business (LOB) services like CRM and Project management solutions are meant for enterprise customers. A few examples are:

    2. Consumer-oriented services are meant for the general public and may be offered free of cost. Examples are:

    • Dropbox (Now they are also offering Dropbox for teams: enterprise version)
    • Microsoft Skydrive
    • Gmail, Google Apps (Free), Google Analytics.

    The point to note here is that a line-of-business (LOB) service customer can have multiple users whereas in consumer-oriented services each customer is a single user. This why line-of-business SaaS is relatively difficult to architect compared to consumer SaaS.

    I found a plain English simple definition of multi-tenancy, reproduced below for your reference from Database.com Getting Started Series White Paper [check reference# 3]:

    Multitenancy is fundamental technology that clouds use to share IT resources cost-efficiently and securely. Just like in an apartment building, where many tenants cost-efficiently share the common infrastructure of the building but have walls and doors that give them privacy from other tenants, a cloud uses multitenancy technology to share IT resources securely among multiple applications and tenants (businesses, organizations, etc.) that use the cloud. Some clouds use virtualization-based architectures to isolate tenants, others use custom software architectures to get the job done.

    Why is Multi-tenancy so Confusing?

    Like cloud computing, the definition and implementation of multi-tenancy differs based on the underlying service model (IaaS, PaaS, SaaS). Describing multi-tenancy without mentioning the service model might confuse the not so tech savvy customer. A SaaS provider will talk about single-instance multi-tenant database / application architecture while an IaaS provider will talk about virtualization based architecture for implementing multi-tenancy. So, it should be understood based on the context of the service model.

    Is Multi-Tenancy an Essential Characteristic of Cloud Computing Service?

    Although a bit controversial, it is now widely accepted in technology circles that multi-tenancy is an essential characteristic of Cloud Computing. NIST recognizes Resource Sharing (achieved using multi-tenancy) as one of the five essential characteristics of Cloud Computing. A few authorities (like csaguide.v3.0.pdf: Security Guidance for Critical Areas of Focus in Cloud Computing V3.0) identify multi-tenancy as an important element in the cloud computing, rather than an essential characteristic.

    In the year 2010 I posed the above question to a select group of Cloud Computing Pioneers. Their answers are still relevant today: Each one of them agreed that multi-tenancy is indeed an essential characteristic in delivering cloud services. The highlights of their responses are summarized below:

    Quote

    Name

    Multi-tenancy is about sharing of set of infrastructure resources be it hardware or software across multiple clients to cross leverage utilization and hence drive cost efficiencies.

    Suresh Sambandam - Founder & CEO of OranScape, a PaaS

    And that's the only way for a vendor to provide it at an affordable price-point.

    Narasimhan (Kishore) Mandyam - CEO of PK4, [Impel CRM SaaS]

    If you want to be a viable cloud vendor selling products (see my InformationWeek post, you have no choice – your product must be multitenant in order to survive in the cloud world.

    Alok Misra - Cofounder & Principal at Navatar Group, a global Cloud service provider.

    Without multi-tenancy you are like a web development service company managing multiple codebases and servers for each client - which is a huge headache!

    Sahil Parikh - Founder & CEO of Synage Software  [DeskAway SaaS]

    Eliminating the need to maintain individual instances (code bases, infrastructure, etc.) for customers equates to frequent upgrades and easier maintenance.

    Sunny Ghosh - Director Wolf Frameworks, a browser based On Demand PaaS.

    Because of the shared platform they can offer better pricing to customers and in return customers give up some flexibility.

    Jamal Mazhar is Founder and CEO of Kaavo.

    You can read the detailed discussion here: Is Multi-Tenancy an Essential Characteristic of Cloud Computing Service?

    Multi-tenancy Implementation Based on Service Models

    Infrastructure as a Service (IaaS)Tenants on a multi-tenant application share infrastructure resources like servers and storage devices. Here multi-tenancy is achieved using Virtual Machines (VMs).

    • What are Virtual Machines (VMs)?

    Popek and Goldberg define VM as an efficient, isolated duplicate of a real machine [Reference# 4]. In simple words: your application will be executed on a virtual computer (also known as an instance). You have your choice of virtual computer, meaning that you can select a configuration of CPU, memory and storage that is optimal for your application.

    Optional Info: In IaaS different VMs share hardware via hypervisor. Wikipedia defines a hypervisor as “a virtual machine manager (VMM) . . . one of many hardware virtualization techniques allowing multiple operating systems, termed guests, to run concurrently on a host computer.”

    The following diagram [Image Credit NIST: Reference# 1] depicts a simplified illustration of multi-tenant implementation in IaaS. The image shows a cloud provider that has a number of virtual machines (VMs) available that it can allocate to clients; block A shows vm4, vm5, ………… , vmn. Block A shows 2 clients – A and B. Client A can access and use vm1 and vm2. Client B can access vm3. Block B shows entry of a new client C who has access to vm4, vm5 and vm6.

    Cloud-Multi-tenancy-IaaS

    Figure 1

    Optional Info: On March 28, 2011; Amazon launched dedicated instances within Amazon Virtual Private Cloud (Amazon VPC). Setting the tenancy of a VPC to dedicated when the VPC is created will ensure that all instances launched in the VPC will run on single-tenant hardware. You can read an interesting discussion by cloud/technology experts here:

    Amazon EC2 Dedicated Instances and Cloud Definition

    Platform as a Service (PaaS) Here different processes may share an operating system and networking services. A SaaSBlog article defines this as [Source]:

    PaaS multi-tenancy means that, like a Heroku or a CloudBees, the platform can isolate code from different apps/vendors on the same OS instance (usually by commingling processes and databases on OS instances). This removes the need to allocate a whole VM per application stack component, improving efficiency.

    Optional Info: What is a Process in computing? If you are Windows user press Alt/Ctrl/Delete > Windows Task manager > Process Tab. Here, under Image Name tab, you can view the name of the program (exe) you are currently running on your computer. For example: chrome.exe, iexplore.exe, dropbox.exe, winword.exe etc.

    The following diagram [Image Credit NIST: Reference# 1] is a simplified illustration of a multi-tenant PaaS. The PaaS provider has an inventory of applications, namely A, B, C, D. Here a tenant can be a developer, or a customer (C1 in the image). As shown in the following image: the developer is creating applications and the customer is consuming them B→exr1 and B→exr2. In brief, multiple developers and customers are sharing the resources provided by PaaS. PaaS can also use the services of an IaaS.

    Multi-tenant-PaaS-Cloud-Computing

    Figure 3

    Software as a Service (SaaS) – Here multi-tenancy is marked by a single application instance (i.e. code base) and single database instance for supporting multiple customers. Customers are sharing the same code base and the data is stored on the same set of tables distinguished by TenantID. Stated simply: the separation of data is logical and not physical.

    In a database table records can be saved in the following format [Image credit: Microsoft. Reference# 2]:

    clip_image004[9]

    Figure 4

    Yes, a unique TenantID will distinguish between the records of different customers. In reality it’s not as simple as we are assuming here, because, if it’s a line-of-business (i.e. enterprise) application we again need to distinguish between the records of multiple users of the same customer. Also, the presentation layer (User Interface) needs to be provided with settings/configuration options which can offer unique user experience to each customer.

    The following simplified illustration depicts how three customers C1, C2 and C3 are sharing a single application on a single database [Image Credit NIST: Reference# 1]

    Cloud-Multi-tenancy-SaaS

    Figure 5

    A Microsoft document on multi-tenant SaaS architecture proposes SaaS architecture which is more mature than the model described above, also known as SaaS at maturity level iv. Check the following diagram [Image Credit: Reference# 2] borrowed from an MSDN Microsoft article.

    clip_image007[9]

    Figure 6

    The above image shows the most matured multi-tenant SaaS model. This is somewhat similar to the hybrid of Figure 1 and Figure 5. In simple words – a multi-tenant SaaS architecture making use of virtualization based multi-tenant IaaS. The cloud provider hosts multiple clients on a load-balanced farm of identical instances, with each customer's data kept separate.

    What is the benefit of this model over the previous one? MSDN Microsoft article (Reference# 4) explains:

    This model is highly scalable because the number of servers and instances on the back end can be increased or decreased as necessary to match demand, without requiring additional re-architecting of the application. Also, changes or fixes can be rolled out to thousands of tenants as easily as a single tenant.

    Multi-tenancy Risk

    In a multi-tenant SaaS architecture a single application and database instance is shared with multiple customers. This simply means that the same database and same set of tables are used to store the records of multiple customers as shown in figure 2. It’s very rare but it may happen that a flaw in the software while querying the data can lead your adversary (who may be a customer of the same service) to access your record.

    At the IaaS level Virtual Machines (VMs) can be attacked by other VMs residing on the same physical host.

    Although these risks are minimized using robust access policies and strong encryption, you must educate yourself about the security measures in place for a multi-tenant SaaS.

    As a Customer do you really need to care if the SaaS is really multi-tenant?

    Yes. Though multi-tenancy is cloud vendor’s responsibility you must care to know a little about how it is implemented in the service you are going to use. Everything’s fine until the number of customers your provider is supporting increases. Once the number grows, it becomes very difficult to manage upgrades on a per customer basis. Later, it may increase the price of the service because the provider may need to engage more resources to maintain multiple versions of code and database per customer.

    References

    1. NIST [Special Publication 800-146]
    2.  MSDN Article
    3. Database.com
    4. Wikipedia

    Friday, January 20, 2012

    “Build Innovative Voice Apps/Services on KooKoo, Cloud PaaS” - Ozonetel Founder-CEO Mr. Chintalapati

    Murthy Chintalapati Founder-CEO Ozonetel Systems [KooKoo.in] Mr. Murthy Chintalapati is the Founder and CEO of Hyderabad based Ozonetel Systems - a pioneer of Cloud Telephony technology in India.

    Murthy Chintalapati, a serial technology entrepreneur is recognized by many Silicon Valley technopreneurs as someone who identifies industry pain points and builds successful business ventures that address the market need. Murthy started his first venture Intoto, in 1997 in SanJose, California.

    • With talk of double-dip recession looming ahead for major global economies, how relevant is the talk of Cloud Computing implementation in India specifically for SMBs/SMEs?

    Cloud computing which has the key benefits of minimum capex (read zero CAPEX) and usage based on demand scaling and billing will help business in these challenging times. The SMB/SME segment will learn to better streamline their IT spending and minimize technology risk by using the high end services of cloud computing providers.

    Coming to Cloud telephony services, the need has not been met at all and this is a new market being created. Read more on cloud telephony in an article by our principal architect, Chaitanya on cloudstory.in.

    • Your flagship offering KooKoo, is a telephony in cloud. How is it different from traditional telephony? Does the KooKoo platform has all 5 essential attributes of a Cloud Service as defined by NIST?

    Yes we comply with all five, with little deviation because of the current regulation in India. KooKoo is a platform as a service (PaaS) option available to developers to build innovative voice applications either for their existing business or to create a new business.

    • Though relatively new your cloud platform KooKoo is getting a significant attention as a Twilio equivalent for India. What’s your USP?

    Broadly KooKoo is platfrom as a service (PaaS) and offer similar services as Twilio, but actually our approach is completely different. While Twilio has exposed its platform services only, KooKoo has taken a ecosystem approach, where other platform services from our partners are exposed as part of the KooKoo API, making it a complete versatile platform for users to think, build, roll out and scale on the platform. For example, we are integrating Text to Speech, Payment gateways, SMS options and so on, on the platform creating a strong ecosystem for our customers.

    • Are you providing SMS services as well?

    As stated earlier, SMS services are from our partners, but are accessible as KooKoo API. Users don’t have to do multiple vendor sign ups; a user signs with KooKoo and we take care of it all in the back-end.

    • Is there any geographical limitation for KooKoo?

    Currently we are present in India servicing 10 different locations, and will be soon launching in other countries. Since this is telecom that needs access to local telco, it needs to have a physical presence where we want to launch our services. The local phone lines have to be linked to a server for the call logic to work and hence we are expanding our geographical presence across India.

    • What are the top 3 verticals that must act with a strategy to get early bird advantage of cloud telephony services in India?

    The verticals where we have seen good traction are:

      1. Retail (eCommerce).
      2. NGO.
      3. Travel.
    • Can I migrate/host an application developed on KooKoo to another IaaS apart from Ozonetel’s own data-centers? [Vendor-lock-in issue]

    KooKoo is a PaaS, we don’t host applications. Applications are built using KooKoo API (Application Programming Interface), using the user’s choice of web application language (PHP, Java, Python etc). API calls can be replaced with another set of API. So migration to other PaaS vendors is possible.

    • With ever increasing tele-density (mobile, telephone) in India, once you hit the tipping point; your peak call volume will increase manifold. How scalable is your infrastructure?

    The platform is designed so that different entities can scale as per business requirements and hence the concept of peak call volume is local to each customer, thus being scalable to a large extent.

    • Recently KooKoo and Gharpay Partnered for Offline IVR payments. Looks like a good combo to address a potential market of over 740 million voice users. What’s your take on this alliance?

    That is part of our ecosystem approach, there are lot of innovative services available which together with KooKoo can provide users the capability to build fantastic end to end solutions. Similarly we have tied up with Akshar Speech to offer Hindi, Telugu and other local languages text to speech. We will be announcing many more such partnerships.

    • Apart from KooKoo, what are other services offered by Ozonetel Systems?

    You can check the following Cloud Services:

    • CPBX (Cloud PBX – http://cpbx.in )
    • CloudAgent (Cloud Contact Center – http://cloudagent.in )

    • Security-in-the-Cloud - is it really a big concern? How are you addressing this at KooKoo?

    Yes it is, in our case we don’t host customer data. All KooKoo applications are built and hosted by users in their servers. This is less applicable in our kind of services

    • You are a well-known serial entrepreneur. Can you share the most important lesson learned through your entrepreneurial journey of 15 years?

    During the incubation phase of product business, having a services business line for bootstrapping always posed a challenge in terms of focus, operations management and handling HR issues. Managing the services but concentrating on the core product/platform development and balancing both the acts has been my biggest learning experience.

    Thank you Mr. Murthy Chintalapati for sharing your views with Techno-Pulse readers. Good Luck to you and the  OzonetelKooKoo team in your future endeavors.

    Featured CEO Interviews and Discussions at Techno-Pulse

    Tuesday, January 17, 2012

    Cloud Cartoons, Humor - The State of Cloud Computing in 2011


    A picture is worth a thousand words – cartoons worth even more :-) Here’s my first attempt at creating Cloud Computing Cartoons - the year that went by...


    The common man was still searching – may be confused due to information overload.

    Top Global IT players were racing ahead with their Cloud Services. There was an exception too – cloud strategy went in wrong direction. The competition claimed: The cloud is not a box.

    Training Institutes jumped to cash in on the cloud buzz – promising almost anything to anyone. 

    Cloud Data Privacy and Security issues.


    Govt. around the world heard the Cloud Computing buzz! And we heard their funny excuses.

    IaaS providers were smiling all the way! Now they are considered a magic pill.

    Most of the PaaS were in Beta phase, finding it hard to convince developers to join them. Will 2012 change this? Hope so.

    Yet another cloud blogger! croak-croak-croak.

    Many IT companies tried to join the exclusive Cloud Club - masquerading as Cloud Service Providers.
    SaaS - Viral Customer growth! But where is the elusive Break-Even Point?

    Hope a few of these Cloud-toons made you smile. Please spread the word: +1, Tweet or Like. [Check left column]
    P.S: eToons created using ToonDoo Maker tool [toondoo.com]

    Other Interesting Posts: