Monday Jul 20, 2009

Zembly.com

At JavaOne I attended an interesting session around a new service called Zembly. It is a developer service build on the Sun Cloud and as a beta is available free to developers. They described Zembly as:

  • A browser based, social IDE
  • REST service mashup platform
  • Massively scalable app hosting cloud

Or put another way Development as a Service and Platform as a Service. The development tools themselves are delivered entirely within the browser (I think using AJAX and HTML but they did talk about using JavaFX in the future) and provide click and include access to a large number of REST based web services that are available today on the next. The tools support a number of scripting languages (PHP, Python, JavaScript and Ruby). From the demonstration it looked pretty easy to quickly mash up some quite compelling web applications and then deploy them to the cloud. This means as a developer you can experiment with new web services (development and deployment) without the need to make any investment over and above the laptop and browser that you have today to access the net. At the moment (at least while the service is in beta) it is free to use.

By deploying to the cloud you can start your deployment as small as you want and scale as quickly or as slowly as you want. If your service does not take off you can just turn it off and try another one. This seems to me like the perfect way to stimulate the next wave of web based innovation.


Wednesday Jun 03, 2009

JavaOne - Day 2

Sony Ericsson had the opening keynote today. I have known Christopher David virtually since first joining Sun in 1995 and have a huge respect for him personally and professionally. Having said that it just pained me more to see this keynote. I still have NO idea what the message was that they were trying to get across. Discussing with other delegates I found out that I was not alone. In fact I could not find anyone willing to speculate on what they thought they might have been trying to say.

They evening keynote was from the Consumer and Embedded software engineering team at Sun responsible for all the sub desktop Java Platforms (Java ME, JavaCard, WTK, etc). This is always a MUST for any fans of geek gadgets. This year was no exception. The main focus was JavaFX Mobile and how this can deliver common applications, user experience and look and field across "all the screens of your life". JavaFX demos were shown running on laptops, various mobile phones and TVs. I have to say as a user of multiple connected gadgets to story was very appealing. Let's how it will reach us as consumers sometime soon. JavaOne has a long history of showing demos that are based on simulating people to think of the just about possible rather than what is reality today which then takes a period of time from 6 months to 4 years to fall into the hands of the average consumer.

One of the most interesting sessions that I attended today was by Ericsson Labs who have taken the MLPK20 code based on project wonderland and extended it to provide a Java Mobile client running on a mobile phone as well as a few other extensions. The mobile client was a 2D plan view of the 3D world and did rather have me asking - WHY? The only sensible answer I could find was - because we wanted to see if we could. Performance was acceptable but more interesting were some of the extensions that they had added for virtual and physical world integration such as the whiteboard integration. Project Wonderland is built on the Project Darkstar server which has been designed originally for enabling networked multi player games. For anyone not familiar with project wonderland it is development kit for building virtual worlds and for MLPK20 think Second Life comes to the enterprise. Personally I find this whole are of applying Web 2.0 consumer technology to the enterprise a fascinating emerging area offering almost unlimited scope for creative thinking.

One other thing struck me today. For a conference that is titled JavaOne there seemed to me more than 50% of the technical sessions discussing interesting but NOT Java technologies such as various scripting languages and cloud computing. Cloud is everywhere at this JavaOne. Different clouds, tools for clouds, deploying on clouds, designing for clouds, testing on clouds, etc.

Tuesday Jun 02, 2009

JavaOne - Day One

I am not going to cover the content from todays key note. You can find the playback here. What was far more interesting for me was the general them and emotions surrounding the key note. As I mentioned in my JavaOne prologue I did not come here expecting a whole slew of future announcements from Sun and certainly the key note did not present any surprises from that perspective. The only exception being the announcement of the Java store. Sun has often been criticised but the business community and analysts for developing great technology in Java but failing to build a business model around it to monetize the technology. As if to prove the point the one thing still missing from the beta version of the Java store is the billing system!

Much of the general session was devoted to looking back over the history of JavaOne and great news James Gosling was back on stage with his catapult launching T-shirts into the audience. Something missing from last years event. Finally Scott McNealy came on stage to close out the session. He finally announced that he wanted to address "the big pink elephant in the room" and proceeded to introduce Larry Ellison. It was at this point that I finally realised that this would be the last JavaOne hosted by Sun Microsystems Inc. I was also at Sun world 1995 where Java was launched (often mistakenly called the first JavaOne - indeed this was repeated today multiple times by Scott, Jonathan and James). This means that I was at the first and last JavaOne! Scott struggled to get his last few sentences out before he left the stage with the emotion of knowing it was his last JavaOne. For those of us who have been a long time at Sun it was quite an emotional event.

