Emerging Windmills, Part 2 of 2

April 3, 2009 — Posted by Scott Bain

Tilting at Clouds

From my previous posting: "When you have an idea you think may be a hit, like the next Twitter, how much capacity should you invest in? Do you buy one server, or a hundred? Do you invest in a DSL line, or buy direct access to the backbone? How much disk space will you need for your customer load? "

If you base your decisions on prediction, you'd better hope you're good at predicting things. Overbuy, and you may be driven under by costs. Under-buy, and you may be overwhelmed by users, and if your service becomes a slow and disappointing experience this could kill your business too.

The notion of "Cloud Computing" is meant to solve this, and it's a practical approach to an idea that's been floating around for a while: The Network is the Computer.

 

A good example is Amazon Web Services(AWS). This is a collection of for-rent-by-the-hour/month/etc… services that include virtual servers, scalable storage space, and on-demand bandwidth. You can sign up for essentially nothing, start out so small that your monthly expenditures can be dwarfed by your daily coffee budget, and scale up at any pace that the natural growth of your business demands. Users never know that your "system" is really a virtual one, part of the cloud of web services provided by the vendor, and billed on an as-needed basis.

Also, a number of possibly business-critical issues are taken care of for you: data security, hacker protection, overseas mirroring, tracking and monitoring of usage, and so on.

I find this particularly exciting because I think it will encourage people to experiment with new ideas. What if your great new service is not, in fact, the new Twitter? You don't have to risk much to try it out, so why not give it a go? Or, do you suspect that Ruby on Rails might be the right environment for your cool online game? When you create a virtual server at AWS, you pick whatever server image you want, or create a custom image, and experiment away. If you discover you really wanted PHP, or .Net, or Java, or whatever, you can try a different image and play with a completely different technology for a while.

At the center of any emergent process is the notion of "low cost". I constantly tell my students everything is acceptable if the costs are acceptable when making decisions in design and testing. The trick is, do you know the costs? Patterns, tests, analysis, are all about (among other things) revealing these costs reliably.

Here again, we see this idea at work. If we focus on costs in our business, we can decide what risks we wish to take on, and which ones we want to defer until we know more about the applicability of an idea in the context of a given marketplace.

So, I hope they continue to keep the entry costs low for this stuff. Not surprisingly, the competition is heating up, and I think that'll help. Already we have IBM's Blue Cloud, Microsoft's Azure Services, and even traditional colo-hosts like Rackspace are getting into the Cloud business.

Pick one and give it a try. I recently spoke at the Emerging Technologies for the Enterprise conference in Philadelphia, and got a chance to sit in on Mike Culver's talk "The Forecast is Clearly Cloudy". In it, he demonstrated (live) creating a virtual server and pulling up some storage space at AWS. It amazed me how fast it all was, and how little was required up-front (5 gigs is something like 10 cents a month). I doubt the other services are much different in terms of time and expense.

Subscribe to our blog Net Objectives Thoughts Blog

Share this:

About the author | Scott Bain

Scott Bain is an consultant, trainer, and author who specializes in Test-Driven Development, Design Patterns, and Emergent Design.



        

Blog Authors

Al Shalloway
Business, Operations, Process, Sales, Agile Design and Patterns, Personal Development, Agile, Lean, SAFe, Kanban, Kanban Method, Scrum, Scrumban, XP
Cory Foy
Change Management, Innovation Games, Team Agility, Transitioning to Agile
Guy Beaver
Business and Strategy Development, Executive Management, Management, Operations, DevOps, Planning/Estimation, Change Management, Lean Implementation, Transitioning to Agile, Lean-Agile, Lean, SAFe, Kanban, Scrum
Israel Gat
Business and Strategy Development, DevOps, Lean Implementation, Agile, Lean, Kanban, Scrum
Jim Trott
Business and Strategy Development, Analysis and Design Methods, Change Management, Knowledge Management, Lean Implementation, Team Agility, Transitioning to Agile, Workflow, Technical Writing, Certifications, Coaching, Mentoring, Online Training, Professional Development, Agile, Lean-Agile, SAFe, Kanban
Ken Pugh
Agile Design and Patterns, Software Design, Design Patterns, C++, C#, Java, Technical Writing, TDD, ATDD, Certifications, Coaching, Mentoring, Professional Development, Agile, Lean-Agile, Lean, SAFe, Kanban, Kanban Method, Scrum, Scrumban, XP
Marc Danziger
Business and Strategy Development, Change Management, Team Agility, Online Communities, Promotional Initiatives, Sales and Marketing Collateral
Max Guernsey
Analysis and Design Methods, Planning/Estimation, Database Agility, Design Patterns, TDD, TDD Databases, ATDD, Lean-Agile, Scrum
Scott Bain
Analysis and Design Methods, Agile Design and Patterns, Software Design, Design Patterns, Technical Writing, TDD, Coaching, Mentoring, Online Training, Professional Development, Agile
Steve Thomas
Business and Strategy Development, Change Management, Lean Implementation, Team Agility, Transitioning to Agile
Tom Grant
Business and Strategy Development, Executive Management, Management, DevOps, Analyst, Analysis and Design Methods, Planning/Estimation, Innovation Games, Lean Implementation, Agile, Lean-Agile, Lean, Kanban