Very well done! A bonus Christmas present. Fix the security issue(s) rather than ignore them and attempt to silence those who might call attention to them. OK, the latter might be cheaper and easier in the short term, but as a user I'd much prefer the former was the avenue explored!
And the thesis can be obtained from here.
Tuesday, December 28, 2010
Friday, December 24, 2010
I must be a traditionalist?
Two of my favourite movies at any time of year, but particularly at Christmas, are Scrooge with Alastair Sim (the definitive version IMO, with only Scrooged coming close) and It's a Wonderful Life. Both in black and white as they were intended originally. So what happens this year? The TV is showing colourised versions of them! No, no, no, no, no! That is wrong on so many levels! Almost as bad as "dogs and cats living together".
Now it's entirely likely that if colour film had existed when both movies were made then the directors would have chosen it and those movies would likely look and feel different to their colourised cousins. But the fact is that it wasn't and the film director's, writers etc. used the black and white medium to great effect. It's part of the atmosphere of the movies and is so ingrained in the making of them that when you watch you don't notice it's not in colour. And when you see it in colour today it's just wrong. Almost like watching a program or film based on something that was intended originally for radio. The act of moving it from one medium to another alters it, but rarely do the people involved in that alteration seem to understand that or take it into account.
Colourising films is a great example of the adage that "just because you can do something doesn't mean you should"! So if you have a choice between seeing the above two movies in colour or black and white, I recommend sticking with the original. You won't be disappointed.
Now it's entirely likely that if colour film had existed when both movies were made then the directors would have chosen it and those movies would likely look and feel different to their colourised cousins. But the fact is that it wasn't and the film director's, writers etc. used the black and white medium to great effect. It's part of the atmosphere of the movies and is so ingrained in the making of them that when you watch you don't notice it's not in colour. And when you see it in colour today it's just wrong. Almost like watching a program or film based on something that was intended originally for radio. The act of moving it from one medium to another alters it, but rarely do the people involved in that alteration seem to understand that or take it into account.
Colourising films is a great example of the adage that "just because you can do something doesn't mean you should"! So if you have a choice between seeing the above two movies in colour or black and white, I recommend sticking with the original. You won't be disappointed.
Thursday, December 23, 2010
A late Christmas present?
It's probably too late to expect this for Christmas, but I think a reprint of Geoffrey Hoyle's book is definitely on the cards for the new year!
Wednesday, December 22, 2010
End of an era
It's a bit of a sad day today. For over 10 years I've been using an HP Jornada 720 for a lot more than it was originally intended. But since I got it in 2000 it has become harder and harder to interface it with any of my desktop or laptop machines. You tend not to find machines today with IR or RS232 ports! And getting up-to-date versions of Java for it, for example, have proven difficult, to say the least!
Ultimately over the last couple of years I've been using it as a glorified address book. But as I use my smartphone more, or the built-in equivalent applications on my laptop, resorting to the Jornada became more and more of a hassle. So despite the fact that it is the machine I've used the longest over the past 30 years, I've decided to retire it and it is now resting comfortably in the loft. Maybe, just maybe, I'll resurrect it if the need arises. Until then I'll have fond memories of one of the best and most versatile machines HP ever built!
Ultimately over the last couple of years I've been using it as a glorified address book. But as I use my smartphone more, or the built-in equivalent applications on my laptop, resorting to the Jornada became more and more of a hassle. So despite the fact that it is the machine I've used the longest over the past 30 years, I've decided to retire it and it is now resting comfortably in the loft. Maybe, just maybe, I'll resurrect it if the need arises. Until then I'll have fond memories of one of the best and most versatile machines HP ever built!
Monday, December 20, 2010
JUDCon 2011 in Boston
I've been thinking about tracks for JUDCon next year and posted a preliminary Call for Presentations earlier today. Take a look if you're at all interested in JBoss as a developer or as a user.
IO
Recently I've been reading up on IO the language, not to be confused with IO the moon of Jupiter. It's a very interesting prototype language, based on very few concepts (everything's either an object or a message, objects have slots which are either attributes or methods). It reminds me a lot of Smalltalk. But what surprises me the most is that it is such an extremely simple language and yet it's possible to do some extremely complex things with it. Although this wasn't one of my original pet projects for Christmas, I think it will be now!
I'm not sure if I'll take it further than that, but it's sufficiently different to other languages I've been playing with recently that it may well get some quality time from me as I figure out exactly what it's good for and where its limitations reside. If you're looking for something different in the language arena then take a look too. It won't take long to get to grips with the basics and you might well be pleasantly surprised by what you find.
I'm not sure if I'll take it further than that, but it's sufficiently different to other languages I've been playing with recently that it may well get some quality time from me as I figure out exactly what it's good for and where its limitations reside. If you're looking for something different in the language arena then take a look too. It won't take long to get to grips with the basics and you might well be pleasantly surprised by what you find.
Sunday, December 19, 2010
Data on the outside (of the public Cloud) versus data on the inside (of the public Cloud)
A few years back Pat Helland wrote a nice paper about the issues of data outside and inside the services boundary and how the locale impacts traditional transaction semantics. This was around the time that there was a lot of work and publicity around extended transaction models. Pat used an analogy to relativity to drive home his point, whereas I'd been using quantum mechanics analogies. But regardless of how it is explained, the idea is that data and where it is located, is ultimately the bottleneck to scalability if total consistency is required (in a finite period of time).
So what's this got to do with Cloud? Well I've been thinking a lot about Cloud for quite a while (depending on your definition of Cloud, it could stretch back decades!) There are many problem areas that need to be worked out for the Cloud to truly succeed, including security, fault tolerance, reliability and performance. Some of these are related directly to why I believe private Clouds will be the norm for most applications.
But probably the prime reason why I think public Clouds won't continue to hog the limelight for enterprise or mission critical applications is the data issue. Processor speeds continue to increase (well, maybe not individual processor speeds, but when stuck on the same chip the result is the same), memory speeds increase, even disk speeds are increasing when you factor in the growing use of solid state. Network speeds have always lagged behind and that continues to be the case. If you don't have much data/information, or most of it is volatile and generated as part of the computation, then moving to a public cloud may make sense (assuming the problems I mentioned before are resolved). But for those users and applications that have copious amounts of data, moving it into the public cloud is going in the wrong direction: moving the computation to the data makes far more sense.
Now don't get me wrong. I'm not suggesting that public clouds aren't useful and won't remain useful. It's how they are used that will change for certain types of application. Data has always been critical to businesses and individuals, whether you're the largest online advertiser trying to amass as much information as possible, or whether you're just looking to maintain your own financial data. Trusting who to share that information with is always going to be an issue because it is related directly to control: do you control your own information when you need it or do you rely on someone else to help (or get in the way)? I suspect that for the vast majority of people/companies, the answer will be that they want to retain control over their data. (Over the years that may change, in the same way that banks became more trusted versus keeping your money under the mattress; though perhaps the bank analogy and trust isn't such a good one these days!)
Therefore, I think where the data will reside will define the future of cloud and that really means private cloud. Public clouds will be useful for cloud bursting and number crunching for certain types of application, and of course there will be users who can commit entirely to the public cloud (assuming all of the above issues are resolved) because they don't have critical data stores in which they rely or because they don't have existing infrastructure that can be turned into a protected (private) cloud. So what I'm suggesting is that data on the outside of the public cloud, i.e., within the private cloud, will dominate over data on the inside of the public cloud. Of course only time will tell, but if I were a betting man ...
So what's this got to do with Cloud? Well I've been thinking a lot about Cloud for quite a while (depending on your definition of Cloud, it could stretch back decades!) There are many problem areas that need to be worked out for the Cloud to truly succeed, including security, fault tolerance, reliability and performance. Some of these are related directly to why I believe private Clouds will be the norm for most applications.
But probably the prime reason why I think public Clouds won't continue to hog the limelight for enterprise or mission critical applications is the data issue. Processor speeds continue to increase (well, maybe not individual processor speeds, but when stuck on the same chip the result is the same), memory speeds increase, even disk speeds are increasing when you factor in the growing use of solid state. Network speeds have always lagged behind and that continues to be the case. If you don't have much data/information, or most of it is volatile and generated as part of the computation, then moving to a public cloud may make sense (assuming the problems I mentioned before are resolved). But for those users and applications that have copious amounts of data, moving it into the public cloud is going in the wrong direction: moving the computation to the data makes far more sense.
Now don't get me wrong. I'm not suggesting that public clouds aren't useful and won't remain useful. It's how they are used that will change for certain types of application. Data has always been critical to businesses and individuals, whether you're the largest online advertiser trying to amass as much information as possible, or whether you're just looking to maintain your own financial data. Trusting who to share that information with is always going to be an issue because it is related directly to control: do you control your own information when you need it or do you rely on someone else to help (or get in the way)? I suspect that for the vast majority of people/companies, the answer will be that they want to retain control over their data. (Over the years that may change, in the same way that banks became more trusted versus keeping your money under the mattress; though perhaps the bank analogy and trust isn't such a good one these days!)
Therefore, I think where the data will reside will define the future of cloud and that really means private cloud. Public clouds will be useful for cloud bursting and number crunching for certain types of application, and of course there will be users who can commit entirely to the public cloud (assuming all of the above issues are resolved) because they don't have critical data stores in which they rely or because they don't have existing infrastructure that can be turned into a protected (private) cloud. So what I'm suggesting is that data on the outside of the public cloud, i.e., within the private cloud, will dominate over data on the inside of the public cloud. Of course only time will tell, but if I were a betting man ...
Saturday, December 18, 2010
It's Christmas!
In the immortal words of the great Noddy Holder and Slade ... It's Christmas (or will be very soon!) I have a couple of weeks off due to not taking much vacation throughout 2010 (which is a pattern I seem to follow every year). So as is usual for any vacation (at least mine), I've written a list, checked it twice, ruled out those things that are naughty, leaving only those that are nice and come up with way more things that I can do in the time available. But hey, it's better to be over active than under!
So what's in the list? Well there's the usual smattering of work related efforts. But I've tried to make the majority of them "pet projects". Of course they'll probably have some impact on work eventually, but that's not the reason for them at this point. Top of my list is doing some refreshers on some languages I haven't had a chance to use much recently, including Ruby and Erlang. Then I've got a paper I want to write on REST and transactions with Bill and Mike (OK, so this is work related, but I do like writing papers, so it almost doesn't count). I want to do some work on JavaSim too and if there's time, get back to my STM effort.
Lots to do. Lots to look forward to. Oh and then there's Christmas too! I love this time of year.
So what's in the list? Well there's the usual smattering of work related efforts. But I've tried to make the majority of them "pet projects". Of course they'll probably have some impact on work eventually, but that's not the reason for them at this point. Top of my list is doing some refreshers on some languages I haven't had a chance to use much recently, including Ruby and Erlang. Then I've got a paper I want to write on REST and transactions with Bill and Mike (OK, so this is work related, but I do like writing papers, so it almost doesn't count). I want to do some work on JavaSim too and if there's time, get back to my STM effort.
Lots to do. Lots to look forward to. Oh and then there's Christmas too! I love this time of year.
Wednesday, December 15, 2010
Another CloudBees acquisition
This is *not* a CloudBees blog, but yet again I have to say congratulations to Sacha and the team for their latest announcement! Very impressive move.
Sunday, December 12, 2010
Wednesday, December 08, 2010
Cloud 2.0? Give me a break!
Over 4 years ago a group of analysts and vendors got together to try and rally around the term SOA 2.0. In an attempt to stop that in its tracks, I said a few things that maybe played a smaller part in helping to show the problems behind the term. I haven't seen or heard of SOA 2.0 much since, so maybe the community effort helped to bring a little sense to the world.
Unfortunately it seems that adding 2.0 to something is still a favourite pastime for those that either can't figure out a good name, or simply don't understand why it works for Web 2.0. With today's announcement that Salesforce have bought Heroku, it seems that we've entered the world of 'Cloud 2'! Oh come on! Let's inject some reality into this again, before it gets jumped on by other vendors or analysts that believe an increment to a term really makes a difference when the technology or architecture hasn't actually evolved.
Apparently Cloud 2 is oriented around social, mobile and real-time. So is this hard real-time, soft real-time, or some other form of real-time, given that when you're using applications in the Cloud today the response is happening in your frame of reference and within your lifetime!
I do believe that the current perception of Cloud is limited to servers and that does need to change, but that can be sorted out by having a true architectural definition of Cloud that is agreed by everyone. But there's no need to call it Cloud 2. In fact that just adds more confusion!
And social aspects of Cloud? Well I'm not a big fan of social networks; I think they're anti-social: go down the pub to see your friends, don't chat to them on IRC!
So let's get a grip on reality! Sticking 2 on the end in the hopes that it'll help will only do the opposite. And as I said for SOA 2.0, if this "social, real-time and mobile" Cloud really is different than what we're getting used to today, then coin a proper term for it, e.g., The Social Cloud.
Unfortunately it seems that adding 2.0 to something is still a favourite pastime for those that either can't figure out a good name, or simply don't understand why it works for Web 2.0. With today's announcement that Salesforce have bought Heroku, it seems that we've entered the world of 'Cloud 2'! Oh come on! Let's inject some reality into this again, before it gets jumped on by other vendors or analysts that believe an increment to a term really makes a difference when the technology or architecture hasn't actually evolved.
Apparently Cloud 2 is oriented around social, mobile and real-time. So is this hard real-time, soft real-time, or some other form of real-time, given that when you're using applications in the Cloud today the response is happening in your frame of reference and within your lifetime!
I do believe that the current perception of Cloud is limited to servers and that does need to change, but that can be sorted out by having a true architectural definition of Cloud that is agreed by everyone. But there's no need to call it Cloud 2. In fact that just adds more confusion!
And social aspects of Cloud? Well I'm not a big fan of social networks; I think they're anti-social: go down the pub to see your friends, don't chat to them on IRC!
So let's get a grip on reality! Sticking 2 on the end in the hopes that it'll help will only do the opposite. And as I said for SOA 2.0, if this "social, real-time and mobile" Cloud really is different than what we're getting used to today, then coin a proper term for it, e.g., The Social Cloud.
Tuesday, November 30, 2010
More sad news!
I met Maurice Wilkes a few times when he came to the University to talk. So it's sad to hear that he has passed away. Definitely a pioneer and definitely a very nice man. A sad day indeed.
Monday, November 29, 2010
Android woes coming to an end!
My time as an Android user is drawing to a close. I may come back when they sort things out so that I am no longer at the mercy of the vague policies from then handset manufacturers or operators for upgrades, when in reality they really want me to buy a new phone and contact every 6 months in order to get even security upgrades.
It was fun whilst it lasted and even with the benefit of hindsight I think it was the right choice at the time. However, it has left a bad taste and Google needs to sort out the mess. Until then I'll probably move to an iPhone. And I can't really think of a better way of putting it than Douglas Adams: So Long, And Thanks for All the Fish!
It was fun whilst it lasted and even with the benefit of hindsight I think it was the right choice at the time. However, it has left a bad taste and Google needs to sort out the mess. Until then I'll probably move to an iPhone. And I can't really think of a better way of putting it than Douglas Adams: So Long, And Thanks for All the Fish!
Sunday, November 21, 2010
Management and PaaS
Many years ago I spent a few years working for HP as a Distinguished Engineer via their acquisition of Bluestone. Now I learnt a lot through that experience and one of those things was the importance of system management software such as OpenView. In truth I already knew, having done research with HP, IBM and others over the years prior to this; but spending quality time with the team was still informative and illuminating.
Managing middleware systems is a complex task, particularly if you want to do it efficiently and without adversely impacting the system that is being monitored/managed. (Almost like Schrodinger's Cat experiment!) But for large scale, dynamic systems such as those I mentioned previously, good monitoring and management is critical. This remains true if you remove the dynamic/autonomous aspects and assume that a human system administrator will be using the information provided.
This shouldn't come as a surprise. Even your favourite operating system has enjoyed monitoring and management capabilities of various quality over the decades. The good implementations tend to remain in the background doing their job and you don't even know they are there. And of course as soon as you add in the distributed factor, the need for good monitoring and management cannot be over stated.
But of course you can do without; it's just that you may then have to put up with sub-par performance or efficiency as you need to manually cope with failures, changes in network or machine characteristics, etc. Worse still, issues may go unnoticed until far too late, e.g., the lack of orphan detection can lead to multiple competing services corrupting data or conflicting with one another.
So why am I mentioning this? Is it because it's not obvious, or that I'm running out of interesting things to discuss? Not quite! It should be clear that management/monitoring software is important for middleware solutions (and others). Depending upon what you consider to be monitoring and management, it may be a core component of middleware, or a component in middleware (e.g., the previous example on orphan detection and elimination.) But if you're looking at a separate monitoring/management component or infrastructure, then you wouldn't consider that to be your development platform for arbitrary applications, right? You wouldn't, for instance, consider such a software system to be a replacement for your middleware platform, e.g., for CORBA or Java EE.
Over the years I've never heard anyone suggest such a thing, so this isn't something I've even considered people would think. However, recently this has come up in several conversations I've had. And yes, it's in the area of Cloud and specifically PaaS. The statements have been made that PaaS is the monitoring/management, or is all about the monitoring/management. Why would that be any more sensible a statement or position to take in the Cloud world if it wasn't sensible prior to Cloud? I really don't know. It doesn't make sense any more than ...
"Why would a Wookiee, an eight-foot tall Wookiee, want to live on Endor, with a bunch of two-foot tall Ewoks? That does not make sense! But more important, you have to ask yourself: What does this have to do with this case? Nothing. Ladies and gentlemen, it has nothing to do with this case! It does not make sense! Look at me. I'm a lawyer defending a major record company, and I'm talkin' about Chewbacca! Does that make sense? Ladies and gentlemen, I am not making any sense! None of this makes sense! And so you have to remember, when you're in that jury room deliberatin' and conjugatin' the Emancipation Proclamation, does it make sense? No! Ladies and gentlemen of this supposed jury, it does not make sense! If Chewbacca lives on Endor, you must acquit! The defense rests."
With PaaS we're talking about a Platform (the first letter in the acronym kind of gives it away). Now unless you're only developing applications, services or components for your favourite monitoring/management infrastructure, you'll probably consider your platform to be something else entirely, e.g., Java Enterprise Edition with all of its capabilities such as transactions, EJB3, POJOs, messaging, persistence etc. This (as an example) would be your definition of your platform. Very few people would consider OpenView (or whatever they're calling it these days) as their platform. So although something like OpenView, or even JON, are important to any platform, I certainly wouldn't consider them to be the platform.
Or maybe I'm missing something?!
Managing middleware systems is a complex task, particularly if you want to do it efficiently and without adversely impacting the system that is being monitored/managed. (Almost like Schrodinger's Cat experiment!) But for large scale, dynamic systems such as those I mentioned previously, good monitoring and management is critical. This remains true if you remove the dynamic/autonomous aspects and assume that a human system administrator will be using the information provided.
This shouldn't come as a surprise. Even your favourite operating system has enjoyed monitoring and management capabilities of various quality over the decades. The good implementations tend to remain in the background doing their job and you don't even know they are there. And of course as soon as you add in the distributed factor, the need for good monitoring and management cannot be over stated.
But of course you can do without; it's just that you may then have to put up with sub-par performance or efficiency as you need to manually cope with failures, changes in network or machine characteristics, etc. Worse still, issues may go unnoticed until far too late, e.g., the lack of orphan detection can lead to multiple competing services corrupting data or conflicting with one another.
So why am I mentioning this? Is it because it's not obvious, or that I'm running out of interesting things to discuss? Not quite! It should be clear that management/monitoring software is important for middleware solutions (and others). Depending upon what you consider to be monitoring and management, it may be a core component of middleware, or a component in middleware (e.g., the previous example on orphan detection and elimination.) But if you're looking at a separate monitoring/management component or infrastructure, then you wouldn't consider that to be your development platform for arbitrary applications, right? You wouldn't, for instance, consider such a software system to be a replacement for your middleware platform, e.g., for CORBA or Java EE.
Over the years I've never heard anyone suggest such a thing, so this isn't something I've even considered people would think. However, recently this has come up in several conversations I've had. And yes, it's in the area of Cloud and specifically PaaS. The statements have been made that PaaS is the monitoring/management, or is all about the monitoring/management. Why would that be any more sensible a statement or position to take in the Cloud world if it wasn't sensible prior to Cloud? I really don't know. It doesn't make sense any more than ...
"Why would a Wookiee, an eight-foot tall Wookiee, want to live on Endor, with a bunch of two-foot tall Ewoks? That does not make sense! But more important, you have to ask yourself: What does this have to do with this case? Nothing. Ladies and gentlemen, it has nothing to do with this case! It does not make sense! Look at me. I'm a lawyer defending a major record company, and I'm talkin' about Chewbacca! Does that make sense? Ladies and gentlemen, I am not making any sense! None of this makes sense! And so you have to remember, when you're in that jury room deliberatin' and conjugatin' the Emancipation Proclamation, does it make sense? No! Ladies and gentlemen of this supposed jury, it does not make sense! If Chewbacca lives on Endor, you must acquit! The defense rests."
With PaaS we're talking about a Platform (the first letter in the acronym kind of gives it away). Now unless you're only developing applications, services or components for your favourite monitoring/management infrastructure, you'll probably consider your platform to be something else entirely, e.g., Java Enterprise Edition with all of its capabilities such as transactions, EJB3, POJOs, messaging, persistence etc. This (as an example) would be your definition of your platform. Very few people would consider OpenView (or whatever they're calling it these days) as their platform. So although something like OpenView, or even JON, are important to any platform, I certainly wouldn't consider them to be the platform.
Or maybe I'm missing something?!
Friday, November 19, 2010
REST + transactions paper
We've been working on REST+transactions for a long time now, with a number of iterations and implementations spanning over a decade. After various discussions over the past few months I'm hoping that a few new organizations (academic and industrial) will be coming forward in the near future to help contribute to this work. However, I think it's time we wrote a paper on this and got it published. We've got enough material and experience to target a range of conferences and workshops. Plus I haven't written a paper in a while: I'm starting to feel rusty!
Iconic distributed systems research comes back around
Distributed systems research has been going on since the very first time someone decided to network multiple computers. Industry and academia have shared this burden and we're here today because of many different people and organisations. Some of this work is often referenced and built on, such as Lamport's paper on Time, Clocks and the Ordering of Events in a Distributed System, or RFC 707, concerning RPCs. But some of it, such as Stuart's work on Coloured Actions, or much work on weak consistency replication.
However, sometimes it's simply a matter of timing, with some research happening before it's really needed or truly appreciated. Case in point is a lot of the work that we saw produced during the mid 1990's on configurable distributed system and particularly that presented and documented by the IEEE Conference on Configurable Distributed Systems (there were other workshops and institutions doing similar work, but this conference was one that I had personal knowledge about since I had several papers published there over the years). Much of this work concerned autonomous systems that reacted to change, e.g., the failure of machines or networks, or increased work load on a given machine that prevented it from meeting performance metrics. Some of these systems could then dynamically adapt to the changes and reconfigure themselves, e.g., by spinning up new instances of services elsewhere to move the load, or route messages to alternative machines or via alternate routes to the original destination thus bypassing network partitions.
This is a gross simplification of the many and varied techniques that were discussed and developed almost two decades ago to provide systems that required very little manual intervention, i.e., they were almost entirely autonomous (in theory, if not always in practice). With the growing popularity of all things Cloud related, these techniques and ideas are extremely important. If Cloud (whether public or private) is to be differentiated from, say, virtualizing infrastructure in IT departments, then autonomous monitoring, management and reconfiguration is critical to ensure that developers can have on-demand access to the compute resources they need and that the system can ensure those resources are performing according to requirements. This needs to happen dynamically and be driven by the system itself in most cases because there should be little/no involvement by your friendly neighbourhood system administrator (in fact in some cases such an individual may not exist!)
I'm hoping that just because Cloud didn't exist as an identifiable concept back in the 1990's, people and organizations today don't overlook the fact that relevant R&D happened back then. Reworking and retasking some of this prior work could help save us a lot of time and effort, even if it's just to convince engineers today that certain paths or possible solutions aren't viable. For a start I know that I'll be getting my copies of those proceedings out again to refresh my memory!
However, sometimes it's simply a matter of timing, with some research happening before it's really needed or truly appreciated. Case in point is a lot of the work that we saw produced during the mid 1990's on configurable distributed system and particularly that presented and documented by the IEEE Conference on Configurable Distributed Systems (there were other workshops and institutions doing similar work, but this conference was one that I had personal knowledge about since I had several papers published there over the years). Much of this work concerned autonomous systems that reacted to change, e.g., the failure of machines or networks, or increased work load on a given machine that prevented it from meeting performance metrics. Some of these systems could then dynamically adapt to the changes and reconfigure themselves, e.g., by spinning up new instances of services elsewhere to move the load, or route messages to alternative machines or via alternate routes to the original destination thus bypassing network partitions.
This is a gross simplification of the many and varied techniques that were discussed and developed almost two decades ago to provide systems that required very little manual intervention, i.e., they were almost entirely autonomous (in theory, if not always in practice). With the growing popularity of all things Cloud related, these techniques and ideas are extremely important. If Cloud (whether public or private) is to be differentiated from, say, virtualizing infrastructure in IT departments, then autonomous monitoring, management and reconfiguration is critical to ensure that developers can have on-demand access to the compute resources they need and that the system can ensure those resources are performing according to requirements. This needs to happen dynamically and be driven by the system itself in most cases because there should be little/no involvement by your friendly neighbourhood system administrator (in fact in some cases such an individual may not exist!)
I'm hoping that just because Cloud didn't exist as an identifiable concept back in the 1990's, people and organizations today don't overlook the fact that relevant R&D happened back then. Reworking and retasking some of this prior work could help save us a lot of time and effort, even if it's just to convince engineers today that certain paths or possible solutions aren't viable. For a start I know that I'll be getting my copies of those proceedings out again to refresh my memory!
Tuesday, November 09, 2010
Nice move by Sacha and Cloudbees
From Devoxx ...
"CloudBees, the new company from former JBoss CTO Sacha Labourey, today consolidated its position as the de facto source for Hudson-based continuous integration solutions, from on-premise to the cloud with the acquisition of InfraDNA, the company founded by Hudson creator Kohsuke Kawaguchi to provide software, support and services for Hudson. Kawaguchi joins CloudBees, and will continue to grow and lead the Hudson project. The first release today from the integrated company is Nectar 1.0, formerly InfraDNA’s Certified Hudson for Continuous Integration (ICHCI) offering, which has been enhanced with new features and rebranded for CloudBees. Enhancements include VMware Virtual Machine auto configuration and deployment; enhanced backup services; pre-bundled and configured plug-ins; and an auto-update service. Nectar annual subscriptions start at $3,000 and include free minutes on CloudBees DEV@cloud service, which is currently in beta."
Congratulations!
"CloudBees, the new company from former JBoss CTO Sacha Labourey, today consolidated its position as the de facto source for Hudson-based continuous integration solutions, from on-premise to the cloud with the acquisition of InfraDNA, the company founded by Hudson creator Kohsuke Kawaguchi to provide software, support and services for Hudson. Kawaguchi joins CloudBees, and will continue to grow and lead the Hudson project. The first release today from the integrated company is Nectar 1.0, formerly InfraDNA’s Certified Hudson for Continuous Integration (ICHCI) offering, which has been enhanced with new features and rebranded for CloudBees. Enhancements include VMware Virtual Machine auto configuration and deployment; enhanced backup services; pre-bundled and configured plug-ins; and an auto-update service. Nectar annual subscriptions start at $3,000 and include free minutes on CloudBees DEV@cloud service, which is currently in beta."
Congratulations!
Saturday, November 06, 2010
PaaS is language specific?
Recently I've been involved in some discussions with people on the subject of PaaS and specifically how the application language impacts it. I was surprised to hear (or read, since some of this was via email) several of the participants assume that you would need a PaaS implementation for each programming language. So that'd be a Java PaaS, a Ruby PaaS, presumably a C++ PaaS and maybe even a COBOL PaaS.
In my most diplomatic manner, I asked if certain individuals had missed the last 20+ years of middleware development; perhaps they had been stuck on some island somewhere, or maybe off on some rocket traveling close to the speed of light and while we experienced 20 years, for them only a few days have passed. See, I do like to give people the benefit of the doubt where possible!
The idea that we need to have a PaaS implementation for all possible programming languages out there (or at least those that may be used in the Cloud), is ridiculous. Think of it like this: if we can virtualize away the hardware, so it's really no longer a major issue in deployment, then we should be able to virtualize (abstract away) the infrastructure upon which the applications will rely. And yes, that infrastructure is middleware.
Oh wait ... we've done this before. Several times in fact! I won't cover them all, but let's just consider a couple of the obvious examples. First, CORBA, where services could be implemented in a range of different programming languages (e.g., C++, Java and even COBOL!) and made available to users that may be written in a completely different language. Second, Java, and specifically J(2)EE. Like it or not, despite the write once run anywhere message that came with Java, many vendors and users simply did not want to, or could not, discard their existing investments in other languages and so found ways to integrate services and components written outside of Java and often without the knowledge of the end users. For instance, there are non-Java transaction services that are integrated into application servers through the JTA. The same goes for JMS.
As an industry we have decades of experience in virtualizing the middleware layer. It doesn't matter if you're writing your applications and services in Java, Ruby or something else entirely: as long as someone provides a binding to the underlying middleware capabilities, you don't expect, and shouldn't be interested in, whether or not the middleware, or PaaS, is implemented in the same language. And in fact it shouldn't be. I'll keep saying this, but we simply cannot afford to stop the world and reinvent the middleware wheel for PaaS. We need to evolve, but we really don't need to start from scratch. I think I got my message across during the aforementioned conversations, but maybe next time I'll resort to drawing some diagrams, perhaps even with some timelines dating back to the 1960's!
Addendum: In case it wasn't clear in the above, of course there will need to be a language specific component to PaaS, but only that which is sufficient in order to allow the underlying implementations (written in whichever language is appropriate) to be interfaced with the application or service. Consider the JTA and JMS examples above.
In my most diplomatic manner, I asked if certain individuals had missed the last 20+ years of middleware development; perhaps they had been stuck on some island somewhere, or maybe off on some rocket traveling close to the speed of light and while we experienced 20 years, for them only a few days have passed. See, I do like to give people the benefit of the doubt where possible!
The idea that we need to have a PaaS implementation for all possible programming languages out there (or at least those that may be used in the Cloud), is ridiculous. Think of it like this: if we can virtualize away the hardware, so it's really no longer a major issue in deployment, then we should be able to virtualize (abstract away) the infrastructure upon which the applications will rely. And yes, that infrastructure is middleware.
Oh wait ... we've done this before. Several times in fact! I won't cover them all, but let's just consider a couple of the obvious examples. First, CORBA, where services could be implemented in a range of different programming languages (e.g., C++, Java and even COBOL!) and made available to users that may be written in a completely different language. Second, Java, and specifically J(2)EE. Like it or not, despite the write once run anywhere message that came with Java, many vendors and users simply did not want to, or could not, discard their existing investments in other languages and so found ways to integrate services and components written outside of Java and often without the knowledge of the end users. For instance, there are non-Java transaction services that are integrated into application servers through the JTA. The same goes for JMS.
As an industry we have decades of experience in virtualizing the middleware layer. It doesn't matter if you're writing your applications and services in Java, Ruby or something else entirely: as long as someone provides a binding to the underlying middleware capabilities, you don't expect, and shouldn't be interested in, whether or not the middleware, or PaaS, is implemented in the same language. And in fact it shouldn't be. I'll keep saying this, but we simply cannot afford to stop the world and reinvent the middleware wheel for PaaS. We need to evolve, but we really don't need to start from scratch. I think I got my message across during the aforementioned conversations, but maybe next time I'll resort to drawing some diagrams, perhaps even with some timelines dating back to the 1960's!
Addendum: In case it wasn't clear in the above, of course there will need to be a language specific component to PaaS, but only that which is sufficient in order to allow the underlying implementations (written in whichever language is appropriate) to be interfaced with the application or service. Consider the JTA and JMS examples above.
Tuesday, November 02, 2010
JCP EC (re) election
The results are in...the 2010 JCP EC Elections have officially concluded, and final results are available on jcp.org. The 2010 JCP EC Election ballot closed at midnight pacific time on 1 November. Congratulations to the new and re-elected JCP EC Members!
SE/EE EC
Ratified seats: Apache Software Foundation, Red Hat
Open Seat Election: Eclipse, Google
ME EC
Ratified seats: Research in Motion (RIM), Samsung, TOTVS
Open Seat Election: Apix, Stefano Andreani
New and re-elected members will take their seats on Tuesday, 16 November.
JCP members did not ratify Hologic for the SE/EE EC. As the JCP process document prescribes, the PMO will hold an additional ratification ballot for the remaining SE/EE seat soon.
Complete results will be available at the JCP Election page and the JCP blog later today.
SE/EE EC
Ratified seats: Apache Software Foundation, Red Hat
Open Seat Election: Eclipse, Google
ME EC
Ratified seats: Research in Motion (RIM), Samsung, TOTVS
Open Seat Election: Apix, Stefano Andreani
New and re-elected members will take their seats on Tuesday, 16 November.
JCP members did not ratify Hologic for the SE/EE EC. As the JCP process document prescribes, the PMO will hold an additional ratification ballot for the remaining SE/EE seat soon.
Complete results will be available at the JCP Election page and the JCP blog later today.
Subscribe to:
Posts (Atom)