So what did Larry have to say. Well it mainly boiled down to 3 things. Firstly he stated that AJAX was dead and the future was JavaFX. He also said that he wanted to see JavaFX on Android. Finally he said that he saw no reason to reduce the investment and commitment made by both companies today following the take over. He also pointed out that today with the exception of the database ALL of Oracles software is dependent on Java so it would be business suicide to not work to ensure that Java continues to excel.

One interesting aside was that throughout the whole of Scott's presentation he used the works merge, merger and merged - no mention of the word takeover. Larry was magnanimous enough not to correct him.

The most entertaining and interesting session that I attended today was a session entitled AJAX vs JavaFX delivered by two guys from Mozilla. It was from the perspective of a developer of RIAs. Apart from the fact that it seriously over ran (the AV guy eventually announce over the top of them that the session was over) it was very good. They looked at which was best from a number of perspectives and also debated the relative importance of being best in each category. Categories included performance, usability, tools and libraries, audio and video integration, image manipulation and deployment.

The most popular topic by far for the sessions is all around cloud computing. Apart from that it is RIAs and scripting.

Sunday May 31, 2009

Javaone and Communityone 2009

Well somehow I managed to convince my boss for the second year running to approve the funds for attending Javaone and Communityone so I am writing this from the VS019 to SFO. I will try to post daily from the show my thought s and insights. I am not entirely sure what to expect this year and how the event will be impacted by the Oracle announcement. Certainly Oracle are conspicuous by their absence from any of the key notes and the list of sponsors. For the past number of years Oracle have been a sponsor of the event and had one of the keynotes. I suspect that this has more to do with the not wanting to anything to derail the SEC filing and other regulatory filings than any real conspiracy. For the same reason I think anyone arriving at the event expecting to get any new or amazing announcements other than what has been said already will leave the event disappointed but rest assured if there is anything I pick up I will relay it.

Looking at the agenda for Communityone I think that one of the major themes will be cloud computing both from Sun and others. There also seems to be plenty of buzz again this year at Communityone and Javaone for scripting of various flavours.

One final thought is that despite years of experience of Javaone I still managed to board the plane without having installed brand new padded insoles in my shoes. Last year I went through two sets in a week. I guess I will be straight to the drug store tomorrow morning.

Saturday May 10, 2008

JavaOne - Final Thoughts

I was at Sun World in 1995 when Java was first previewed and I have attend JavaOne for business meetings a number of times in the late 90's and early 2000's (I never know how to write this) when I was Systems Engineering Manager for Sun's OEM Software team in EMEA. I have seen the debates rage over whether Java was fit for purpose on the desktop and was Java ever going to make it into consumer and mobile devices. Indeed working for OEM software when I did my team was key in getting Java into mobile devices working with the likes of Nokia, Sony Ericsson, Sagem and Samsung as well as working closely with mobile GSM operators in Europe. So what are the conclusions has Java had it's day? Absolutely not. The eco system is stronger than ever. In each of the sectors that it is used - desktop, server, consumer devices, mobile devices, smartcards and now real time systems it is the benchmark by which other technologies and solutions measure themselves. Will Java gain world domination and wipe out all other technologies and solutions? Of course not. Apart from the fact that choice is a good thing. Diversity and choice means that there is competition, which keeps everyone on their toes. Choice results in a larger and more vibrant overall market place - a rising tide floats all boats. Finally choice services more of the long tail rather than forcing everyone to suffer the lowest common denominator. Make no mistake however Java is not on it's way out any time soon.

