December 24, 2008
When we talk about cloud computing we make an assumption that that the cloud satisfies all our needs for functionality. In terms of current cloud-capability this is not the case. For example Basecamp is a successful cloud-based system for tracking project progress. Basecamp’s creators, 37 Signals, have a design goal of not adding extraneous functionality to Basecamp. As a result Basecamp cannot satisfy everybody all of the time; although it does satisfy most of the people most of the time.
What does this mean for cloud-based project tracking solutions? We’d like a cloud-based system but we need extra functionality to fill the gaps we cannot obtain from Common-Of-The-Shelf (COTS) cloud services.
One solution is to use an Augmentation Server (AS). An AS integrates with existing services and refines and/or adds extra functionality. Conceptually this would look like a layered service with the COTS on the bottom, AS in the middle and our clients on the top. Our AS may communicate with more than one COTS service to deliver the functionality we want.
Augmentation Servers will become a greater part of the cloud space; possibly out-numbering COTS cloud services. Implementing AS poses numerous technical challenges and existing web-application platforms may not have all the answers we need.
Take a look at your current cloud-service use and ask yourself these questions:
What COTS cloud services meet your needs?
What extra functionality do you want?
How will you implement the extra functionality?
2 Comments |
Web Services | Tagged: augmentation, basecamp, cloud, computing, server |
Permalink
Posted by robertmacgregor
November 13, 2008
When we build high-availability systems we have to reduce component failure below a tolerable threshold. To determine if our designs are achieving our aims we have, typically, run simulations of failure-scenarios and then observed how our simulated designs cope. After all; we can’t deploy a real system and then just flick-the switch to see how it fails; can we?
The answer to that last question has always been no because a real-world deployment would place resources in jeopardy and be financially restrictive. One facet of cloud computing’s game-changing nature is that it makes a real-world deployment low-cost and easy. Deploying a real-world system is possible and we can ‘flick-the-switch’ to see how it behaves. it’s a strange notion when you’ve been raised on simulation.
Recall your last customer incident involving a deployed system; did you have a test-case that could have exposed the defect? Could building a real-world simulation in the cloud provide a viable means to test your system? Did you not test a scenario because it was too expensive using real-systems?
Leave a Comment » |
Modelling, Web Services | Tagged: cloud, computing, Modelling |
Permalink
Posted by robertmacgregor
November 11, 2008
A friend challenged the notion of using Amazon’s EC2 web service to host a startup’s web-site or service because EC2 would be a single-point-of-failure; and he was right! EC2 by itself is not a good hosting option because, if it fails, you have no alternate host. Having said that, high-availability hosting isn’t EC2’s target market low-cost computing resource is.
But we need alternate hosting because it gives us high-availability systems. In general we need diversity measures to negate the failures in real-world systems. EC2 provides a vast pool of low-cost computing resources but it’s ultimately a single-sourced resource.
Ideally we’d use EC2 with another computing provider. The good news is that other providers exist like Mosso, GoGrid, Microsoft and Rackspace so we can get diverse platforms. Now we need a platform to tie our diverse resources together; specifically we need load balancing, auto-scaling, monitoring and management. RightScale produce a suitable product as do WeoCeo.
We can build high-availability systems based on cloud resources, the key is to understand if you want low-cost resources, high-availability or both. Before you embark on building a cloud computing service ask yourself these questions:
Do I want high-availability?
How much am I prepared to pay?
Can I structure my computing tasks to operate in the cloud?
What happens if my system fails?
2 Comments |
Web Services | Tagged: cloud, computing, service, shift, tectonic, web |
Permalink
Posted by robertmacgregor
September 19, 2008
Summary: Cloud computing represent a fundamental change in software costs and scale. Amazon’s Web Services are a cloud-type resource available now.
As developers deep-down we have a map of our computing terrain. Our maps help us make decisions about the viability of ideas and how we implement them. Crucial elements of our map is the cost and scale of the computing resources we use.
Cloud computing is the art of delivering computer resources when they are needed usually priced per hour of use. Cloud Computing changes our computing map, not by adding new hills or rivers, but buy shifting the underlying tectonic plates of our computing terrain.
For instance Amazon’s web-services change our cost and availability constraints. Linux servers now come at, a very low-cost, 10 cents/hour and with no limit on the number of servers that can be used. Amazon’s web-servcies are an excellent example of how a factor-of-ten cost reduction produces a game-changing service.
Take a look; cost-out your latest design using Amazon’s web-services. Then compare the cost of using Amazon’s services versus your current solution. Write me a comment; did you get a factor-of-ten cost reduction?
Leave a Comment » |
Web Services | Tagged: amazon, service, shift, web |
Permalink
Posted by robertmacgregor