Yesterday I gave a presentation on the Simple Cloud API at WWW2010 in Raleigh. I trotted out the BSOD slide I sometimes use in my presentations:
A few tweets and retweets later, I decided to give away the source. So here's the .ppt source for the BSOD slide, surrounded by a couple of other slides to give the full effect. Use it in good health. (More on WWW2010 and Simple Cloud soon.)
p.s. I would like to point out that I got good feedback for the actual content of my presentation as well.
I'm very happy to be part of next week's Cloud Computing for Developers Webinar hosted by IBM and Amazon. I'm kicking off the day with a discussion of the basics, then the rest of the day will be more in-depth technical sessions on AWS and the IBM images available for DB2, WebSphere App Server, WebSphere Portal Server, WebSphere sMash, Lotus Forms, and other products. Last week Scott Laningham and I did a podcast on some of the things I'll be talking about, if you want to check it out.
There are interesting presentations throughout the day, I hope you'll join us!
Today's blog title: I've been having fun with Wyse Pocket Cloud, a RDP client for the iPhone. It lets me control the Amazon Machine Images I use for demos. Here's a screen capture:
There are a couple of things I haven't figured out in terms of using the keyboard- and mouse-less iPhone interface to manipulate Windows, but I'm very impressed. I start my AMI on my laptop, authorize my iPhone's current IP address to access the AMI, and I'm good to go. I have a couple of consoles open for my demo applications on the Windows desktop. I invoke a service running on the AMI from my laptop, and the console of the service is instantly updated on my iPhone. Very, very cool.
Now if only I could run live video from the iPhone to a projector. I've heard there are apps that will do that, but I think you have to jailbreak the phone. I'm not willing to do that, hopefully Apple will make that a reality soon. I've got the composite video cable already, I just need the app.
One nit: It never occurred to me before, but AT&T's 3G support cancels your DHCP lease as soon as your phone's screen goes off. So if I'm typing on my laptop for 60 seconds (or whatever the screen timeout value is), the iPhone turns off its screen and then I turn the phone back on, 3G now gives me a different IP address than the one I had a minute ago. I lock down all the ports on my AMIs so that only certain IP addresses can access the image, so that's a problem. I have to figure out my new IP address, then go back to my laptop and authorize whatever the new address is.
Question for the audience: Does anybody have a good PHP script for figuring out what your IP address actually is? I have a PHP page that uses curl to grab http://www.myglobalip.com/myip, but I'm sure there's a more elegant way.
Finally, a teaser for tomorrow: I'm not allowed to say what it is, but there's a very interesting announcement coming out tomorrow. Remember, you didn't hear it here first.
We're continuing the discussion of openness in cloud computing over at the Cloud Computing Use Cases group. Having defined the basic ways people are/will be using cloud computing, the next version of the paper will include a discussion of the different kinds of programming interfaces for cloud computing. I recently posted a discussion of the seven kinds of cloud APIs:
- Ordinary programming interfaces.
- Programming interfaces to deploy applications to the cloud.
- Programming interfaces to work with cloud services.
- APIs for image management.
- APIs for lower-level infrastructure management.
- APIs for the desktop cloud.
- APIs for the internal interfaces between the different parts of a cloud infrastructure.
It's important to identify the way developers are working with the cloud. The developer community hasn't gotten as much attention as it should, IMHO, and this discussion is trying to correct that. We would love to hear what you think about this taxonomy of APIs. Does it make sense to you? Does it fit the way you and your applications are using the cloud? Please join us.
We're also hoping to fill in the gaps in customer scenarios. We would like V2 of the paper to include a real-world example of all of the use cases. If you have any experiences you'd like to contribute, let us know!
I meant to blog about this before I left town last week, but Version 1.0 of the Cloud Computing Use Cases white paper is out!
The paper represents the efforts of an open community of roughly 800 people who shared their ideas, opinions, expertise and insight in the Cloud Computing Use Cases Google Group
. You can see the PDF version on Scribd
or view the Word source
on the group's page. The paper itself is released under a Creative Commons license, so you can reuse the content under those terms. The graphics from the paper are available as well.
A few words about the community: A common approach to
writing white papers is to get people from big companies to put their
names on the cover so there's lots of press coverage when the paper is
done. This group went the opposite way, reaching out to individuals
instead. The great thing about this approach is that if a person
contributes good ideas, those ideas go into the paper regardless of
their employer or affiliation. This isn't IBM's paper, it was produced by the group. (Of the three dozen or so names on the cover, I think seven of them are from IBM; I don't know the backgrounds of most of the participants.)
I'm very proud of the work our group has done and I encourage you to take a look at it. Enjoy!
We're in the home stretch, wrapping up everyone's comments for the Cloud Computing Use Cases white paper. Last night / early this morning I posted a draft of Section 2, Definitions and Taxonomy
. It's partly based on the NIST Working Definition of Cloud Computing
, and mostly on feedback from the community.
I'll be posting more sections of the final paper as they're ready, but we really, really want and need your comments
. If you're interested in Cloud Computing, visit the Cloud Computing Use Cases Google Group
and let us know what you think.
In case you haven't seen it, the second draft of the Cloud Computing Use Cases white paper is out for review. We're getting some great comments and customer experiences, the paper is really rounding into shape. If you're interested in cloud computing, please join the group and share your comments and experiences. The more input, the better.
A third draft of the paper will be published on Monday the 20th, and release 1.0 will be posted on July 31st.
I'm very happy to pass on the news that today the Object Management Group announced cloud-standards.org, a site for coordinating the cloud standards work of various organizations. The announcement was made at the OMG's Cloud Standards Summit. The groups involved are:
The site is a Wiki maintained by representatives of the five groups above. Some of the relevant activities include the DMTF's Open Cloud Standards Incubator, the OGF's Open Cloud Computing Interface and SNIA's Cloud Data Management Interface.
This is a big step forward. One of the six principles of the Open Cloud Manifesto is that "Cloud computing standards organizations, advocacy groups, and communities should work together and stay coordinated, making sure that efforts do not conflict or overlap." (Just to be clear, cloud-standards.org is not part of the Open Cloud Manifesto.)
It's great to see these groups working together to keep the cloud open.
BTW, the Wiki includes the official press release, if you'd like to see it.)
Note to my usual reader(s): I'm breaking with tradition and attempting a single, coherent post on a single topic. Wish me luck.
A few weeks ago we started a Google group to write a white paper on use cases for cloud computing. This effort grew out of the Open Cloud Manifesto, a statement of principles for keeping cloud computing open. The Manifesto was released with roughly 50 supporters; today it has more than 225. Here are the six principles of the Manifesto:
- Cloud providers must work together to ensure that the challenges to cloud adoption are addressed through open collaboration and the appropriate use of standards.
- Cloud providers must use and adopt existing standards wherever appropriate. The IT industry has invested heavily in existing standards and standards organizations; there is no need to duplicate or reinvent them.
- When new standards (or adjustments to existing standards) are needed, we must be judicious and pragmatic to avoid creating too many standards. We must ensure that standards promote innovation and do not inhibit it.
- Any community effort around the open cloud should be driven by customer needs, not merely the technical needs of cloud providers, and should be tested or verified against real customer requirements.
- Cloud computing standards organizations, advocacy groups, and communities should work together and stay coordinated, making sure that efforts do not conflict or overlap.
- Cloud providers must not use their market position to lock customers into their particular platforms and limiting their choice of providers.
While the principles of the Manifesto are noble and lofty (as you would expect of anything agreed to by 225 companies and organizations), we need to get down to the task of making them a reality. The next step is to identify where standards efforts are needed: That's where the white paper comes in. The goals of the use cases are to:
- Focus the industry's attention on the importance of Open Cloud Computing.
- Provide a practical, customer-experience-based context for discussions on interoperability and standards.
- Make it clear where existing standards should be used.
- Make it clear where there is standards work to be done. If a particular use case can't be built today, or if it can only be built with proprietary APIs and products, the industry needs to define standards to make that use case possible.
Whenever someone says a standard is needed, there are people who argue otherwise for a variety of reasons. A use case that resonates with customers is the best way to legitimize the call for standards. If people can stand up and say, "That's something I'd like to do with the cloud, but I can't do that now, or I can't do it without using a proprietary API or service," it's up to the naysayers to explain how that's not the case.
So far more than 600 people have joined the group, but we're looking for the broadest range of input possible. If you're interested in Cloud Computing, please join the group and contribute.
Today's playlist: Isn't on point for this discussion. Sorry, old habits and all that.
Starting with something that's not awkward at all: I'm happy to announce that the first draft of the Cloud Computing Use Cases white paper is available at Google Groups. This was produced by the Cloud Computing Use Cases group. We would love to hear your experiences with cloud computing. The more input to the paper the better (membership in the group has almost tripled in the last week), so please jump in and contribute to the discussion.
From the "Oh Yeah? Well, You're Not Very Secure Either" Dept.: If you follow the progress of the cloud computing industry, you're well aware that the #1 issue on everyone's mind is security. One interesting trend I've noticed is that some cloud vendors are addressing customers' anxieties by pointing out that customer environments aren't completely secure either. I've heard one speaker proclaim that once your data is in the cloud, there are no more insider attacks. Another vendor spokesperson has said that cloud computing eliminates the risk that data will be written to a thumb drive or burned onto a DVD that later disappears. A couple of thoughts:
- "Eliminating" insider attacks by redefining what an insider is doesn't count. If I'm storing sensitive, valuable data in someone's cloud, are you telling me that not a single employee of the cloud vendor will find be able to find that out? Or be tempted to access my data when they do? Redefining that person as an outsider because they're not directly on my payroll doesn't mean my data isn't at risk.
- It's disingenuous at best to say thumb drives and backups are the only way data can be stolen. To me this is just another variation on the "the data isn't stored here, so there's no risk of an insider attack" theme. Any insider who can access my data is a risk, whether that data is stored in house or in the cloud. (And if they can access the data, can't they figure out how to put it on a thumb drive?)
Let me be clear: A world-class cloud vendor's data center will be more secure than most enterprises. But that doesn't mean they are risk-free. What bothers me most about these arguments is the condescension and contempt behind them. Since when did you sell anything by belittling a customer's concerns? People will use cloud computing when they feel comfortable with it, and trying to browbeat them into using something they think is less secure is unlikely to close a deal.
On the Road Again: I'll be speaking at the ESRI International User Conference in San Diego next week. ESRI is an IBM Business Partner and the leader in GIS Software.
The theory behind cloud computing is that I shouldn't know anything about the physical infrastructure that I'm using. The reality is that many kinds of data are subject to government regulations. If you're storing personal information about your customers, you might be required to store that data on a physical machine located in a particular country. The Cloud says the location of your data doesn't matter, but the law says otherwise. I'll talk about cloud computing and location information in a future blog posting. (One of the use cases proposed for the white paper deals with this issue.)
Today's blog title: One of the interesting things about the way technology advances in our industry is the way we lose function for years at a time, only to get it back when we've forgotten how much we liked that function to begin with. At times it seems like one step forward, two steps back. Two examples of things I used to have but don't anymore:
1. Send-from-anywhere email from my palmtop with complete Lotus Notes synchronization: In the mid-to-late 90s, I had a SkyTel Glenayre two-way pager and a Palm Pilot. I could write an email on the Palm Pilot, then beam it via infrared from the Palm Pilot to the pager. The pager would then send the email from wherever I was. (I did this routinely on airplanes and lived to tell about it.) In addition, the Palm Pilot did an excellent job of syncing everything with Lotus Notes. So I could write an email at 37,000 feet over Arkansas, beam it to my pager, it would be delivered right away and the mail would be replicated with my Notes mail database when I got on the ground.
I can't do that today with my iPhone. If anybody has a good iPhone to Lotus Notes app, let me know. Actually calendar sync is all I really care about, I can manage mail and contacts on my laptop. I know IBM has released the iNotes client, which is very cool, but AFAIK it keeps all your email and calendar and contacts separate from the email and calendar and contacts already on my iPhone. (Corporate loyalty forbids me from ranting on this point.)
Special note to today's young people: If you don't know what a pager is, it started out as an amazing technology that allowed you to send 10 characters of numeric information (a phone number) to somebody far away. Imagine something with 1/14th the bandwidth of Twitter, only without profiles, icons or easy access via the Internet.
2. Give complete presentations, including live demos, from my palmtop: About seven years ago I had a Compaq iPaq Pocket PC. (It must really bug the Compaq guys that they came up with the "i" thing before Steve Jobs did.) I docked it into an expansion pack that had a second battery and two Compact Flash cards. One was an Ethernet card for wired connectivity, the other was a video card. This was in the early days of Web services. I had a Web service running on my laptop, a crossover Ethernet cable connecting the iPaq and the laptop together, and live video of whatever was on my iPaq screen. Demonstrating the cross-platform nature of Web services, I ran a Visual Basic client on the iPaq that used SOAP to access a Java Web service running on my laptop. (And the crowd went wild, in a quiet sort of way.)
In addition to the live video, the iPaq also had a software package that would take your PowerPoint presentation and display it at 1024x768 through the video card. While it was displaying the slides on the big screen, the palmtop screen in my hand displayed the speaker notes for the slides. (Yes, dual displays on a palmtop.) And as icing on the cake, the video card had a credit-card sized remote to control the slides if I didn't want to be weighed down by the 6-ounce palmtop/expansion pack.
You can just imagine the geek-a-licious wonder of such tools, and there was the additional benefit that a number of people would stick around to the end of my presentation just to see what kind of gadgetry I had. Anything to keep the crowd in the room, I always say.
Why doesn't the iPhone have these functions? I would love to be able to stand up in front of an audience and do my entire presentation (slides and live demos) from the iPhone in my hand. I'm happy to give up Notes sync in exchange. And speaker notes in my hand aren't a big deal either (as if I had a script, or would stick to it if I did). Somebody besides me has to have thought about this. Please post a comment if this stuff is available and I'm just not aware of it, I'll be thrilled.
Today's Playlist: It's Blitz by Yeah Yeah Yeahs, The Search by Son Volt and Blonde on Blonde.
Finally, a Classic Rant from Mr. Grumpy's Archives: I mentioned my surreptitious airborne emailing via two-way pager earlier in this post. Instead of focusing on telling everybody not to use their devices, maybe the airlines should fix the $150 million jetliner so it can't be disabled by a $49 cell phone. Just a thought.
As the discussion of cloud computing continues, one thing that's sometimes being ignored is the continued importance of SOA. Cloud is the buzzword du jour, which means the gnat-like attention span of the industry has moved on. But without SOA, cloud computing doesn't make any sense; we're not moving to cloud computing so we can build silos in the sky. The goal is to combine the flexible middleware enabled by SOA with the flexible infrastructure enabled by cloud computing.
Here are some articles that get it:
In my presentations I've been talking about how SOA and cloud computing complement each other. (I also talk about how SCA is the best way to build your SOA, as you'd expect.) The two technologies are emerging in similar ways:
- Cloud computing and SOA started with massive hype. Maybe you've noticed.
- Cloud computing and SOA started in stealth mode. In the early days of SOA, lots of people just built services and shared them with other people they knew. Similarly, lots of developers are using S3 and EC2 to see what they're all about. There are thousands of corporate credit cards that have unauthorized monthly charges* to Amazon Web Services and elsewhere. This bottom-up approach is inevitable. Any talented developer will always be on the lookout for new technologies to build their skills and enhance their résumé. When a game-changing technology like cloud computing or SOA comes along, they'll find a reason (or an excuse) to use it.
- Cloud computing and SOA don't work without governance. If you treat either of these as purely a coding issue, you'll fail. This is especially important with cloud computing because developers who "solve" problems by putting sensitive data into the public cloud can create enormous liability and legal issues. The CIO has to get their arms around these technologies and make sure developers are using them correctly.
To put it all in a catchphrase:
For cloud computing or SOA to work, you need an architect, a blueprint, and an executive who is both powerful and enlightened.
Shout out: If you're not following cloud_dennis on Twitter, you should. His tweets are an excellent news feed for articles and blog postings on cloud computing.
Before I forget, thanks to everybody who sent birthday wishes. I had a very nice, work-free birthday. (And yes, I know that's redundant.)
Today's Cloud Sighting: The graphic for the background of your Twitter home page is stored in Amazon S3. Mine is s3.amazonaws.com/twitter_production/profile_background_images/4603389/Lick-O-Matic2.jpg. It features our dog Domino, aka Mr. Licky McSheds-A-Lot. Remember, if you're on the Web, you're using the cloud.
*Note to anyone from IBM management reading this post: I'm not saying I've put anything on my corporate credit card, but if I did, it would be for demo purposes only. No sensitive data or code is out there, not that I'm doing anything. Just simple examples to show how cloud computing and SOA (SCA) work together. No need to look at my credit card statement. Nope, no reason to look at it at all.
In case you spent June 16th in a cave and missed IBM's cloud computing announcements, I'll cover a couple of the highlights here. As an employee and stockholder, this is one of those happy times when we have a great product and services story.
If there's anything better than a cloud, it's a cloud in a box. Cloudscape is a combination of hardware and software that lets you build and manage a private cloud. This was first announced at IBM IMPACT! last month, and it's gotten a lot of interest already. The hardware is a lovely, purple rack-mounted box that manages virtual machines for you. The software part includes WebSphere App Server Hypervisor Edition. You can create virtual machine images and use the included Tivoli software to define when VMs should be started or shut down. There has been enormous interest in this since it was announced, it's great to see the product hit the streets.
The Smart Business Test Cloud
The figures on how much time and money development shops spend on testing machines are astonishing. The Smart Business Test Cloud works with Rational or Eclipse tooling so you can run multiple tests on multiple VMs automatically. The development shop pays for the test machines while it needs them, then they go away when testing is done. This will be a huge benefit for lots of customers.
Other things were announced, but those are the two big ones for me. This stuff is a great complement to the Amazon Machine Images preloaded with IBM software that have been out there for a few months.
Cloud vs. Grid: I've seen several discussions and questions about how cloud computing and grid computing compare to each other. The answer I give is that both of them try to run CPUs at 100% capacity; the difference is that cloud computing tries to do that on as few CPUs as possible, while grid computing tries to do that on as many CPUs as possible. The focus of grid computing is to find unused CPU cycles and do something useful with them. The focus of cloud computing is to find unused CPU cycles and see if that CPU can't be shut down entirely. A massive oversimplification, but it works for me.
Today's presentation tip: Export your slides as JPEGs. I use this all the time with my iPhone (and previously with my iPod). In PowerPoint you can do Save As... and select "JPEG File Interchange Format." (NB: On planet Earth that four-word phrase is usually pronounced "JPEG." ) Next you'll be asked if you want to export every slide or just the current one; tell PowerPoint to export every slide. This stores all of the files as Slide1.JPG, Slide2.JPG, etc. in a directory with the same name as your .ppt file.
I store the slides in a directory of photos that's automatically synced with my iPhone. I can open the Photos app and see a directory for each presentation. I can then open the directory and start a slide show, and if I have my [$50 ripoff] Apple video cable with me, I can plug it into the projector and do my presentation from my phone.
Here is the list of presentations on my iPhone:
And here's one of the slides from my RSC presentation:
I like this because it's a great way to review my presentation wherever I am. This is also useful if, heaven forfend, your laptop should crash. It's possible that my Win XP machine will fail someday, as unlikely as that seems.
One final tip: PowerPoint exports the slides as Slide1.JPG, Slide2.JPG, ... Slide9.JPG, Slide10.JPG, etc. The iPhone sorts the slides by filename, which means it displays the slides in the order 1, 10, 11, ... 19, 2, 20, 21, etc., which is not what you want. You can rename the slides through Windows explorer, or you can use the command line (as everyone should). The relatively obscure Windows for command will do the trick:
for %f in (1 2 3 4 5 6 7 8 9) do rename Slide%f.JPG Slide0%f.JPG
I feel it's my duty to help the younger set build their command line skills. Given the vast audience of this blog, I'm guessing thousands of pairs of young eyes are rolling.
Today's Playlist: I've been listening to Elvis Costello's new album Sacred, Profane and Sugarcane throughout the day. It's a reunion with T-Bone Burnett. It's very well-written, with a top-notch band of roots music virtuosos (fiddle, dobro, mandolin, double bass). I bought the iTunes version, which includes a cover of The Velvet Underground's "Femme Fatale." [I remember now that I have an R.E.M. cover of that song somewhere.] It's drawing lots of comparisons to King of America, the first record Elvis and Mr. Burnett (aka The Coward Brothers) made together. Highly recommended.
Our friend Aneel Lakhani has an interesting blog posting about application-driven hardware today. His thoughts about the continuing advances in hypervisors, virtualization and metadata and where this will lead are very interesting. (I stumbled upon the post because he mentioned a Cloud and SCA presentation I did at the Cloud Computing Expo in NYC a couple of months ago; that's where we met.) Aneel is a very insightful guy, his posts are always worth a read.
I have some more notes about cloud computing, I'll post those tomorrow. We're having good discussions on the Cloud Use Cases Google Group, check us out and join us if you can.
For now, the random things that piled up during the week:
Did you get your Facebook ID this weekend? I happened to be up at 12:00 midnight, so I grabbed doug.tidwell while it was available. I was stunned by how many of the people I follow had Tweeted their new IDs by 12:15. I'm not sure what it says that so many of us were online at midnight on a Friday. That we're up at that hour is cool, that we're Twittering each other is less so.
This week in smartphones: The main fallout from the iPhone announcement is that upgrading the software to 3.0 looks so attractive, I'm not really anxious to get a 3GS. Adding cut and paste, voice memos, MMS messages and global search are great. Notes sync has been needed for a while also; I use that tool more than you'd think, and being able to back up that data without having to email it to myself is nice. I'm guessing the software update doesn't enable video capture on the existing camera on the 3G.
Having an extra 16GB of space for iTunes would be great, and I think having a better camera would be useful. But I'm not holding my breath to get a 3GS as soon as I can upgrade my wife's AT&T account. Maybe I'll reconsider as people post their experiences over the next few months.
One annoyance on the iPhone: My Twitterific app isn't working, and I don't know why. At first the app said it couldn't contact Twitter, so I figured the Fail Whale had reared its smiling head. But my account works fine in the browser, so I assumed something was out of sync in Twitterific. I've tried deleting and recreating my account, viewing just the public feed, everything I can think of, and it doesn't work. I get "Operation could not be completed. YAJL error 3," which probably means something to someone. Whoever they are, I hope it's fixed soon. Twitterific is my primary social networking tool; it works much better than the Twitter site itself, and mostly compensates for the sorry Facebook iPhone app. If you're having this problem with Twitterific, please post a comment. I haven't seen anybody else on the Internet with this problem, so User Error (the usual suspect) is the likely culprit.
Today's Question: When and where did you first see a URL in public? For me it was toyota.com in San Francisco on the roof of a taxi, probably in mid-1995. Post a comment, I'm curious to know where people saw them and what the URLs were.
It's good to be back home, especially after flying 6500 miles last week. No troubles with connections, no lost luggage, but I caught a head cold on the way home. Thank goodness that didn't happen on the way out; if I'm going to lose my voice, I'd prefer to do it after my last presentation instead of before my first one. I don't have any conferences for a couple of months, it's eerie to have no travel plans. That gives me a chance to work on some projects I've been meaning to start or wrap up.
Today's blog title:
There has been lots of hype about the Palm Pre, the latest "iPhone Killer" to come down the pike. I personally don't think it'll make a dent in the iPhone's market share, for several reasons:
- It's only available on Sprint for now. Sprint has been hemorrhaging customers and money, which doesn't bode well for the company or its future investments in their network infrastructure.
- With the exception of a hardware keyboard, it doesn't have anything significant that the iPhone can't add. Today it has cut and paste and multitasking, which are nice, but Apple could add those with a software upgrade. (Maybe I missed something, post a comment if I did.) Even if you have a better product today, that doesn't mean the competition won't have a better product tomorrow.
- It has nothing like the iPhone's App Store. As smartphones become consumer devices, the company with the largest developer base wins.
- Apple is 99% certain to announce a new iPhone today at the WWDC in San Francisco. Over the last five+ years, no company on the face of the earth has made its consumer electronics more appealing than Apple. Are there digital music players with more features and functions than an iPod? You betcha. Try explaining that to a disappointed teenager after you've bought them a [SanDisk | Creative | Microsoft Zune | etc.] instead of an iPod.
You can't overestimate the value of a large, enthusiastic developer community. Having thousands of programmers invested in your success means some clever person out there will be trying to add things to your platform that either close the gap with the competition or keep you ahead of them. I've always thought the key to the success of Microsoft's platforms was the legions of Visual Basic developers who built solutions with MS tools. (Maybe the Justice Department disagrees, but it's not polite to bring that up here. So I won't.)
The actual phrase "premature jocularity" comes from Keith Olbermann in his ESPN days. Premature jocularity happens when a team celebrates their victory with a few seconds left, only to be stunned and defeated by a miracle comeback by the other team.
I've been courting obnoxiousness by posting references to a great review of my JavaOne session
on the Sun blog. I promise not to mention it again here or on Twitter
or Facebook. It made me very happy.
My personal iPhone predictions:
Cut and Paste support, 32GB RAM, faster processor, a sharper camera (3+ MP) on the back. Not there: A camera on the front for video chat and an FM radio. (Who listens to FM radio? I have a few thousand songs on my phone so I don't have to listen to the radio.) I can't remember what other rumors were out there.
This just in:
I had typed another page or so, complete with links and references, but the My dW server threw up when I tried to post it. If the iPhone features have already been announced, my predictions were official as of 1 pm or so. The rest of this entry is whatever I can remember right now, I'll post whatever I forgot through the week. (Should I have kept the server troubles in the family? Yes. Am I too ticked off to care right now? Yes.)
I'm working on an SCA tutorial (featuring the Rational SCA tools) for the SOA Sandbox
. I hope to finish that this week, but I hoped to finish it six weeks ago.
The Cloud Computing Use Cases Google Group
is going very well, we're having productive, substantial discussions, Join us if you can, the more viewpoints the better.
I'm listening to The Indestructible Beat of Soweto
, Volumes 1 and 5 (they're really difficult to find, but worth the trouble), Specialist in All Styles
by Orchestra Baobab and Garbage
. "Stupid Girl" is the last song the sound man played before I started my JavaOne presentation (okay, I guess I mentioned it one more time, sorry), and it's been stuck in my head all weekend.
Finally blogging this week, it's been a long week on the road. I spoke at the Rational Software Conference in Orlando the first part of the week, and spoke at JavaOne in San Francisco yesterday. Hopefully next year they won't be the same week. My
presentation at RSC was on Assembling and Using Cloud Services with
SCA, including a look at the SCA tools in RAD. The message is that it
doesn't make any sense to do cloud computing without SOA, and the
simplest and most elegant way to build that
Service-Oriented Architecture is SCA. That message has resonated really well this year.
I had a 2-hour SCA teleconference with a large U.S. Government agency
this week also. After evangelizing SCA for 2+ years, interest and
adoption is really taking off.
Chris Brealey gave an
excellent session that focused on the SCA tools as well. They're part
of RAD V7.5.2, and they include an integrated WAS V7 server with the
SCA Feature Pack installed. If you're a RAD user, you should check them
out. You can visit the RAD SCA Tools page and
the WAS SCA Feature Pack page to learn more. The Rational InfoCenter has a tutorial that creates an SCA Hello World application and a tutorial that creates a banking application that combines several SCA components.
Comments please: I should have mentioned earlier that Version 1.1 of the SCA Assembly spec is available for comments at OASIS. There has been lots of interest from many different corners, including detailed comments from our pals at Microsoft. In addition to the assembly spec, you can comment on the work of the other SCA technical committees:
session at JavaOne was on Using REST and WS-* in the Cloud. One
ridiculous idea is that you have to use one or the other. As with any
other set of technologies, the sane answer is to look at your
requirements and pick the technology that makes sense for you. My demos
all eventually worked. One demo failed because I didn't have the
service up and running on the VM in the cloud, and another failed (as
it should have) because I was using HTTP GET instead of HTTP POST. Any
presentation at a technical conference should include live code, IMHO,
whether it blows up or not. You have to try.
I Twittercasted both presentations, although the JavaOne crowd was the only one that participated. People were very kind. Thanks to everybody who attended the sessions.
From the Dramatic Headline Dept.:
Cloud computing will be the most significant change in computing since the rise of the Internet.
computing faces most of the same barriers to adoption as the Internet.
A dozen or so years ago, many enterprises were looking at replacing
their very expensive private networks with the Internet. There were lots
of technical issues, but massive economic incentives to solve them. We
as an industry developed VPNs, SSL and other technologies, and today
most organizations aren't paying for their own private set of wires.
not glib or dismissive about the challenges cloud computing faces. But
I'm convinced that we'll solve them. The economic incentives are
equally massive, and smart people around the world will figure them
out. In the meantime, everybody looking at the cloud should proceed
Please Join Us: We've started a new Google Group to write a white paper on common use cases for cloud computing.
As we move into the brave new world of cloud computing, we're going to
need standards. A set of tangible use cases will make it clear where
new standards efforts are needed, and will be an answer to whomever
wants to complain that we don't need standards yet. Building your
business around vendors with the most market share, then hoping those
vendors will be agreeable to standards when they emerge a few years
from now is the surest way to get vendor lock-in.
Google Group is at
http://groups.google.com/group/cloud-computing-use-cases. The more
people that join the group and talk about how they're using the cloud,
the better. The more people that join the group and talk about how they
won't use the cloud yet because certain things are missing, the better.
You can also join us on the Open Cloud Manifesto group on Linked In.
You should check out artistic genius Adam "Ape Lad" Koford's illustrations of the HTTP 4xx error codes on Flickr. If you're working with REST,
HTTP error codes are part of your world. I first heard of him through his wonderful work on the e-Hobo Project. He also has a new book, The Laugh-Out-Loud Cats Sell Out, that's brilliant. The graphics are available
under the Creative Commons Attribution 2.0 license; thanks to Mr. Koford for sharing his work. Here's a sample illustration:
This, of course, is for error code 411, "Length required."
Today's blog title: I spoke at the Cloud Computing Expo in Prague a couple of weeks ago; the keynote speaker was Roman Stanek, CEO of GoodData, a cloud-based data mining service. Roman also founded NetBeans and Systinet. (I forget how I got there, but you can see a video of his presentation on the Sys-Con Web site. It's worth your time if you can find it.) One of the key ideas in his talk was the BASE architecture. A BASE application (as opposed to an ACID application):
- Is BAsically available
- Has soft State
- Is Eventually consistent
The assumptions here are that machines and other cloud services will fail, so every application has to be stateless. Database changes are done with an approach similar to the optimistic concurrency model of SVN, MediaWiki, Bugzilla and other projects. An application built this way is ideally suited to the elasticity of cloud computing and the stateless nature of REST services.
BTW, I haven't found the BASE acronym elsewhere, so props to Roman for expressing these ideas so eloquently. I certainly gave him credit in my presentation yesterday.
Another assumption is that applications built around an ACID model won't scale, at least not enough for the Brave New Cloudy World we're moving to. That I totally disagree with. Will an ACID application ever be as scalable as one that doesn't have to worry about two-phase commits? No. But will things like Cloudburst, WebSphere Extreme Scale, Gigabit+ Ethernet and virtualization make ACID scale better and easier than ever before? Absolutely. The aforementioned massive economic incentives apply here as well. Lots of very smart people at lots of different companies trying to solve a difficult problem has always generated solutions; think about all the things we were able to do with MS-DOS. (Younger readers, ask your parents what MS-DOS was.)
Don't get me wrong; there will be lots of fascinating, innovative, wonderful applications built on the BASE model. But online banking won't be one of them. ACID isn't going away, and innovation in the world of transactions will continue.
I'm very sad to say that the Colorado Software Summit
has been canceled permanently. I was fortunate enough to be part of
this amazing show the last two years, and was on the agenda for this
year's show. It was the best hardcore technical conference in the
world. All the best to Wayne and Peggy Kovsky.
To end on a positive note, Hearty Congratulations
to Eric Long and his wife on their new arrival. Mom and daughter and dad are thriving, and we wish them all the best.
I really enjoyed the Cloud Computing Expo Europe
in Prague last week, lots of sessions and conversations that I'll blog about here over the next week or two.
I had a good chat with Yuri Budnik and Nick Conte of RightScale
. If you don't know them, RightScale is focused on cloud portability. Yuri's team is working closely with the guys at Amazon, Eucalyptus, etc. to make sure that any changes to the various platforms are accounted for. In lieu of standards for cloud platforms, they're isolating their customers from the differences between providers. While we disagree on whether we should be doing standards now, they're doing a great job of getting customers to think about lock-in during the early days of Cloud Computing.
The question of standards in the cloud is one of the main focus areas of my job. Opinions at the show seemed to run 65%-35% that it was too early for standards. Everybody wants innovation to continue, and nobody wants vendor lock-in, but there's disagreement about how we'll get there. Letting the industry innovate for a couple of years, having everybody build their businesses on the products from various vendors, seeing how the marketplace sorts itself out and then
doing standards is the classic recipe for lock-in, IMHO.
Although my unscientific impression is that cloud computing adoption in Europe is lagging behind the States, there were quite a few Kloud Kool-Aid drinkers at the show. My favorite moment was when someone said that moving your data to a cloud provider removed the risk of insider attacks. That's ridiculous.
If I have lots of valuable data stored in the cloud, you're telling me there's no chance someone working for the cloud vendor won't try to get my data? This was part of a presentation listing (then subsequently and summarily dismissing) all the reasons for not doing cloud computing right now.
When someone from the Kool-Aid Krewe tells me that reliability isn't an issue because systems go down whether they're running in-house or in-cloud, that's condescending at best. Most people hearing that are going to assume the speaker doesn't know anything about enterprise computing and shouldn't be trusted with any part of a corporate infrastructure. Anybody selling cloud computing to a skeptical audience needs to understand and sympathize with the anxieties people have, and they need to be honest about the issues we as an industry haven't worked out yet. Cloud computing will have an enormous impact on our industry, but irresponsible hype just makes things more difficult for everybody.
And the crowd goes wild:
On my way home, I took the Heathrow Express from Paddington Station to Heathrow airport. The ticket machines in the station never seem to like my corporate credit card (it doesn't have a chip inside), so I was pleased to find you can buy tickets on your mobile phone. You fill out a form on your phone and you get an SMS that points you to a graphic of the barcode for your ticket. Although they have T-Mobile wireless on the train, I saved the picture from the browser so I wouldn't have to be connected (Safari on the iPhone has the annoying habit of reloading a page everytime you look at it). When the conductor comes by, you just show them the image on your mobile:
You'll get geek cred aplenty from all who witness your technical savvy. (BTW, I assume this image won't work if you try to use it, but let me know if it does.)
From the Department of Uncharitable Thoughts:
Cloud computing is new territory, which means lots of interest and hype and VCs and startups. That in turn attracts a number of insecure persons whose ambition greatly exceeds their talent. With those folks in mind, Mr. Grumpy would like to make the following observation:
If you are a thought leader, you have no need to say so. Conversely, if you need to tell us you're a thought leader, you aren't.
You can lead my thoughts by writing code, making insightful comments, or just doing innovative things that didn't occur to anyone else. If you do that, you'll get your insecurities under control and you won't need to tell us what an awesome visionary of awesomeness you are. Thank you for listening. This rant was fueled by shade-grown, fairly-traded coffee, and was not written with anybody in particular in mind. Any similarity to living persons is coincidental. And pathetic.
Today's blog title:
As I write this I'm listening to London Calling
, which includes the track "Wrong 'Em Boyo." A while back I bought the excellent Trojan Ska Box Set
, which includes The Rulers' version of the song; I had no idea The Clash's version was a remake. However, at both Amazon and iTunes (where I bought the set) the track is listed as "Wrong Embryo." The singer in The Rulers' version also stops the song and says "Start it all over again," just as Joe Strummer does in the Clash version. I also have an old collection of Tennessee Ernie Ford songs that included a song called "Stack-O-Lee." That's apparently an alternate version that's been around for a while, even though it struck me as a lame attempt to sterilize the song to appeal to a mainstream 1950s audience. Does anybody out there know who first recorded this song? I have a feeling there are probably a half-dozen stories out there, and would rather hear from you, the dW public, instead of just reading what Wikipedia has to say.
I'll post more later about the new development paradigm that will be introduced to the industry by cloud computing. I'll try to be fair about it, because I'm not convinced it'll be as popular as some people are predicting. Regardless, it's always good to stir up a conversation.