Now to climb down from my soap box for a while. One thing that hit me at JavaOne this year was the ratio of Apple laptops to PC laptops. It was at least 50% Apple with the Macbook Pro seeming to be the weapon of choice for the majority of developers. This helped me to feel much better about the money that I lashed out a few months ago on a Macbook Air (more about that in a later post). The next thing that hit me having been out of the mainstream of Java for a few years was the uptake of OSGi in the application server space. When I was last actively involved in this it was firmly targeted at the home automation market but it now seems to be a key requirement for application servers going forward and it's inclusion in Glassfish v3 and Spring 2.5 are just two examples of this. The other big thing was the integration of scripting with Java (both desktop and server side) and the wide variety of scripting languages and frameworks - more choice!  The final big thing was open source. It is clear that open source is here to stay and will continue to get more deeply embedded and widely adopted in commercial tools and solutions. Increasingly commercial software companies are realising that hiding the source code for your application buys you nothing and opening up you code to the community buys you increased adoption, increase innovation and improved code quality. The keynote presenter from CERN made the statement also  that it was tax payers money from the community that had paid for their code development so surely the community had a right to see the results! Government organisations take note. If you develop software we have a right to see it and use it free of charge because we have already paid for it (sorry I have crept back onto my soapbox.

As I mentioned before I have attended JavaOne before in a business capacity and never had the chance to attend any of the technical sessions. This time was different and it was a real pleasure to geek out for a week and see the show from a different angle. I would seriously recommend it to anyone involved in Java technology, Java development or any web based development.

For reasons that I can't explain my travel agent decided to book me into the Sheraton at Fisherman's Wharf for this conference however this did mean that for this week I had the joy of using the cable car for my commute each day. A real treat that made my kids very jealous. Remember little boys never grow up. Their toys just get bigger and more expensive.

Friday May 09, 2008

JavaOne - Day 4

The final day began with James Gosling's keynote. As usual it was littered with demos in fact too many to mention in full. The JMars visualiser, rather like google maps for Mars, looked impressive and since it is all available as open source it is open for anyone to use. The livescribe had sponsored a developer competition and my favourite was the JSR Jumble which allowed you to write the number of a JSR and have it look up the name and description of the JSR. The translator was also pretty impressive. The guy from CERN showed a number of the Java applications that they use from simple internal IT packages to systems for modelling data from the particle accelerator and managing a global grid. Tommy Junior, the driver-less car, cause quite a stir when it drove into the conference room. There was the now obligatory real time java demo delivered by Greg Bollella which this time feature blue wonder, a complete RTJS controller in a a box. It was sorting falling coloured balls. Years ago I tried to build a demo system that would sort just black and white balls that were free falling so I know some of the real time constraints involved so this for me was very impressive. Sure the compute performance in one sensor was probably equal to the entire compute performance that I had at my disposal but even so. And by the way Greg's demo worked, mine never did.

The was an excellent session today on Service Orientated Architecture and Java which gave a great approach to SOA that cut through all the hype from product and technology vendors and advicated a very sensible approach to SOA using the OASIS reference architecture and reference model.  Unfortunately the  Q&A was cut short when one of the presenters colapsed on the stage but I believe he was aright long term.

 There was also an excellent session on the 10 rules for scalable systems that was informative and entertaining at the same time and the presenter clearly had suffer the battle scars of building such systems and making some of the mistakes.

I also attended a session on the Maxine VM. A configurable and highly portable VM written almost entirely in Java. Currently a labs project and a long way from being a production VM it is experimenting with some fasinating ideas and the fact that the code will shortly be open sourced I am sure will lead to a whole host of interesting university research projects. A Java VM written in Java! I resisted the temptation to ask the presenter if he had also solved th eproblem of what came first - the chicken or the egg - largely because I feared that he would have given me a mathmatical proof of the solution to the problem that I stood no hope of following.

On a final note I recieved the following from the event organisers which I guess means that Java has finally been hit by a virus ;-)

"The JavaOne conference team has been notified by the San Francisco Department of Public Health about an identified outbreak of a virus in the San Francisco area. Testing is still underway to identify the specific virus in question, but they believe it to be the Norovirus, a common cause of the "stomach flu", which can cause temporary flu-like symptoms for up to 48 hours. Part of the San Francisco area impacted includes the Moscone Center, the site of the JavaOne conference which is being held this week. We are working with the appropriate San Francisco Department of Public Health and Moscone representatives to mitigate the impact this will have on the conference and steps are being taken overnight to disinfect the facility. We have not received any indication that the show should end early, so will have the full schedule of events on Friday as planned. We hope to see you then."

 

Thursday May 08, 2008

JavaOne - Day 3

