Social Coding

I am editing a book on Android Web Apps, and the author Damon Oehlman, just introduced me to a tool call “github”. The motto of Git, is “social coding”, it really takes the paradigm of open source. If you think of a typical open source paradigm of collaboration using a tool like SourceForge, think of Git as a Web 2.0 evolution.

GitHub is free for open source projects, and has a bunch of licensing option for others. I am still new to the tool, but in the limited exposure, it is absolutely amazing.

  • Twitter
  • Facebook
  • Digg
  • Delicious
  • LinkedIn
  • Google Reader
  • Technorati Favorites
  • Google Gmail
  • Plaxo Pulse
  • Hotmail
  • StumbleUpon
  • TechNet
  • Yahoo Bookmarks
  • Windows Live Favorites
  • WordPress
  • Windows Live Spaces
  • Ask.com MyStuff
  • Bebo
  • Share/Bookmark
Posted in General, Social Media, Web 2.0 | Leave a comment

Neeta’s first solo flight

Neeta was with her instructor, Bill Goddard. They did 3 touch and goes at Hawthorne airport (KHHR), after which Bill told Neeta to do her first ever solo flight. At first, Neeta was a little nervous and wanted to push her solo till tomorrow. Bill insisted – and there goes Neeta.

I was nicely watching TV at home when Bill calls me to tell me that Neeta is doing her solo. I rush to the airport and catch Neeta taking off  for her 3rd solo touch and go. The first two obviously went well, thus Bill let her continue.

The take off was fine, I tracked her all across the traffic pattern – and then she was on final. Very high, but the runway was long enough for her to play with. She came in high over the numbers, but then brought the plane down very nicely, with a little bit of runway to spare.

Bill flagged her to do one last pattern for the day.

Again, a very professional quality take off, and smooth through the pattern. On Final again. This time it seemed like she was bang on the VASI. Winds had picked up a bit, but they were straight down the runway – so no worries. She came in perfectly and touch down! Score!

4 landings to Neeta’s credit as the sole manipulator of the aircraft. She is super fired up and she is planning to do another supervised solo flight tomorrow morning! Needless to say, I am going to go to the airport and watch her entire flight this time.

Fellow pilots will feel my excitement more than others, a first solo is a big achievement in the journey to getting your pilot’s license. I am so proud of Neeta!!!

  • Twitter
  • Facebook
  • Digg
  • Delicious
  • LinkedIn
  • Google Reader
  • Technorati Favorites
  • Google Gmail
  • Plaxo Pulse
  • Hotmail
  • StumbleUpon
  • TechNet
  • Yahoo Bookmarks
  • Windows Live Favorites
  • WordPress
  • Windows Live Spaces
  • Ask.com MyStuff
  • Bebo
  • Share/Bookmark
Posted in Pilot's Stuff | Tagged , , , , , , , | Leave a comment

Comparing SOA mistakes to Cloud Computing

Are enterprises at risk of making the same mistakes with Cloud Computing that they made with SOA? Funny enough, the answer could easily be yes.

Here is why (in no particular order)

Common SOA Mistake: Don’t involve the business; they will not get it
With Cloud Computing, you easily run the risk of this. Leveraging Cloud Computing must involve the business and that too early. You need the business to understand the adoption model, benefits, cost and risk. Their buy-in will be critical to the overall planning, execution and ultimate success or failure of your initiatives.


Common SOA Mistake: It is an Enterprise effort and will be a huge project
Many SOA projects failed because they were pitched or executed as a multi-year, multi-million project. Let’s not repeat that with Cloud Computing. For example, the goal of your first Cloud Computing project should not be to move your entire data center to the cloud. I think you get what I am saying – Cloud Computing should be adopted strategically, in small bits to start with. Cloud Computing is just another project… one of many in your project portfolio!

Common SOA Mistake: A single vendor or product for maximum simplicity and interoperability
In Cloud Computing, you should not restrict yourself to one vendor. Of course, you need to understand how multiple vendors will talk to each other – integrations, reporting, security etc. However, definitely adopt a multi-vendor strategy.

Common SOA Mistake: Governance is either too little or too much
I believe some Enterprises got into analysis-paralysis and over engineered their Governance policies for SOA. In other cases; they left it for later. Getting governance right and at the right level is critical to a successful Cloud Computing strategy.

We could explore this further and site a few more examples…  it would be interesting and probably equally applicable to the Software-As-A-Service (SaaS) world if you treat SaaS as a sub-set of overall world of Cloud Computing.

  • Twitter
  • Facebook
  • Digg
  • Delicious
  • LinkedIn
  • Google Reader
  • Technorati Favorites
  • Google Gmail
  • Plaxo Pulse
  • Hotmail
  • StumbleUpon
  • TechNet
  • Yahoo Bookmarks
  • Windows Live Favorites
  • WordPress
  • Windows Live Spaces
  • Ask.com MyStuff
  • Bebo
  • Share/Bookmark
Posted in Cloud Computing, SaaS, Service Oriented Architecture | Tagged , , | Leave a comment

Maturity Model for SaaS

I am big on using the Maturity Model concept to evaluate the architecture, process and deployment maturity. In the case of Software As A Service, a simple 4 step maturity model can be defined that would demonstrate how a SaaS vendor should consider building their product and how they can be assessed from a technical maturity and viability stand point.

I will describe the Maturity Model based on the Anatomy of SaaS application posting I did a while back. In that note, I described how a typical SaaS architecture would look like. We can use the same architectural elements to describe the Maturity Model for a SaaS application.

