



On the 8th June 2010 Brisbane will have its first ever CloudCamp event. I’m very excited about this. I’ve had my head in the Azure space for so long I’ve somewhat neglected what everyone else is doing.
Register for CloudCamp Brisbane here.
Here’s the line direct from the website:
CloudCamp is an unconference where early adopters of Cloud Computing technologies exchange ideas. With the rapid change occurring in the industry, we need a place where we can meet to share our experiences, challenges and solutions. At CloudCamp, you are encouraged to share your thoughts in several open discussions, as we strive for the advancement of Cloud Computing. End users, IT professionals and vendors are all encouraged to participate.
And the tentative schedule:
The event will be held at Griffith University’s Nathan Campus. Three rooms have been allocated to us (for free thanks to the School of Computing and Information Technology)
As you can see from the map, the University is right in the middle of Toohey Forest.
Getting to and from the University is relatively easy. The two main options are driving and buses (there is no train station close by).
Parking will cost. Campus security is very liberal with handing out fines so be prepared to pay for the full time period.
Buses are available from the city or from Garden City shopping centre.
Start prepping your talk ideas and come along. I look forward to meeting anyone else with their head in the clouds. Tell your friends!




User environment virtualization is not a concept I had heard of before a week ago.
Desktop virtualization seems all the rage within organisations currently. As a consultant I float around between companies and although my focus is the development space, I often overhear other goings-on within the IT departments and this is certainly a big focus for a lot of medium-large businesses and government agencies. Desktop virtualization is about separating the desktop operating environment from the underlying hardware, keeping this ‘virtualized desktop’ on a central server. Some examples of desktop virtualization are Citrix XenDesktop and Sun Virtual Desktop Infrastructure.
Application virtualization is certainly nothing new either. This is about separating the application from the desktop environment, installing applications on demand or through streaming to the desktop environment as requested. App virtualization has been around for a long time in some form or another. Some current examples of app virtualization products include Citrix XenApp and Novell ZENworks Application Virtualization.
The advantages of both of these technologies is that you can move from workstation to workstation, taking your desktop or applications (or both) with you.
But there is something missing here, something I will try to illustrate with an example. In this scenario your organisation makes use of application virtualization. Your user ‘Michelle’ is a .Net developer and needs to move from one workstation to another. After she logs in to her new workstation, the apps for which she has licenses are delivered to her new desktop. Unfortunately she has to reconfigure her new desktop and customise the applications to her preferred settings. Michelle sets her web browser homepage and because her company doesn’t use roaming desktops, she needs to insert her browser favourites again. When she opens MS Word she needs to change her default template. Finally she opens Visual Studio and is facing all the vanilla defaults. She needs to install a special code colouring theme that helps her eyes adjust, and rearranges all the dockable windows into the spots she prefers. Of course, SQL Management Studio has no idea about her default connections – they were stored on the other machine, so she needs to add them again, except of course she can’t remember them all.
I think you get the idea. User specific environment settings are pretty important. Every single application we use has some sort of customisable settings, and most power users find it a hassle (and lose productivity) when they need to reconfigure those applications. As a software developers, I can (and have done) write settings providers and store those settings in a central repository. That’s great for our app, but it does little to help a user with their other apps, and more importantly, doesn’t help consolidating user settings. It makes sense to have a unifying solution that can abstract the settings from our applications. That’s where AppSense steps in.
Last week I had a chat with the VP of Strategy at AppSense, Martin Ingram. Martin led me through the product suite and we had a good chat about cloud computing in general before focusing on the product itself. AppSense is about environment virtualization, centralising settings for all your applications such that they are available wherever you login, regardless of your organisation’s Desktop and Application Virtualization strategies (or lack there of). Quoting the AppSense Environment Manager product page:
AppSense Environment Manager provides users with a ‘follow me’ personality – providing the same managed yet personal experience regardless of how the desktop is delivered. Combinations of virtual, local, published, streamed and provisioned desktop components are dynamically personalized as the employee uses them – enabling IT to use best of breed technologies without having to worry about consistency of user experience.
What I thought was really cool about AppSense is the operating system abstraction. Imagine if you moved over to a Mac and you still received the same application settings! Or perhaps you aren’t using any desktop or app virtualization at all, and want your standard installed application settings transferred to a new workstation if that app is installed. AppSense does all this and more.
Here’s how it works. An agent (on PC its a Windows Service) is installed that talks back to a centralised service. This agent has hooks in the operating system that let it intercept reads/writes to all the places where configuration can occur: registray, file system, and even database calls (with a little configuration). Those settings are then abstracted to a neutral XML format, and stored in a database (for versioning reasons). When the user logs in to another machine with a different OS, the agent on that machine knows how to convert the XML back into the appropriate settings for that OS type. To me, it appears to be a very pluggable model.
The great thing about the implementation is that it allows environment virtualization delivery from anywhere, making it a great fit for the cloud. The actual payload (XML) is quite small because the local agent does all the work. They are also considering/prototyping some more enterprise agnostic solutions to environment virtualization and delivery for the common user. I look forward to seeing where they can take the product. I’ve already told Martin that as a consultant I find myself on a different computer every week as I move between clients. Environment virtualization is ideal for me because I have so many apps that I need to configure that I tend to stick with vanilla defaults. Why should I have to make that compromise? I’m imagining an AppSense online profile where with a simple click I can have my local workstation configured exactly how I like it, no matter where I am.
AppSense currently has about 180 employees world wide and seems to be the leader in this field. Their Environment manager product is somewhat unique although there are similar offerings available. It is written in C# and C++, and the development team seems to have adopted some Agile principles. They use TFS for source control, reporting and item tracking, and have even extended it through its APIs to better support their process.
If you think your organisation needs user environment virutliazation, I suggest you go check out AppSense.