This afternoon's keynote from Motorola was very interesting and thought provoking. A very honest and unbiased look at the state of the mobile applications market as it is today and some predictions for the future. I am not sure that I agree with all of the conclusions (especially around the need for consolidation) but more of that in another post. One of the highlights of the day for me was a presentation from IBM entitled "The Desktop Java Technology Lovers Survival Guide". From the title I was not really sure what to expect but what was delivered was not at all what I expected. Not particularly technical it was a very entertaining look at the past and current state of large enterprise system software design and some predictions/warnings for the future. The speaker was very entertaining and the presentation filled with amusing anecdotes. Certainly a welcome break from the pages of code.

Another highlight for me was a session entitled "Designing Graphical Model-Driven Applications: Lego Mindstorm" as the presenter said in the introduction you are all here for at least one of there reasons.

  • You are interested in UML modeling for code design
  • You are interested in graphical tools for UI design
  • You are a big kid and want to play with robots

That will be a yes on all three then!

The 2 presenters did a great job of trying to design an build most of the software on the fly and in the true tradition of live demo based presentations they had taken on more than could be done in the alloted hour which coupled with a couple of mistakes mean they were in a sprint to finish on time, fell slightly short of their total goal for the session but did finally get something running to the great delight of the crowd - even if the robot did ddrive itself off the edge of the demo table at one point. All that said it was extremely informative, good entertainment and fun. The only shame it that it was not filmed (at least I don't think so). The 2 presenters did a great job of trying to design an build most of the software on the fly and in the true tradition of live demo based presentations they had taken on more than could be done in the alloted hour which coupled with a couple of mistakes mean they were in a sprint to finish on time, fell slightly short of their total goal for the session but did finally get something running to the great delight of the crowd - even if the robot did ddrive itself off the edge of the demo table at one point. All that said it was extremely informative, good entertainment and fun. The only shame it that it was not filmed (at least I don't think so).

Another impressive piece of coding was the session entitled "Extreme GUI Makeover: In the Real World" which really showed what can be done with Java in GUI design. This was a Java replacement GUI for a dusty cobol application and was very impressive. The presenter said that he would be posting the code on his website so you can go take a look at it.

Wednesday May 07, 2008

JavaOne - Day 2

The key note today from Oracle was a little disappointing consisting of a (very slick) demo and presentation of their current family of enterprise development and deployment tools. Not what you come to expect from JavaOne.

There is a lot of emphasis at this JavaOne on rich user experience, combining scripting with Java in the JVM and developing social infrastructure.

I attended a very informative session from Google and hi5 on how to implement a social networking site based on the Open Social  Container using the Apache Shindig incubator implementation of the Open Social Container and the Open Social APIs. The guy from hi5 gave some interesting insights into the issues facing someone developing and deploying an infrastructure designed to support a viral uptake and some of the pitfalls to avoid.

I also attended a session on jMaki that was liberally littered with code examples and demos which helped to break up the usual death by bullet points (when will someone develop a presentation package that only supports diagrams and has no bullet function - I do not need to look at your speaker notes while you read them to me). Unfortunately the demos seemed to fall over on a regular basis which did not help to hold the attention. Still at least it gave it credibility as a proper developer event presentation rather than a product sales pitch.

I followed this with a session on Growing Open Source Communities based on the experiences of the OpenJDK community. A good guide for any company thinking of moving it's development into the Open Source realm especially in combination with the later session by Simon.

The session on creating compelling user interface experiences was queued half way around the Moscone Centre and since I have a pass that only allows me to be wait listed for a seat decided to cut my losses and head for Simon Phipps' presentation on the challenges facing the Open Source community in the future as more and more commercial organisations become more deeply involved in open source and more commercial software is based (at least in part) on open source components. As usual from Simon it was a thought provoking session littered with Simon's own personal photographs to re-enforce his points (count the number of bullets in this presentation). Simon recommended attending any presentation given by Eben Moglen someone with whom I (a ashamed to admit) I am not familiar but will be looking into.

To finish off the day I attended a session looking at how to include media (in particular video and audio) in Java and JavaFX applications. Once again the presentation was built almost entirely from code examples and demos which served perfectly to get across the presenters points. While I am not sure how well this will come across with just an audio recording and a copy of the slides it is an excellent introduction to the technology.

JavaOne - Day 1

The keynote started with the usual glitz and included a dance troop as the kick off. Rich Green went on to introduce a number of new technologies and a number of demos that suffer the traditional JavaOne demo demons! There was a demon of the Amazon Kindle which was unable to reach the network!

