All postings/content on this blog are provided "AS IS" with no warranties, and confer no rights. All entries in this blog are my opinion and don't necessarily reflect the opinion of my employer.
Cloud computing is a disruptive force that has the potential to change everything, but how do we take advantage of it? At Microsoft, cloud computing is a major component of our technology strategy and platform, and a rich and massively scalable cloud platform called the Azure Services Platform was just unveiled at PDC by Ray Ozzie (Ray’s keynote). Come for a discussion on how Microsoft’s platform can be leveraged to create a new class of applications that are more connected, dynamic, and can extend existing IT investments towards cloud computing.
Facilitated by Microsoft, the premise of this group is to provide an open forum where architects can meet to discuss technologies with their peers. This forum will provide first-hand experience and best practices that will enable its members to learn from each other and transfer knowledge. Please join us for this great opportunity to learn, share and network with your peers and other company leaders.
Microsoft and Cloud Computing – Cloud computing represents the new wave of innovation that will significantly transform many aspects of computing as we know today. During this session, we will discuss Microsoft’s outlook and strategy in moving towards cloud computing, providing the next-generation cloud-based platform for building services in the cloud. We will also take discuss what cloud-based applications may look like, and how they need to be architected differently from today’s on-premise enterprise applications in various scenarios.
Live Services Platform – A deeper look into the Live Services component of the Azure Services Platform, designed to combine the world of the web and the world of digital devices. We will discuss the underlying service architecture behind this mass-scale cloud service and client platform, and how to build applications using Live Identity Service, Synch Service, Resource Model Service, Device Management Service, Notification Service, and Presence Service.
Azure Services Platform – Discussion on the enterprise-class components of the Microsoft Azure Services platform, with an overview of .NET Services (Access Control Service, Workflow Service, and Service Bus), SQL Services (SQL Data Services, SQL Reporting Services, and SQL Data Analysis Services), and Windows Azure (Compute Service, Management Service, and Storage Service). We will take a look at what these services provide, their long-term roadmaps, and discuss guidance on how they can used.
11:45 AM Arrival
12:00 PM Lunch and announcements
01:00 PM Microsoft and Cloud Computing
02:00 PM Live Services Platform
03:15 PM Azure Services Platform
04:30 PM Open discussion
05:15 PM Raffle and close
Register for a date and location near you! To register, please click on the link below (note - referral code not required to register) or call 1.877.MSEVENT (1.877.673.8368).
November 18, 2008 | Mountain View, CA Microsoft Corporation 1065 La Avenida, Building 1 Mountain View, CA 94043 Main: 650.693.4000 Registration Link: http://msevents.microsoft.com/CUI/InviteOnly.aspx?EventID=5D-BC-15-14-81-B7-05-DA-F3-EE-3A-14-5E-8B-0D-10&Culture=en-US Event ID: 1032393291
December 4, 2008 | Los Angeles, CA Microsoft Corporation 333 S. Grand Avenue, Suite 3300 Los Angeles, CA 90071 Main: 213.807.7300 Registration Link: http://msevents.microsoft.com/CUI/InviteOnly.aspx?EventID=5D-BC-15-14-81-B7-05-DA-B5-BB-D8-65-4B-00-E3-8D&Culture=en-US Event ID: 1032393292
December 9, 2008 | Phoenix, AZ Microsoft Corporation 2929 N. Central Avenue, Suite 1400 Phoenix, AZ 85012 Main: 602.280.8600 Registration Link: http://msevents.microsoft.com/CUI/InviteOnly.aspx?EventID=5D-BC-15-14-81-B7-05-DA-F7-7B-61-77-D0-0E-22-EC&Culture=en-US Event ID: 1032393293
December 11, 2008 | Irvine, CA Microsoft Corporation 1800 Park Plaza, Suite 1600 Irvine, CA 92614 Main: 949.263.3000 Registration Link: http://msevents.microsoft.com/CUI/InviteOnly.aspx?EventID=5D-BC-15-14-81-B7-05-DA-68-F5-7D-59-6B-E7-02-AB&Culture=en-US Event ID: 1032393294
December 16, 2008 | Bellevue, WA Microsoft Corporation Civica Office Building 205 108th Avenue NE, Suite 400 Bellevue, WA 98004 Main: 425.705.1900 Registration Link: http://msevents.microsoft.com/CUI/InviteOnly.aspx?EventID=5D-BC-15-14-81-B7-05-DA-9E-26-99-66-72-50-7D-10&Culture=en-US Event ID: 1032393295
I had the privilege of publishing another article, "Using Events in Highly Distributed Architectures", in the Architecture Journal, issue 17, after the previous one on Strong User Authentication on the Web in issue 16.
I discussed Event-Driven Architecture (EDA) in this article, in terms of its concepts, and how it can be applied in enterprises as the next step of evolution in SOA initiatives.
The discussion took the direction of building on top of existing SOA infrastructures, so I didn't go into some key aspects for EDA, such as the importance of a robust and reliable messaging infrastructure that can ensure the reliable delivery of messages. It needs to support capabilities such as durable subscribers, message persistence and delivery tracking, idempotence, etc. Without a reliable messaging infrastructure, the collective architecture will not achieve a high level of data consistency, which is what EDA is ideally suited for.
I also did not go into much details, in the article, regarding modeling business processes as another logical layer on top of the asynchronous event distribution models. Now most practices today when modeling business processes follow very BPEL-like approaches - sequential logical workflows and orchestrations. And there are observations that many of these efforts, attempts to catalog or define enterprise business processes, often don't succeed at achieving the intended results. One possible explanation is that it is kind of "unnatural" to try to describe series of business activities as a sequentially linked list of tasks (with conditional branches, loops, etc.). Consequently, many architects end up not modeling the processes appropriately.
On the other hand, we can more easily map out business tasks as lifecycles or state transitions for each object, because that model is actually closer to how business analysts perceive business activities. The EDA perspective is that, in the context of asynchronous eventing models, these state transitions can then be defined into a state machine. Then, a layer of sequential workflows from a traditional business process definition perspective, can be added simply by drawing relationships across the state transitions of each object. It is a more abstracted view of business processes, but the underlying state machine model may bridge many of the gaps in traditional process modeling approaches, and can be mapped directly to an EDA technical implementation.
Lastly, asynchronous systems are inherently more scalable than synchronous systems. Today when people use asynchronous communication patterns to connect systems, they often integrate processes at a functional level (i.e., having logical dependencies on the outcomes of other distributed processes). As we move towards an environment where applications become much more inter-connected, both internally within an enterprise SOA environment, and with external partners via the open Internet (from a B2B perspective); and applications becoming more dependent on a growing number of externally distributed components, higher levels of functional decoupling will be needed to improve many aspects of the distributed architecture. EDA approaches seem to provide some relatively good answers from that perspective, but in practice, just like over-arching SOA initiatives, still have many challenges to overcome.
Here are the content for the Architect Council event at Microsoft's Mountain View campus on Tuesday, November 18, 2008. We would like to thank everyone who made the time to attend, and sharing your feedback. We appreciate the kind comments, as well as areas we need to improve upon. If you have any further questions and/or comments, please feel free to reach out to us (via blogs listed on this site, our email addresses, or other information contained in the slide decks).
Looking forward to another set of events next quarter!
Microsoft and Cloud Computing (PPTX):
A Lap Around the Mesh Services (PPTX):
Azure Services Platform (PPTX):
And a couple of upcoming events:
XAMLFest - Dec. 16-18 – Mountain View, CA
Architect Council - Dec. 18 - San Francisco, CA
SOA & Business Process Conference 2009 - Jan. 27-30 – Redmond, WA
MSDN Developers Conference 2009 - Feb. 19 – San Francisco, CA
MIX 2009 - Mar. 18-20 – Las Vegas, NV
Tech•Ed 2009 - May 11-15 – Los Angeles, CA
Professional Developers Conference 2009 - Nov. 17-20 – Los Angeles, CA
Live Services Jumpstart 2009
Want to build traffic, drive user engagement and influence behavior through your Web applications?
Want to ride the social networking and mobility wave in the consumer market?
Join us at the Live Services Jumpstart event in a city nearest to you to explore the full breadth of the consumer components of the Microsoft ‘Software + Services’ Services – Live Services – in several in-depth technical sessions, hands-on code labs and informal Q&A. Microsoft's top engineers and Web development experts will lead you through 2 days of level 300-400 discussions on the latest technologies and upcoming offerings. Jumpstart your business with Live Services. Register today!
About Live Services Live Services enables developers to engage large audiences with rich social sharing embedded experiences, and to connect the power and scale of the Web to rich client experiences across a world of digital devices. Live Services:
Live Jumpstart 2009 | Los Angeles, CA
December 1-2, 2008
Microsoft Los Angeles Office
333 South Grand Avenue, Suite 3300
Los Angeles, CA 90071
Here are the slides for my talk at the TechDays08 event in Costa Mesa on Thursday, November 13, 2008. I'd like to thank everyone who made the time to attend. Personally I really enjoyed the interactive questions and was glad to share this information with the community, even though I wasn't able to go through the content, and that my demo crashed! :) Lots of interest and questions in this area; please feel free to reach out if you have any as well.
Make sure you check out presentations from my fellow teammates:
And also my friend and esteemed colleague Mike Vincent who delivered the presentation on "The Role of an Architect".