Wednesday, October 27, 2010

Why Unity is good for the future of Ubuntu, Gnome, Canonical, etc.

Desktop and windows manager

A few month ago I already blogged about "the end of the (Linux) desktop as we know it." I will not blatantly repost this entry but draw some conclusions linked to the recent adoption of Unity for the default Ubuntu desktop.

My conclusion was the following : "At a certain level, one can say that the battle is already lost : the current desktop environments can not really fight this war as they don't own the key technology : the browser. As a consequence, the risk, for them (Gnome, KDE, etc.) is to be a tool that will launch a browser. A (relatively) simple tool that can be easily changed with almost no user impact..."

The recent announcement at UDS confirm that this road is the one chosen by Ubuntu. Now the question is why and what benefits for the key players here : Canonical, Ubuntu, Gnome and, of course, the users.

Mobile Internet Devices (MID) = application delivery

The new hardware platforms (most of them ARM based, touch-screen based, with small screen and no keyboards) rely extensively on the cloud/web based application and deploy specific small size applications on every connected MID.

The "desktop" on those platforms is very different from the one on your regular  "old-school" computer : it consists mainly of giant dock with widgets and your most used apps and a task-bar that informs you about communications (tweet, email, voice mail, etc.) and the MID status (wifi, phone, battery, etc.).

Most of the regular desktop applications are barely usable on such a device : do you think that Open Office user experience will be great on a 640x480 screen with no keyboard ? All those applications are now somehow "legacy" and given the specific user interaction with the MID and the MID capabilities (touch screen, multi-touch, accelerometer, low computing power, etc.) can not be used, with a great user experience, on those devices. Even the most "cross-platform" software, the browser, is specific to the MID device and every major player rolled out a specific version (lighter, snappier, etc.) for those platform.

So can we use the legacy application, yes. Will they succeed "as is" on those MID : I don't think so.

Can a MID platform succeed on the desktop ?

Well, this is the interesting question. Ubuntu/Canonical decided to bet on it. In fact, instead of synchronizing your desktop to your MID, why not consider your desktop as ... a very large MID ?

Apple did it the other way around, Microsoft as well bu they both come from the old desktop world. Google did it from Android for MID to a hypothetical GoogleOS that will certainly be very similar to your Android experience.

Ubuntu/Canonical is betting on the fact that users will follow them from the MID market to the desktop market. This is an interesting challenge and a really disruptive choice : let's break compatibility with the past and embrace this new way of delivering applications.

Will it succeed : only time, users and the market can tell ;-)

Impact on key players : gnome, Ubuntu/Debian, Canonical, users

Well, as I announced it in my precedent post, the legacy of the desktop environment out there is too cumbersome to carry on this new trendy market. Nokia (QT, Symbian, Meego) , Google (Android), Apple and Canonical came to the same conclusion : they can not build on top of those legacy windows environment (most of the time : because they have to serve a community of developers and users that care only about the "old" desktop model) : they had to start from scratch for the user interface. However, they kept some very useful and precious components like the kernel, basic OS, etc..

In this context, Ubuntu/Canonical is more conservative than Apple and Google that decided to dump X altogether. I'm not sure the X environment is fitted for next millennium challenges : once again, time will tell.

Gnome : I think this is a great news. Leveraging the tools, library and previous applications, a new "shell" can be developed that will be perfectly suited for MID. This, I can imagine that innovation can flow more freely from Desktop to MID and vice versa. Will Gnome developers embrace this change ? Will it provoke a community meltdown ? This is more an ego risk than a technological or business one. FLOSS is famous for its ego war and this may be the greatest risk for this key-player.

Ubuntu/Debian : Well, this really open another market for this distribution. A strong differentiator compared to RedHat, Novell. Competition on this market is called Android. Not an easy one to take on...

Canonical : As far as I know, the OEM division will have another great product to sell ! Just look at sales figures from Apple and Android device. This look very interesting to me. As the third or fourth player (Apple, RIM, Google, ...), becoming leader in this market will be a real challenge. Two very closed platform, two very open platforms. A huge and very fast growing market.

Users : Choice is always beneficial to some degree. As the default desktop environment will change, we will see the adoption rate but I expect it to be quite large in the Ubuntu community. This is a well known tactics (anyone remember Microsoft embedding IE into the desktop ?) that has worked well in the past. Also, it will help "convergence", namely the unification of your desktop and MID environment ... through the cloud services that will be offered on this platform (Music, More content, Storage, Contact, Preferences, ...).

Conclusion

All in all, I think this is great news for the future of Linux and all the involved party (Gnome, Ubuntu/Debian, Canonical and Mr. User). My only concerns are linked to some possible ego-war into the Gnome community and the fact that this will "only" be a tertiary platform in term of applications and content delivery : RIM seems in trouble, Apple the clear gorilla and Android the strong challenger. Will the great marketing and community/viral effect of Ubuntu be able to modify the race results ?