The new JRE 6 update 10 (formally know as the Consumer JRE) which has a number of interesting features. The first is the componentisation of the JRE download. This means that now the JRE has an initial download size of 2Mbytes rather than the traditional 15MBytes. Additional components (API sets) are download as required by applications or applets or are trickled down in the background. New quick start technology improves the start up time for a cold start JRE. Finally one of the features demoed was the ability to be able to take an applet running in a browser and be able to drag and drop it onto the desktop as a desktop application. This allows the applet to continue running after the browser is closed and even be launched on future occasions as a desktop application independently of the browser. The demo application itself kept locking during the keynote demo but at Bob Brewin's Technical General Session later in the day the same demo worked perfectly. This is enabled by the fact that the JRE plugin now runs in a separate process from the browser. JavaWeb start has allowed users to load (correctly packaged applets) to be loaded within a browser or as a stand alone application for a number of years but this was not seamless to the user. The new functionality is!

The new release of Glassfish (v3) has also been componentised (a theme of the day) so that the runtime at startup now is less than 100kbytes. Through project babelfish scripting languages have now become a 1st class citizen of the Glassfish environment. Glassfish v3 is also not completely OSGi compliant. Also included is the self registration of 3rd party extension APIs making to much easier for developers to include them and use them. 

Rich also announce Project Hydrazine and Project Insight.  Project Hydrazine promises to offer en end to end service deliver platform based on cloud/utility computing for service delivery all developed in open source. Project Insight will then allow the developer of these services to run a series of analytics to to look at usage of a service and discover business models and opportunities.

There was also during the day much demonstration of applications developed in JavaFX offering rich user experiences developed in hours and days rather than weeks and months.