Level 1: Adhoc SaaS architecture

This is a simple model to follow and is probably how many SaaS vendors actually started off. The product is deployed in a “cut and paste” fashion for each customer. Thus each customer has their own dedicated instance of the software. This model obviously has drawbacks, but it also does have certain benefits. You cannot beat this model in terms of control and security. However these come with the price of scalability, maintainability, upgradability and several of the other common “ility” factors.

Level 2: Shared Core Functions


In this level of maturity, we are starting to see some of the reusability that becomes the real value of a SaaS solution. Software, process and design is re-used in terms of the “Core Functionality” of the SaaS product. This not only helps in the technical architecture maturity, but plays a huge role in the standardization of business processes and thus the overall business maturity is increased and cost avoided of having to support multiple, isolated business processes or functions.

If I were to gamble, I would bet that many SaaS vendors are inherently in this level of maturity. This does provide some basic level of re-use and addresses some of the drawbacks of Level 1. However, we can do better. Let’s look at Level 3 and 4.

Level 3: Multi-tenant and Configurable


This to me is a stepping stone level of maturity. It addresses some key drawbacks of Level 1 and 2, but really provides a path to Level 4. In this level of maturity, we achieve real multi-tenancy and configurability. The client specific tenants are typically only hosting code specific to a client and the configuration settings (generally XML or database driven) for a client. To the extent possible, we work in a true and complete multi-tenant fashion. This allows us to realize the core benefits of SaaS in terms of scalability, re-use, upgradability etc. When you read Level 4, you will see how Level 3 is a stepping stone to it.

However, it is important to realize that getting from Level 2 to Level 3 is probably where the most time and money will and should be spent by a SaaS vendor. As I am really a gambler by nature, I would bet that the most successful SaaS products would be somewhere between Level 2 and 3, probably closer to Level 3 or have concrete plans to get closer to Level 3.

Level 4: Multi-Tenant-Efficient


Level 4, the final level in this 4 step maturity model is often defined as Nirvana in other maturity models. With respect to SaaS, I am focusing on the true multi-tenancy of a SaaS solution as being the definition of this level. It looks a lot like Level 3, with a Tenant Load Balancer thrown in. This effectively means that there are no client specific tenants. Even the client specific configuration, client specific code etc that were in client specific tenants with Level 3, now are residing on shared tenants and are invoked on demand. The tenant load balancer, creates virtual client specific tenants on demand, as close to session-scope as possible (now we are talking Nirvana). However, it would be good enough if the load balancer is able to create and manage to virtual client specific tenants that can scale and grow based on demand and forecasting of demand from a client.
This was a very high level overview of a maturity model for SaaS. Subsequent blog postings will drill into some more details.

  • Twitter
  • Facebook
  • Digg
  • Delicious
  • LinkedIn
  • Google Reader
  • Technorati Favorites
  • Google Gmail
  • Plaxo Pulse
  • Hotmail
  • StumbleUpon
  • TechNet
  • Yahoo Bookmarks
  • Windows Live Favorites
  • WordPress
  • Windows Live Spaces
  • Ask.com MyStuff
  • Bebo
  • Share/Bookmark
Posted in Cloud Computing, SaaS | Tagged , , | 1 Comment

“SaaS” is just another buzz word

I recently read a blog posting by Don Fornes titled “The Software as a Service Dilemma” at http://www.softwareadvice.com/articles/uncategorized/the-software-as-a-service-dilemma-104071/. Don has made some very interesting obsverations (not all that I agree with), however they provide a lot of insights into your thought process behind SaaS based software.

I think it is interesting to point out that a lot of traditional web applications can really be classified as SaaS applications; even though you might never think of them that way. Let’s take monster.com as an example. In the last several years, you have probably not heard of monster.com as a SaaS application. However, think about it. Why can’t a system like monster.com be classified as SaaS?

1. It is multi-tenant – multiple enterprises (job posters) and people like you and me (job seekers) use the same platform, over the web (browser based)

2. We don’t have to worry about upgrades etc and thus are not tied to their release cycles

3. We use subscription pricing (per job posting or per month etc)

4. The business can buy these services directly; without really involving an IT department

So think about it – monster.com clearly meets the basic definitions of SaaS. While using monster or other web applications for any domain – enterprises typically do not raise the same security and privacy concerns when they consider typical SaaS software.

So in this case; is this just a marketing exercise? If you agree with my line of argument, clearly we have been building “SaaS” software since the advent of web application programming – just not marketing it as such.

The same kinda happened with Service Oriented Architecture (SOA). The buzz words and sales pitches came on very strong – and parallels for SOA could be drawn to almost a decade before the word was coined. Now, since almost everyone agrees “SOA” as a buzz word is dead – the concepts, architectures and design patterns for SOA based software carry on. Thus is SaaS just another buzz word that is poised to die at some point – but the concepts carrying on for a long long time… ?

  • Twitter
  • Facebook
  • Digg
  • Delicious
  • LinkedIn
  • Google Reader
  • Technorati Favorites
  • Google Gmail
  • Plaxo Pulse
  • Hotmail
  • StumbleUpon
  • TechNet
  • Yahoo Bookmarks
  • Windows Live Favorites
  • WordPress
  • Windows Live Spaces
  • Ask.com MyStuff
  • Bebo
  • Share/Bookmark
Posted in Cloud Computing, SaaS | Tagged , , | Comments Off