Sunday, October 17, 2010

Airline companies should reward on time passengers and good customers...

Just another upgrade story

I just flight with US Airways and I would like to relate some interesting story that happens to me and is, I think, shared by most of the airline industry.

I was late for various reasons :
  • somehow, my Nexus card was flagged as "deactivated" and I spend half an hour at the custom instead of my usual 2 minutes as it is the case when Nexus is working as expected (+30 minutes).
  • The airport parking was full (because of work done on the parking lot) and I had to use the the shuttle parking (+10 minutes)
  • Security was finding again and again some "large metallic item" in my bag and it was emptied and scanned 8 times (IIRC). It look like it was my keys that causes this (I used the same backpack and the same keys on more than 50 flights without any problem !] (+30 minutes).

During my security adventure, I could see the departure gate emptying and every passenger getting on board. I was not able to hear the announcements but when I was finally able to present myself at the gate, the lady told me "too late, you were supposed to be on board 10 minutes ago, your seat has been re-assigned". Been there, done that anyway so I remain calm and ask the only meaningful question I can think off :"are you sure the plane is at complete capacity ?".

The lady recounted the boarding passes (by hand, not using any computer which I found funny and slightly disturbing) and then visited the plane.
At the end, she came back in a hurry and told me I was lucky : some place were available ... in first class.

Another happy first class passenger  ...  but wait : is this ethical ?

Of course, I was happy with the experience and I'm writing this post from
a very comfortable seat with first class service reflecting on this particular
fact from a marketing and ethical point of view.

I'm not a bad customer as I fly quite often and from a business point of view
it make sense to give me some reward. However, the decision to upgrade me was not at all based on this information but on the sole fact that I was a bad
customer : I was late for the flight.

How come I have been rewarded for a bad behaviour ? Does it encourage me to
come up early ?

My advice to airlines companies 

I'm sure that passengers that came early and are good customers are the one you want to reward. Not the one that are randomly late !

Please encourage ethical behaviour and reward
  • your on-time passengers
  • your good customers

In 2010, this should be an easy function to implement in your CRM : as long as
it will not delay the flight departure, moving a couple of passengers and then
assigning the remaining seats to the late passengers seems way more ethical and
that assigning the remaining (and sometime excellent) seats to the latest passenger...

Tuesday, October 5, 2010

How to choose the right cloud for your needs.


The cloud : Basic definition

The cloud is very trendy these days. It can be seen as a marketing tool to somehow revamp the Software as a service industry. This of course also evolves from simple "SaAS" to different levels of service, namely infrastructure as a service (think amazon EC2, etc.) , platforms as a service (think Google app engine, etc.) and of course the good old "Software as a service" (think SugarCRM, etc.).

Given the broad definition of
the cloud, almost any IT company can say "this is what we've been doing since 200_" (insert your favourite digit here!)

When trying to sell these funny things, vendors
encounter a major difficulty : many corporations/organizations are used to the so called "firewall principle" and don't trust anything outside their firewall for so-called critical applications and also for serious red-tapping (our internal policy prevents us from ..., we can not do this because of ..., etc.).

One can argue that security and IT management is way better for major cloud providers (Amazon, Google, etc.) than it is f
or most of us so-called "small scale" organizations ( compared to 1 Million+ servers , many organizations are "small scale" according to this definition!). Even if this is true from a technical and processing aspect , this does nothing to ease the pain and allow the cloud to be used by these organizations.

Ladies and Gentlemen : Here comes the private cloud !

In the past , vendors adapted their marketing and sales pitch by creating a new marketing term : the so called "private cloud" that refers to the re-branded "public cloud" offered by major hosting providers (Rackspace, etc.), web 2.0+ major actors (Amazon, Google).

In a way, a private cloud is the answer f
or vendors to somehow respect the "behind the firewall rules". It provides access to a cloud platform inside your organization. Also, it implicitly solves the "privacy/security" issue with a saying that says it all : private is private after all !

I believe this is highly misleading because it implies that everything on the public cloud is ... public. This is clearly not the case. Even if any given "public" cloud provider is so-called "multi-tenant" (meaning that different customers can share for a
period of time the same hardware), if you use secure protocols and encryption, you can be pretty certain that everything you send is private and only seen by you . The only risk added being the one of the virtualization layer itself , are all virtual machines really isolated when sharing the same hardware ?

Most of the time, a choice has already been made : most of us have already been using virtualized servers in a production environment in the past .

For the "very secure" few that don't allow virtualization for security reasons , this is not the subject of this post ;-) therefor
e, you have two choices : Change your policy or stay away from virtualization and cloud technology...