The grand finally was Neil Young demoing what he is doing with BluRay DVD. This was extremely compelling. So far I have resisted the urge to acquire and form of next gen DVD. For once I wanted to see the standards battle play out before I backed any horse (I am also looking for some additional functionality which I can't seem to find today but more of that in another post). The Neil Young BluRay however may be the thing that drives me to purchase a device. It allows the user to browse through images, articles and videos while listening to the music as well as navigating the music and seamlessly accessing additional content from the net. What the video you will see what I mean. As Neil Young put it - "This demo is pre-recorded and not live so we KNOW that it WILL work".

Tuesday May 06, 2008

Community One

This week I am in San Francisco attending the JavaOne developers conference. The day before JavaOne I attended Sun's Open Source software conference - CommunityOne. The big announcement was the availability of the binary distribution of Open Solaris. The is the first main release of what was known in development as project Indiana. It includes a new package management system (IPS) similar to the Debian system with online package repositories. I have been using the developer previews of Indiana and have been extremely impressed and I can't wait to try the new Open Solaris release. Another new interesting feature for developers is D-Light using Sun Studio 12. Open Solaris is the first OS release to use ZFS as it's default filesystem. The demo of ZFS at the keynote makes watching the webcast worth while involving disk drives, an anvil, a sledgehammer and a power drill. The rest I leave to your imagination or watch the recording. Great for releasing aggression.

Another announcement was the new release of Virtual Box (version 1.6). This  brings support for MAC OS and Open Solaris out of beta and into the full product. Another cool feature that was demoed was the ability to have virtual applications on your native desktop. What does this mean? Well typically when using a type II V12N technology you have a Native window in which the VM is running and you see the complete virtual desktop with all the virtualised applications running as sub windows within the virtualised desktop. Now you can have individual virtualised applications running as separate windows on your native desktop without the need to have a separate virtual desktop window. Each virtualised application then appears much more like a native application. Another interesting feature is the ability to read and boot from VMDK files. At the moment it can't create VMDK files but it can run and edit them.

 Another interesting session that I attended was project Social Site. I need to look into this further.

A final note was it was interesting to note that at this developer event the large number of MAC users there were. A quick count at the sessions that I attended they made up 50% of the laptops visible.

Thursday Nov 08, 2007

Developer Resources

I was asked recently to compile a list of resources and information that was available on line globally (and the implication of the question was free of charge) that were available for developers using Sun technology to assist with learning, education and support. I though that the information might be of interest to others so I have posted it here. Anyone interested in this should also consider Sun Learning Services who provide a wide range of high quality training and certification course online and instructor lead around the world.

 

Information and Learning Resources

for Solaris and Java Developers

 

Sun Developer Network

For all users of Sun Products and Technologies this is a rich source of information. Sections cover all forms of Java Development (eg. Enterprise, Desktop, Consumer, Wireless, SmartCard) as well as Developers and System Administrators for Solaris. It is designed to provide information to all levels of expertise from begineers to seasoned experts.

The two NEW centres provide introductory training  for both  Java developers and for Solaris Developers.

Some of the information is completely open and some requires the developer to register with the developer network. Registration for the developer network is free. The type of resources availabel includes on line training, FAQs, HowTos, early access code, free download of tools and software and examples. There are also a number of communities and discssion groups on specific products and technologies from which help can be obtained.

JavaOne Conference Materials

As the premier global developers conference for Java Developers and all other users of Java the event generates a considerable amount of content that is available on line. There are video recordings of all of the keynote sessions and also copies of all the presentations from the technical sessions. There are also multimedia versions of many of the technical sessions available to registered users of Sun Developer Network.

BigAdmin

A community of Solaris users, adminstrators and developers it has a wealth of information about Solaris from both Sun and the wider community of users.

PodCasts

The feedroom provides a wide variety of video sessions from Sun.

Also available are a number of podcasts.
Also a search on YouTube and Google Videos for Sun Microsystems yields a number of videos about Sun technology and products.

Blogs

Sun actively encourages it's employees to blog. Many of these blogs are produced by individuals or groups from the engineering and technical community. As well as providing a rich source of information direct from Sun's technical community it also provides the opportunity to have informal interactions with the authors view the comments section. I have highlight a small collection of blogs below.

User Groups

Open Source & Communities

Many of the open source collaboration sites offer documentation, community forums, FAQs and How-tos which can be invaluable sources of information and learning. There is a full list of Sun's Open Source projects on Sun's Website and some of the most popular sites for developers are listed below.
  • CoolTools - A set of tools optimised for the Open SPARC platform that is using in the T1000/T2000 family of CoolThreads Servers.
  • CoolStack - An optimised version of the Open Source web stack of Apache, MySQL, Perl, PHP, Squid and TomCat tuned for the OpenSPARC and coolthreads platforms.
  • Java.net - Collaboration site for the Java Community
  • Open Solaris
  • Open Office
  • Open JDK - Home of the Open Source Java Standard Edition community.
  • Glassfish - The Java Enterprise Edition and Application Server community
  • Open DS - The Open Directory Server Project
  • NetBeans - The open source developer tools
  • Sun Grid
  • Mobile and Embedded community - The open source project and cummunity for Java in consumer, mobile and embedded applications.
  • OpenSPARC - The OpenSource of the T-series of SPARC microprocessors
  • Open ESB - The Open Enterprise Service Bus project is an open source implementation of the JBI specification.
  • Open Media Commons - Includiing Project DReaM this is an open source project to develop uncumbered solutions for digital media including digital rights management.
  • Open SSO - An open source implementation of single sign on, access control, authentication and distributed idenity management.

Monday Oct 15, 2007

SunRay at Home

I arrived back from the CEC in Las Vegas to find a package on the door step containing my new SunRay at home package. This is the way that computing should be. In less than 5 minutes I was up and running - no installation or configuration except to enter a 4 digit pin. I simply connected the SunRay 2 base unit to my KVM, power and the ethernet router. The VPN software is now installed in the SunRay firmware so no need for an additional VPN router. Now my desktop compute session can not only migrate around the planet from one Sun office to another as I travel but can now also migrate from home to work and visa versa simply following my smart ID card.

Friday Jul 13, 2007

Interview with DTrace Team

Robert Scoble has posted an interesting interview with the creators of DTrace at Sun as part of his ScobleShow series of video podcasts. For anyone wanting to get started with DTrace the DTraceToolkit is a great place to start.

Tuesday Jan 02, 2007

Virtualisation - Hype, Habit or Helpful

From the conversations that I have with my colleagues at Sun Microsystems, with friends and colleagues in the industry and with customers there is certainly plenty of hype surrounding virtualisation. It even has it's own acronym - V12N - there are 12 letters between the V and the N in virtualisation as there are 18 between the I and the N in internationalisation - I18N. In common with anything that achieves this level of hype we often loose track of what the real problem is that we are trying to solve and we also suffer the risk that many people can easily loose interest believing it to be nothing but hype. A colleague of mine once said that the problem with technologists was that we spent the minimum possible time analysing the problem until we could find a tool or technology that might solve the problem and then focused on deploying the tool as the panacea to all problems that might look similar. I like to believe that some of us, at least some of the time, can step beyond this statement but let's face it we have all been guilty of it at one point our career.

So let's take a step back and look at the problem which virtualisation is trying to solve and also take a look around at what other tools we might deployed in the fight before we come back to virtualisation and where it has a role to play.

The real problem that we are trying to address is utilisation, or to be more precise the lack of it. This under utilisation of IT resources is driving a complete over use of power (both for the systems themselves and for cooling these systems) which at the moment is largely a non-renewable source of energy. So one solution might be to find a renewable, infinite source of power that does not effect climate change! This I think may be the subject for someone else's blog. The other problem that this under utilisation is driving is a physical space issue. Finally there is the cost of servicing and support of this largely under utilised resources.

When I first started my interest in technology and computing the idea of NOT having to share the resources that you used was simply did not exists. The cost of acquisition of the resources meant that this was not economically viable and nobody expect to have a “Personal Computer”. Yes I know that this dates. Today it is no longer the cost of acquisition (which has fallen so low as to be almost irrelevant) that is the issue but the cost of ownership, system management, maintenance, space, power and cooling. The fall in the cost of acquisition has meant that our expectation of accessing computing resources as changed. The mind-set now is that I must own the computing resources that I use. The applies at all levels from the data centre to the end user. Many end users will now be screaming that this is not true I use many network based services and resources, such as e-mail, calendar, database, web, etc. that I do not own - bear with me for a minute or two longer.

The expectation of the desktop user is that the way that I need to access the network is with their own computing device (laptop, PC, PDA) – look at the large “My Computer” label in current versions of Windows if you still don't believe me. This behaviour leads to some of the lowest utilisation levels around. Even for a "power user" less that 5% and for most users less that 1%. Before you start screaming about these numbers being too low (my load monitor averages >70%), think about how many hours does your desktop or laptop spend switched off, on standby or worse still just running a screensaver. Then think of how much load the machine has for the majority of the time that we are using it. We have designed a solution that is scoped for a peak load condition that will NEVER EVER happen! All this to ensure that on the odd occasion that we need it all the resources in our machine they will be guaranteed available.

Now let's move into the data centre. A similar but slightly less out of control condition occurs here. In order to manage resource allocation and guarantee service levels we use the same mentality to deploy applications or services and ensure that they have their own infrastructure. While the service might be shared between multiple users the infrastructure that delivers the service is rarely shared between services. Estimates vary for utilisation in the data centre from between 20% to 50% but rarely exceed that.

So how do we try to address this problem. well basically we need to start changing the mind-set to one of sharing resources. This is where the habitual comes in. The biggest issue that we face is to break the bad habits that have lead to the current state of affairs.

One way is to take a physical machine and divide it into a number of virtual machines and allocate these virtual machines to users. Virtualisation. As I mention this is by no means the only approach and is not really breaking the habit, just virtualising the problem. Why not just share the system. In the case of Windows, Linux and Solaris now have the ability to support multiple users sharing the same system. Provided that applications are written in such a way that they expect to see multiple users and multiple instances of the application on the same system then you can share. All you need to ensure is appropriate resource management is in place and there is appropriate security between users. Solaris Resource Manager and Solaris security and privileges proves such a set of mechanisms. Talking this a step further Containers in Solaris 10 provide a way of dividing a single OS instance so that it can look to the application layer as multiple instances of the OS. This provides a very light weight (performance and licensing - it is free with free Solaris 10) way of having multiple versions of the same OS and because it use a single underlying OS instance the cost and complexity of OS management, maintaince and patching is significantly reduced.

Another technique is the physical isolation of hardware resources that can be managed dynamically without the need for system restart or reboots. This type of technique has been deployed in the higher end sun Machines since 1997 in the form of domains. With the recently announced Logical Domains within the T1000/T2000 family of servers this hardware isolation is now brought inside a single CPU and offered at the hardware threading level. LDOMs also brings the approach within the reach of cheaper horizontally scalable systems rather then purely the reserve of larger vertically scalable SMP systems.

The next approach is the hypervisor or virtual machines offered by Xen or VMware for x86 based architectures and similarly at a hardware level Logical Domains provides a hypervisor for SPARC based CMT systems with out the cost (no licensing required) and performance overhead of an additional software layer. These techniques allow you the flexibility to install on the same machine mutiple different OS versions or types. For example VMware and Xen will support Linux, Windows and Solaris amongst other and LDOMs supports BSD, Linux and Solaris.

So far we have talked about dividing resources between multiple tasks at a single point in time but what abut sharing resources over time. Particularly with horizontally scaling applications a system built for peak load will have a number of systems idle for long periods of time. Why not reuse these for something else. if the peak loads for various services can be mapped to different times the this re-provisioning of systems becomes an option, and not a hypervisor VM in sight. To do this you need to start to took across services - sharing within company or god forbid sharing between organisations. this was the concept behind the dollar per CPU per hour utility computing service from Sun. Much has been learnt from building this service in managing multi-tenancy of a pool of resources that we are currently using to help large organisation to deploy within their own infrastructure to provide resource sharing and billing between departments in the same organisation.

So what are the conclusions of this rant. first don't get CAUGHT UP IN THE HYPE of virtualisation. Take a step back and define the problem you want to address and PRAMATERISE THAT PROBLEM. Do not get caught up in selecting tools and technology until you have your problem statement defined. Do NOT UNDER estimate the cultural and behavioural change that is required to yield benefits from this approach. This will be by far the hardest problem to solve rather that products, technology or process. An essential first step in improving utilisation, desktop or data centre is a strong standardisation and governance. Without this you do not have the option to share since everything is bespoke.

Virtulisation is one weapon in the armoury but by no means it the only one.

We must solve the problem of utilisation in order to prevent the continual drive for new technology coupled with reducing utilisation driving the power and cooling requirements to such a point that it destroys the planet on which we need to house this equipment.

Tuesday Dec 05, 2006

Virtualising the Desktop

In spring 2005, nearly 2 years ago, I started on a brainstorming session with a couple of people from Reuter's CTO office which started a train of events that was to lead to the delivery of a virtual desktop infrastructure that has now been deployed in Reuter's newest development facility in Beijing.

The problem that Reuter's were facing and trying to address is one that is common to many software development organisations. Each developer had on his or her desk several machines. One which acted as their main “desktop” running standard things like email, web, desktop publishing, etc, these machines were centrally managed. The other machines were behind a local firewall/router and had little or no central control, these machines were to provide development, test and build environments and were unique to the developer or the project that they were assigned to. The problem was that when you looked at the total estate it was large (typical estimates for this type of environment are between 2 to 4 machines per developer), heavily under utilised, taking developers time away from their day jobs to administer the systems and not standardisation of tools or versions of applications being used. It was also difficult if not impossible to get a handle on when or indeed if resources (software and hardware) were being re-used or recycled between project or if geographically distributed development teams were duplicating resources. The solution that we were looking for therefore needed to address the following needs.

  • Reduce Costs – Ownership and aquisition
  • Improve Standardisation – Common tools and environments, enable sharing and re-use
  • Share Infrastructure – enhance utilisation
  • Asset Management
  • Security & Audit
  • Mobility
  • Resilience – Political, Pandemic, Geophysical, Meteorological
  • Support for Windows, Solaris and Linux developers

 

The solution that we came up with has been called a number of things none of which truly describe the solution adequately. These include Common Developer Desktop, Thin Client Desktop, Utility Desktop and Display Utility. In actual fact what we did was to first virtualise the machines that developers had previously had on or around their desks and move them back into a shared piece of infrastructure that could be housed in a machine room or data centre. We then provided an access layer that allowed access to the system through a variety of client devices. The client devices included a browser based thin client application (Sun Secure Global Desktop) either locally or remotely, Sun Ray devices on a local area network and remote Sun Ray devices. Access control was managed by interfacing to the Reuter's pre-existing Active Directory system for authentication and authorisation and was via secure username/password authentication from SSGD or JavaCard when using the Sun Ray devices. The infrastructure virtualisation was provided by Vmware ESX for the Windows environments and by Solaris Zones and Logical Domains for the Solaris Environments.

I will talk in some more detail around the solution architecture and how it delivers the various benefits requested in later postings but it does seem that increasing numbers of people are beginning to wake up to this type of approach. Desktop Virtualisation is in danger of being deployed before data centre virtualisation. Also as the pressures of space, power and cooling start to hit office facilities in our big cities this approach provides a solution.

 

Architecture Overview
 

 

About

seanharris

Search

Archives
« April 2014
MonTueWedThuFriSatSun
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today