Today at TechEd in Atlanta, I served as discussion leader for a Birds of a Feather (BOF) session on Scaling Cloud Applications. The session had around 20 people in the room, and an unknown number watching the live stream, some of whom actively participated over Twitter.
Some of the topics discussed:
- SaaS vs. PaaS vs. IaaS, including the blurring of the lines between them
- Scale Up vs. Scale Out vs. Scale back down — elastic scale means you pay for what you use — just start (or stop) using the resources you need and the billing will reflect this usage
- Scale has many dimensions, some of which are Geographic Distribution of and Number of Users, Amount of Data, and Needed Computation Power
- Cloud applications are architected differently, often decoupling user-facing functionality from services – the front-end may communicate with the back-end using a reliable queue (such as offered by Windows Azure); see CQRS pattern
- There are many application architecture concepts that are shared across applications built for most cloud vendors – for example, the loosely coupled front-end/queue/back-end scenario mentioned above can be implemented on Windows Azure (which provides Web Roles, reliable queues, and Worker Roles) or Amazon (which allows you to build and upload a Virtual Machines for front-end and back-ends, plus offers a reliable queuing service), other cloud platforms, and even on-premise – the cloud services just make these more natural to implement
- Improving latency for cloud applications might be facilitated through a Content Delivery Network (CDN), geographic load balancing (such as through Windows Azure Traffic Manager), and other techniques
Many thanks to all who participated, including:
- Tina Stewart (Program Manager for Windows Azure Traffic Manager), Federico Zoufaly from Artinsoft, and a few other folks who offered questions or comments from the floor;
- Those who watched and contributed remotely (see Twitter stream below);
- And especially those who joined me on stage in the “Bird’s Nest” as very active contributors: Jason Milgram (Windows Azure MVP, CEO of Linxter), David Pallmann (Windows Azure MVP, GM at Neudesic for Azure practice), Aaron Drenberg (Software Architect), and Artem Kazmerchuk (Software Architect) – thank you guys!
The BOF events were very well run by the INETA team (Chris Pels and a few others).
If you want a more structured treatment of some of the same scalability concepts, feel free to check out my talk on Cloud Scalability Patterns coming on June 1/June 2 via the GITCA “24 Hours in the Cloud” event. Here is the generic event description – follow the link to find out when my talk is slotted in.
Come and get your Cloud geek on! On 1st June, 2011 GITCA and Microsoft are running an event called “24 Hours in the Cloud”. There will be 24 one hour sessions around the world covering a wide range of Cloud Computing topics. The presenters will be live on twitter to answer your questions. I will be one among them. There is something for everybody, developer, IT pro and SQL enthusiast. There is no question that Cloud Computing is here to stay and this is a unique opportunity to be educated and gain an insight as to where Cloud Computing is going. Stay tuned for more details, such as how to join the “Cloud 24 hour party”, as the event date approaches.
If you have more questions on the topic, feel free to put in on twitter (@codingoutloud), you can comment on this blog post, or you can email me (coding out loud at gmail). And, finally, below you can find the Twitter stream from the live event – latest on top, earliest on bottom – (which I salvaged via research.ly). Scale on!
@techedbof20117 hrs ago BOF12-DEV on Cloud Computing is now coming to an end. #bofdev #msteched @techedbof20118 hrs ago Mobile apps are a big area for growth in the cloud computing area. #bofdev #msteched @techedbof20118 hrs ago Talking about moving existing apps to the cloud as we near the session conclusion. #bofdev #msteched @techedbof20118 hrs ago When you scale you can select the instance size in Azure. #bofdev #msteched @techedbof20118 hrs ago Decoupling front end from back end processing is an important concept. #bofdev #msteched @techedbof20118 hrs ago For scaling, one experience is knowing how much work to do and how much an instance can process in an hour. #bofdev #msteched @techedbof20118 hrs ago Would be nice if the Azure platform would monitor and scale for you. #bofdev #msteched @techedbof20118 hrs ago @itagsubbu Great to have you join us. #bofdev #msteched @itagsubbu8 hrs ago @techedbof2011 Thanks for asking my question. I am watching this live event. #bofdev #msteched @techedbof20118 hrs ago @itagsubbu Yes you can scale either on a scheduled basis or in a programmatically #bofdev #msteched @itagsubbu8 hrs ago @techedbof2011 #bofdev #msteched Can we scale up for certain period in an year? @rileybeebs8 hrs ago RT @jmilgram: Getting ready to attend Bill Wilder @codingoutloud Designing Scalable Cloud Applications #bofdev session at TechEd #mstech ... @techedbof20118 hrs ago Gmail is an example of SaaS #bofdev #msteched @techedbof20118 hrs ago How do you get resources to the cloud platform? #bofdev #msteched @techedbof20118 hrs ago IaaS eliminates the infrastructure but you admin, for PaaS both roles are eliminated #bofdev @techedbof20118 hrs ago As you scale out across geographically dispersed data centers what is the impact on SQL Aszure costs? #bofdev @jimoneil8 hrs ago blurring of IaaS and PaaS is something interesting as well... becoming less of a differentiator? #bofdev @techedbof20119 hrs ago Silverlight app has 50K updates/sec #bofdev @techedbof20119 hrs ago Silverlight app that was not designed for the cloud. What to do? #bofdev @techedbof20119 hrs ago Thoughts on WPF app w/ Azure backend? Are you doing that? #bofdev #msteched @techedbof20119 hrs ago BOF12-DEV on designing scalable cloud applications is getting started #bofdev #msteched @TashasEv9 hrs ago RT @jmilgram: Getting ready to attend Bill Wilder @codingoutloud Designing Scalable Cloud Applications #bofdev session at TechEd #mstech @TashasEv9 hrs ago @rileybeebs I haven't forgotten about you! just haven't been able to leave the #BOFDEV sessions at all yet! @TashasEv9 hrs ago The next #MSTechEd #BOFDEV : Designing Scalable Cloud Applications lead by @codingoutloud @techedbof20119 hrs ago The next #MSTechEd #BOFDEV : Designing Scalable Cloud Applications lead by @codingoutloud @techedbof20119 hrs ago RT @jimoneil: RT @codingoutloud my 1:30 TechEd session on Designing Scalable Cloud applications #msteched #bofdev << will be heckling from afar! @jimoneil9 hrs ago RT @codingoutloud my 1:30 TechEd session on Designing Scalable Cloud applications #msteched #bofdev << will be heckling from afar!
This is an excellent write up. Thanks a lot for this informative article.