My proposal is to drop the "public/private" cloud definition in favor of a more precise definition in order to define where the cloud is located in terms of network topology, whether the cloud is shared or dedicated and who managed the cloud (you or a cloud provider).


In front of your firewall or not ?
More precise classification means, is the cloud behind your firewall or in front of your firewall ?

  • An internal cloud is behind your firewall
  • An external cloud is "in front" of your firewall, on the Internet
Managed by yourself or shared ?

If you manage your cloud, lets call this a self-managed cloud.

If you outsource the management of your cloud, lets call this an outsourced cloud.

Is it dedicated or shared ?

A dedicated cloud is used only by you. You are the
sole user of the resources (servers, network equipment, storage, etc.) that provides the cloud services.

A shared cloud is multi-tenant : several users share resources (CPU, RAM, storage space, etc...).
Often times , dedicated means more expensive : as the sole user of the infrastructure provided by the cloud, you have to assume all the costs.

However, given the "pay as you go" principle of the external shared clouds, it can be less expensive to run your own cloud for the regular load of your organization and to use the public cloud only for specific workloads/peaks.


3 major types of clouds : 

 
Internal dedicated cloud : self managed or outsourced ?

This is
the closest to virtualization as we know it. Most of the time , you own the data, the servers and need to manage everything : the hardware, cloud software and the operating system. The main difference is that you use a cloud stack (open source or not...) consequently , you need to standardize your workload.

The main advantage of doing this is you benefit from an external cloud (managed or outsourced) and tap into external resources when you need it. This allows the IT department to offer a common platform to
each internal customer. This is especially interesting for large organizations and can be much more economical than a public cloud.

Instead of a "pay as you go" way of billing, you can fit this type of cloud into a classic budget : capital investment for the initial deployment, fixed price for the management of the cloud. In practice, one can argue that this is not really "the cloud" as you still have to manage "scarcity" (i.e.: a fixed amount of resources) instead of ubiquity (a somehow "infinite" computing power, bandwidth and storage capacity). It is said that constraint generates innovation , therefore this type of constraint is not necessarily bad per say .


If you self-manage your cloud, you are in charge of all the stacks and regular IT processes : provisioning, capacity planning, etc. You can manage a fixed budget : a capital budget needed with a fixed operation budget (power, staff, etc.). You can manage scarcity (the actual amount of resources you have).

If you outsource the management, you are a user of your cloud and
can decide to scale up based on pre-agreed fees, per server or per-storage nodes.

This model fits nicely into an existing infrastructure and acquisition process : you can really benefit from this model as you are able to leverage the somehow "standardization" of the workload management while you remain completely in sync with your organization
's acquisition policy and budget.


External dedicated : self-managed or outsourced

External dedicated is an extension of the preceding category: you can use a hosting provider to own your own cloud. In this case, the cloud is clearly in front of your firewall. On the other hand , the cloud is not shared. Servers are only used by you and no one else. You can even re-sell your spare cycles ;-)
You can also self-manage or even outsource the management of the cloud.
This model requests only minor updates to your security policy. This is very similar to hosting your public services at a data centre , can become an easy sell and an easy way to start implementing a cloud strategy.

External shared and outsourced
This is the "classical cloud", the one offered by Google, Amazon, Rackspace, etc. This infrastructure management is outsourced to the cloud provider and the cloud is therefore multi-tenant : various users share various physical resources.

Conclusion
We defined different ways a cloud can be deployed into an organization and used some more precise terms to define where the cloud is located (topology), who managed it (you or somebody else) and if the cloud's resources are shared or dedicated.

These definitions clearly overlap the traditional marketing and trendy "public/private" cloud approach and this is why the public/private vocable seems inappropriate due to its lack of precision.

In terms of IT governance and acquisition processes, the internal dedicated self-managed cloud is the easiest to sell/deploy, even for a very conservative organization. Benefits from the cloud could be very important even in this context, especially if you have developers and the need for development, staging and production environment.

Of course, to be able to really tap into the ubiquity of the cloud and its potentially unlimited (but billed!) resources, one will need to extend its comfort zone and somehow connect to a shared external and outsourced cloud. This disruptive innovation is only available for organizations that have completely revamped their development process, their security policy, as well as their acquisition mechanism.

Start-ups don't have any legacy and can start right away without any capital expenditures , this said , Cloud and its operational costs is directly based on usage : this is not something every organization is ready to deal with.

Other organizations will need to compromise and can do so by using any of the mentioned cloud deployment models that provide various levels of flexibility in terms of :
  • capital vs operational budget (private -> shared)
  • outsourcing or not (self-managed -> outsourced)
  • firewall position (internal->external)
 Of course, another important parameter is about free/open source/neo-proprietary/proprietary cloud. This is for another entry ;-)