Showing posts with label cloud. Show all posts
Showing posts with label cloud. Show all posts

Wednesday, October 24, 2012

The cloud : freedom or enslavement ?

Enslaved to ?

Cloud companies (Google, Facebook, Twitter, Apple, Android and others). They own you and your personal information if you are a person.

If you are an organization/company some/all of your key processes depend on your cloud provider(s) performance. The more you use it, the more you depend on it and ... the more it costs.

They can (and they will) change the contract anytime without your consent...




Freedom from ?

  • legacy companies that produce(d) legacy PC and legacy proprietary software like Microsoft, Adobe, Oracle, etc.

  • a specific device and operating system or browser (you can access your data from any-device anywhere in the world if ... you are connected on the Internet). Beauty of standardization !

  • the expertise needed to understand and manage your IT. Everyone is a cloud expert these days (hint : the true experts work in the field with real servers, real OS and ... a real understanding of IT).

Any thought on this ? What does the cloud free you from ? Are you enslaved by the cloud ?

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 ?

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 ;-)

Monday, May 17, 2010

The end of the (Linux) desktop as we know it ?

Embedded Linux : common trends

More and more of the Linux ecosystem (PC hardware vendor, phone hardware vendor, search engine giant and more recently a well known Linux distro, Ubuntu) uses Linux as an embedded system for the desktop. Some examples to illustrate this trend :
  • Asus Express gate embed Linux in the motherboard. You can have, in a few seconds, a browser, skype, etc.
  • Google Chrome OS : not yet released but it is define as the Web OS with a minimalist/zen approach (like an OS based on Chrome, the browser)
  • Mobile platform : you'll have plenty to choose. ARM based : Symbian, Meego, Android, etc.
  • Last but not least, Canonical announce "Unity", a minimal/Zen OS that will be available to OEM but can be nonetheless deployed on Ubuntu Lucid and later.

Major desktop environment (Gnome, KDE) : things of the past ?

One interesting Linux specificity is the fragmentation of the windows manager market. No other "mainstream" operating system has such a complexity : the window manager is unique and completely integrated (from kernel to applications) into the Operating system. Thanks to the XFree standardization, Linux is more complex : several window managers exist and have to co-exist.

However, on this level, things are changing rapidly :
  • Collaboration between Gnome, KDE and XFCE (and others) is accomplished with the Freedesktop project. The project goals are to define common tools (like X.org), sub-systems (Dbus, etc.), API to ease integration and interoperability of the different window manager.
  • Zen-ification : Simple is beautiful. Minimalist systems set the trend. Clunky interfaces tends to disappear and are flagged as bad design. Esthetic and ergonomic are the two main change drivers. Simplicity is especially important in order to "cross the chasm" and reach the general public.
  • Cloud computing : Browsers are the key to the world these days. An interesting point to notice is that none of the desktop environment are relevant in the browser war : they use/integrate a major browser based on user choices (OK. they provide a browser but ... those browsers do no exist on the larger scale of the Internet!).

Negative impacts for the (Linux) desktop

  • With the cloud, more and more users will be completely satisfied with a browser. As a consequence, users are more likely to care about their browser and the associated information (bookmark, session, password, cookies, etc.) than about their desktop. Major browsers offers a form of cloud synchronization : Mozilla Weave and Chrome Sync (with a google account ... of course) are leading the pack here. Those tools contribute to free the user from the desktop : everything can reside in the cloud.
  • Even if a desktop is less and less relevant, migration from 100% local applications (PC) to a 100% cloud will take time. During this time, a desktop is still needed but this is an end-of life situation for this product line. The fact that major players roll out their own desktop environment is a sign that current desktop environment do not meet the needs of the future. Instead of improving the current ones, major organization decided to ... create their own. Asus with Express Gate, google with Android and soon Chrome OS and, more recently, Canonical with Unity.
  • The direct consequence is a form of "commoditization" of the different desktop environments : they all look alike and most "regular" users don't really care. The differentiation factor is small/difficult to point out : only style, look and feel is experienced by the user after all !
  •  
     
Positive impact 
  • Linux everywhere : after the servers, here come some form of "desktop". The platform is now very popular and we can see convergence between mobile phones, netbook, mobile internet device, etc.
  • Hardware support ... will become better and better on the "desktop". As more and more hardware manufacturers provide an embedded Linux, hardware support will become a non-issue. Most components are standard and this will lead to a well supported platform for the desktop.

Conclusion ?

The value is shifting from desktop environment and desktop applications to browser and cloud applications. The direct consequence is that the Linux desktop environments should unite and work more closely together in order to address this need.