Just a quick post to let you know about CloudCamp Sydney: its on tomorrow! (27th August 2009)
Register here:
http://www.cloudcamp.com/?page_id=1045
Unfortunately I can’t make it.




When I was searching for an appropriate definition of ‘Multitenancy’ to quote, I found that people and organisations had differing opinions of what it really means. Even the Wikipedia article claims that different organisations are ‘using it as source of competitive differentiation’.
This could be true, but perhaps the term is just evolving. In a few short years the cloud landscape (ok lets call it the ‘sky’) has changed quite a lot with numerous vendors entering into this growing, competitive market. The original terminology has been abstracted and reapplied to new forms of virtualization.
If you scroll back through the calendar a few years I think there would have been a general consensus of what the term means. Gianpaolo from Microsoft once stated that in ‘a pure multi-tenant architecture a single instance of the hosted application is capable of servicing all customers (tenants)’. The key idea is that an application is deemed multi-tenant if it can service multiple clients in a unique fashion from a single instance of the application.
A good example that comes to mind is DotNetNuke. It is a CMS system that supports multiple unique portals. Each portal can be stand-alone and secured separately from one another, while still leveraging a single code base and database. It is the configuration that allows the separation.
A more SaaS example is salesforce.com where you can perform customer relationship management from the cloud. Every salesforce client is secured away from other clients, each instance presumably sandboxed from another.
So why would the term ‘multitenancy’ change over time?
Lets think about what the term means in a literal sense: multiple tenants. In other words, there can be many residents at a multitenant location, just like a rental house tenanted by multiple people. So what if instead of a house we had a server? Every server can have multiple applications installed – file services, DNS, Active Directory, DHCP services, etc. To me, that sounds like a server has multiple tenants.
What about virtualization? Multiple virtual machines running on a single host? Sounds like multiple tenants to me. In fact when you think about it in such simple terms, then anything could be multitenant. My head has billions of hairs – its multitenant. My street has many houses – its multitenant. The Azure Fabric has many servers – its multitenant. Each server has multiple virtual machines – they are all multitenant.
In summary, when Microsoft or any other company refer to something in their technology stack as ‘multitenant’ then there’s a fairly strong chance that it really is. In my opinion, the Wikipedia article on multitenancy needs some revision.


More Options ...

Categories
Tag Cloud
Blog RSS
Comments RSS

Void
Life
Earth
Wind « Default
Water
Fire
Light 