Ever since I read Joel Spolsky’s password management article from 2008, I have enjoyed using Dropbox to synchronize files between my various computers. Recently I found a page of tips aimed at using the service as an automatic backup of important files, rather than just for transfer between machines. You get 2GB of free “cloud” space when you sign up with the service, which is enough for quite a lot of stuff.
Using DropBox to backup instead of sync
The recent launch of Ubuntu One has added another cloud data service with a generous free storage limit. Although the client software only runs on Linux at the moment I’m fully expecting Windows and MaxOSX clients to appear soon. The same tricks described in the Dropbox article could just as likely be used with Ubuntu One.
The news was pointed out to me by a friend before I could blog about it, but Google App Engine supporting Java and servlets is a massive move forward for server side Java.
I’m currently experimenting with my own evaluation of this, but in the meanwhile, here’s Michael Yuan’s take on it.
Michael Yuan » Blog Archive » Google App Engine for Java — First Impressions
They spin it as a way to promote their associated services. More cynically I;’m guessing they are scared of losing their business to Amazon and Google, who can offer much broader cloud offerings and are gobbling up the cloud market.
On the other hand, if you are actually interested in setting up your own local “cloud”, then this might be a good deal.
InfoQ: Citrix Changes the Virtualization Market by Giving XenServer for Free
This looks very interesting, although it is at an early stage right now. A system for building and managing cloud-hosted applications, using XMPP as a communication subsystem.
InfoQ: Engine Yard Releases Cloud Management Framework Vertebra
In my dark moments I worry about the security of cloud computing. I used to be pretty upbeat about security, until some servers I was using to run a small specialist java hosting business were hacked. This resulted in the collapse of that business and the loss of several customer sites. Since then I have been painfully aware of the need to keep any public system scrupulously up-to-date with security patches and suchlike.
My security worries give me concerns about launching a business based on Amazon’s EC2, as I cannot see at the moment how the fiddly details of keeping the virtual system images patched an up to date will happen. Please feel free to reassure me!
When I read the title of this article from the Java Developer’s Journal, this was my immediate thought. The article does not address this particular issue, but instead covers some of the problems of protecting data in transit between distributed systems.
This article really helps join the dots for a project I’m thinking about a lot at the moment.
Connecting Apple’s iPhone to Google’s cloud computing offerings.
I’ve still not got fully up to speed on using Amazon’s cloud services, but this looks useful. A whole bunch of code examples and libraries for a variety of languages
Amazon Web Services Developer Community : Amazon SimpleDB.
I’m in two minds about Service-Oriented-Architecture (SOA). On the one hand it seems obvious that future systems will need to inter-operate increasingly in order to gain business benefits without requiring complete software development projects. On the other hand, I am distinctly under-impressed by the current approaches to SOA, and even by the emphasis on services rather than the equally applicable resources, messages, or processes as the integration building blocks.
Here are a bunch of conflicting views on this area which have collected in my “blog this” queue over the last few days:
InfoQ Article: Will Cloud-based Multi-Enterprise Information Systems Replace Extranets?
Will Cloud-based Multi-Enterprise Information Systems Replace Extranets? (confusingly, a different article with the same title!)
Meme Agora: Tactics vs. Strategy (SOA & The Tarpit of Irrelevancy)
Enterprise Java Community: Extend the Data Grid With Hub-less Messaging
Services & Workflows: SOAP and REST with WCF and WWF
Year of the cloud
SOA equals Integration?
A lot of the cloud computing hype is grabbed by Amazon and Google, but alongside those giants of the field there are a lot of smaller projects and organisations trying to push and grow cloud concepts. Here are a few which I have bumped into recently.
Cloud platforms of the future: Hadoop and Eucalyptus | Negative Approach – CNET News
Sometimes I think I am becoming a cracked record with my intention to seriously evaluate the various “cloud computing” offerings, but with the news that Amazon have opened their SimpleDB service to the public I reckon I would be a fool to do anything else.
InfoQ: Amazon’s SimpleDB Enters Public Beta
As I was driving home from work yesterday it occurred to me that Sun seemed to somehow have missed a golden opportunity a few years ago. Their motto for ages was/is “The Network is the Computer” but the names everyone thinks of for “cloud” technology do not include Sun. What is most saddening is that several years ago Sun had some incredibly cool technology which, looking back, seems a perfect fit for the new cloud-based world. I’m referring to Jini, Sun’s auto-scaling, auto-provisioning, mobile code, service-discovering network thingamabob.
I loved the idea of Jini when it was first released (I still have half a dozen Jini books around my office), but it had some significant problems. Most important was the general fiddliness of getting anything working. Even a simple “hello world” demonstration required messing with class paths and running several picky and fragile command line scripts. A world of difference from the state of web application deployment at the time. Despite several point releases, this never really got any easier or more comprehensible. Jini certainly helped make the complex possible, but it certainly did not make the simple, simple.
When I got home after this rumination, I looked around a bit to see what had happened to Jini and if it had any relevance in the brave new world of Amazon and Google. I was pleasantly surprised.
One of the key early Jini services was JavaSpaces. Equally fiddly to set up and comprehend, but powerful and scaleable, and very much in the spirit of the grid/cloud approach. Effectively, Jini and JavaSpaces have developed to become GigaSpaces, a commercial product which attempts to solve the problems of Jini and present it as a contender in today’s world. A sure sign that the GigaSpaces folks “get it” is the way they are integrating with Amazon’s cloud offerings.
The extent of my experimentation so far has largely been limited to following their “hello world” tutorial on my local system. There were one or two hitches, such as the parts of the tutorial code which use Eclipse requiring the project directory names to start with “hello-”, but the build/run batch scripts requiring names without the prefix. Other than that, the process was pretty painless, certainly compared to my experiences with early Jini. Next steps are to try creating my own small application, then to deploy it on the “cloud” and see if the ease of use continues.
As it stands I am impressed.
“Cloud computing” is still very high on my list of things I need to get up to speed on. One trouble is that innovation in this area seems to be coming faster than I have time to experiment. Still, this article seems a useful summary of the current state of play.
InfoQ: Comparing Amazon’s EC2, Google’s App Engine and Microsoft’s Azure
Cloud computing is taking up more and more space on my virtual radar at the moment. Implementing an actual project on a commercial distributed virtualised platform is becoming a high priority for my scant spare time. It’s nice to see that the cloud market is beginning to mature, with increasingly diverse offerings and even price reductions.
Alan Williamson provides a handy calculator for calculating your cloud storage costs.
The industry in which I work involves a fair amount of content delivery over HTTP. or at least it does when the rest of the system is in place to allow people to buy stuff. As such, we have a fair amount of operation and deployment issues around keeping this working. For each new customer in a new part of the world there is a decision about how to serve content and, most importantly, where to serve it from. Making the wrong choice can lead to latency, errors, increased cost, and inflexibility.
So the announcement that Amazon are setting up a service to cater for just this situation is an interesting one. The premise is that Amazon will use their increasing global network of “cloud” servers to shuffle and cache content around the world, and use that adaptability to provide downloadable content from the most appropriate server for the end user.
Every time I read one of these “cloud” announcements, I get a small feeling that I should make some time to prototype something like our current product using these technologies. The potential pay-off of outsourcing the infrastructure could be enormous.
Technology News: Web Apps: Amazon’s New Service to Rain Content From the Cloud
As you can see if you are reading this on the blog,punchbarrel.com web site (you will need to imagine if you are using an RSS reader or some fancy blog-to-email thingy), this blog has a “tag cloud” in a sidebar. I really like the way that a tag cloud allows quick and easy access to existing posts without searching or browsing.
However, the tag cloud widget built in to the version of WordPress I am using defaults to display of a small number of tags (around 40, as I recall.) This is a piffling amount and results in most of my low-volume tags not being displayed – largely defeating the point of tags for navigation. I did find a place in the widget PHP where this value can be overridden, and that’s how I have been showing a reasonable number of tags over the last few months.
The modification I found has one big problem. It is reverted every time I upgrade WordPress, and so far I have ended up searching through the WordPress code to find where to make the change again. Each release I have hoped that this obvious value will be available as a widget parameter, but to no avail. With the latest WordPress update I could no longer be bothered to look.
So today I decided to abandon the existing tag cloud widget and look for one more suitable to my needs. The one I eventually settled on was Configurable Tag Cloud (CTC). This plugin acts a widget in the same way as the built-in one, but is much more configurable. best of all, it defaults to showing all the tags – just what I want!
As an additional bonus, and only a few months after it was pointed out to me by some of my users, I have finally fixed the CSS styling when hovering over a sidebar link, so that it no longer obscures the link text with a big opaque blue blob. Now the current link is indicated with a gentle yellow background.
Obviously Yahoo is still trying to fight back against Google’s dominance of all things big and cloudy. It will be interesting to see if their approach of trying to claim some sort of ethical high ground by pitching their new cloud system at research and education pays off.
Cloud computing testbed – new research centre announced by Yahoo, Hewlett Packard and Intel | Sheila’s work blog
Obviously, “cloud computing” is the hot topic right now. Here’s another system which seems to be addressing the same space as Amazon’s EC2.
InfoQ: Grails Gains Cloud Hosting with Morph AppSpace
This project is a great idea: an open-source alternative to Amazon’s proprietary EC2 “elastic cloud” product. I can’t help it though. Every time I see the name I think of a discussion along the lines of:
Person X: I’m worried. This Amazon EC2 sounds like a great solution, but there’s only a single supplier. If they go bust, we’d be up a gum tree.
Person Y: No worries, mate. We’ll just build another gum tree, a Eucalyptus.
Person X: Bonzer!
Read more sensible stuff at Eucalyptus
The post below is another example of the way that active (powered) storage is seen as the answer to almost every computing problem. I am concerned, though about the long-term impact of such approaches.
As time progresses, and more digital data accumulates, presumably an ever increasing amount of powered storage will be required. There are essentially tow solutions to this: get more of the same, or upgrade to devices with larger capacities. Both approaches have environmental and sustainability issues. “More of the same” will require an ever increasing amount of power to keep all those discs spinning. “Swap for bigger” will result in increasing quantity of discarded hardware.
So far I don’t see anything from these cloud-storage startups to address such issues. And that’s not even considering what happens to the data if/when these companies go out of business or change priorities.
New Cheaper Storage Clouds Forming
Even though this article uses the term “web 3.0″, it’s still worth reading. The idea of moving from specific “cloud computing” implementations to a more generic and pluggable approach is a neat idea. Using ruby as a scripting language for “agents” and Erlang for the infrastructure seems a good balance, too.
InfoQ: Vertebra: EngineYard’s Next Generation Cloud Computing Platform