This will not be an easy task as lot of flame-wars and ego-wars will have to be resolved : the feud between the different windows manager is long-lasting and not really decreasing. Key projects like Freedesktop are very important in this regard.

Major players created their own "non-desktop environment" to provide a zen-minimal environment that contain a browser and some additional technologies (video-conferencing, etc.). Those players decisions should be a serious wake-up call for the window managers : a major hardware manufacturer, google, an open-source friendly distribution editor (Canonical with the recent Unity announce) decided to create their own "desktop" environment. Those products will be delivered to millions of users...

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...

Sunday, May 9, 2010

The Cloud : at least an environment that favor open-source !

What is the cloud ... without its marketing tag ?

During the 2010 think tank in Napa, the cloud was very present. One of the question was about the "threat" that the cloud represents for Open Source. This is funny because some very well in informed participants mention some key statistics. The major player in the cloud field, namely Amazon and Google, run an open-source (linux based) solution for their cloud.

Some unofficial statistics mention that more than 90% of Amazon EC2 instances run ... Linux. At some point, one could define the cloud as an Open Source OS + Open Source virtualization.


Why open source matters ?

Price of a computing cycle, bandwidth, RAM and storage are going down because of various factors including Moore's law (processors, memory) and unprecedented market size increase : developing countries are now entering in the digital age and crossing the digital divide.

An old open-source theory stated that, when the cost of a computer will reach 250$ then Open Source software will be in a strong position because it will be very difficult to pay hundred of dollars for ... software (was not able to find the reference but this is not my theory, feel free to comment and I will correct this blog entry).

I think that Open Source allows the cloud to exists : as the cost of servers get under 2500$ (lets assume that a server can be used by 10 users, we will find the same kind of ratio as for the initial prediction). In this context, when you manage 100 000s of servers, should you pay for ... operating system ? virtualization layer ? etc. In fact, most of the cloud players (Google, Facebook, Amazon, etc.), as start-ups, rely exclusively on open source. Constraint drive innovation and I really think that the present scale of those companies is a direct consequence of their platform choice : using any type of closed source software would have hurt the control on their platform and kill any innovation in the egg.

From and end-user point of view, the number one OS vendor (Microsoft) adapted itself to the cloud in a very reactive mode. In order to use a proprietary system in the cloud, you have to pay an extra 10c/hours/EC2 instance. If you use 100000s of hours, should you pay this tax ? Should you port your cloud-software to ... Linux ? At a certain level, RedHat and other licence-based commercial distros have the same problems : they have to somehow "rent" you your licence so that you can use them on the cloud. Once again, why pay for this and not use ... a freer distro like Debian or Ubuntu or even Fedora, CentOS or OpenSuse ? As a customer, no doubt you will consider alternatives and cost/benefits as it


What of the dominant players ?


While there is different players, I will concentrate on Amazon as Amazon is clearly in the leadership position : they published the API and offer a multi-tenant cloud infrastructure that is very cheap and very ... scalable. Scalability is not the problem of the user anymore at least from a hardware, storage and bandwidth point of view. However, applications scalability on the cloud is a very young and immature science ;-)

The EC2 API is in the process of becoming a de-facto standard and most of the cloud provider build their solution on top of this API. Others, like Eucalyptus, re-implement the API with a different toolbox (i.e. : other virtualization technologies) and as an open-source : you can have your own private cloud on your servers.




The Cloud : at least an environment that favor open-source !

If you look at the proprietary/closed-source/traditional licence-based business model they have to adapt to the cloud and somehow switch from a multi-instance architecture to a multi-tenant one. They also have to switch from a per-user licence to a per-usage model.  This involves all kind of interesting gymnastic like the one Microsoft did : 10c/hour/instance. If you "rent" an instance for one year, your cost for MS Windows in the cloud is .10$*24*365 = 876$. Very expensive IMHO : they don't really believe in the cloud. If you are doing the math, you better buy a bunch of  server licences that includes 5 VM : this will be way cheaper.

On the other hand there is no cost involved and no change required to any open-source software is you want to run it on the cloud : just do it ! No licence change, no hassle, almost no difference from a regular deployment in your data-center, no supplier to contact and ask "if you can run it on the cloud/how you can run it, etc.", no special provisioning (to have your precious licence number for each instance or to connect your licence server to your instances).

Moreover, open-source companies that develop open-source software already have a business model that is compatible with the Cloud : their software is already freely downloadable and can be run on any computer. When the old license-based model is used then some adaptation on the business sides of things, for instance usage based vs instance based. When a service-model is used, then no change is needed.

This can be a great opportunity for Open Source : a virgin territory without any legacy players and a business advantage because there is no need to change the existing software to benefit from this new market...