|
|
Browse by Tags
All Tags » Architecture (RSS)
-
MSR-TR-2007-112 - Niobe: A Practical Replication Protocol by John MacCormick; Chandramohan A. Thekkath; Marcus Jager; Kristof Roomp; Lidong Zhou http://research.microsoft.com/research/pubs/view.aspx?tr_id=1355 The task of consistently and reliably replicating data is fundamental in distributed systems, and numerous existing protocols are able to achieve such replication efficiently. When called on to build a large-scale enterprise storage system with built-in replication, we were therefore surprised to discover that no existing protocols met our requirements. As a result, we designed and deployed a new replication protocol called Niobe. Niobe is in the primary-backup family of protocols, and shares many similarities with other protocols in this family. But we believe Niobe is significantly more practical for large-scale enterprise storage than previously-published protocols. In particular, Niobe is simple, flexible, has rigorously-proven yet simply-stated consistency guarantees, and exhibits excellent performance. Niobe has been deployed as the backend for a commercial Internet service; its consistency properties have been proved formally from first principles, and further verified using the TLA+ specification language. We describe the protocol itself, the system built to deploy it, and some of our experiences in doing so.... Read More...
|
-
You are in North America and not in Europe ? You want more content than what fits into a track at TechEd? No problem! Just come to the SOA and Business Process Conference that we're running October 29 - November 2 at the Microsoft Conference Center here in Redmond. There'll be lots of very interesting new stuff from teams across our division here at Microsoft. And our boss speaks, too. If distributed systems and composite applications are your thing, you should be here for that conference. No debating, sign up and come! Read More...
|
-
Even though the TechEd Europe Developer Website doesn't yet clearly say so, Steve Swartz and myself will "of course!" be back with a new set of Steve & Clemens talks in Barcelona for TechEd Europe Developer (November 5-9). And for the first time we'll stay for another week and also give a talk at TechEd Europe ITForum (November 12-16) this year. What will we talk about? Last year we've started with a history lesson, did a broad and mostly technology agnostic overview of distributed systems architecture across 4 talks and closed with a talk that speculated about the future. This year at the TechEd Developer show, we'll be significantly more concrete and zoom in on the technologies that make up the Microsoft SOA and Business Process platform and show how things are meant to fit together. We'll talk about the rise of declarative programming and composition and how that manifests in the .NET Framework and elsewhere. And as messaging dudes we'll also talk about messaging again. At TechEd ITForum we'll talk about the end-to-end lifecycle of composite applications and how to manage it effectively. And of course there'll be "futures". Much less handwavy futures than last year, actually. So .... We'll be in Barcelona for TechEd. You too? Read More...
|
-
Roger Sessions has creates a whitepaper on MSDN entitled "A Comparison of the Top Four Enterprise Architecture Methodologies", which provides a history of enterprise architecture approaches, followed by a comparison of the four major methodologies: Zachman Framework for Enterprise Architectures The Open Group Architecture Framework (TOGAF) The Federal Enterprise Architecture (FEA) The Garner/Meta methodology http://msdn2.microsoft.com/en-us/library/bb466232.aspx... Read More...
|
-
In an interesting follow-on to my previous post about a MSR paper, consider this sample question for infrastructure MCA [Microsoft Certified Architect] candidates about architecting and desigining a planetary-scale patch dissemination service. (Of course, you should try this exercise BEFORE reading the MSR paper if you can!)... Read More...
|
-
There are 4 new sites just released on the MSDN Architecture Center. Architects and developers working in vertical industries face challenges that require unique guidance. Solutions in vertical industries often must perform under severe operational constraints while providing unparalleled stability, regulatory compliance, and ease of use. Accordingly, Microsoft has expanded the MSDN Solution Architecture Center to provide specific guidance for addressing these industry challenges. Financial Services Industry Center http://msdn.microsoft.com/architecture/industry/finservs/default.aspx Manufacturing Industry Center http://msdn.microsoft.com/architecture/industry/manufacturing/default.aspx Retail Industry Center http://msdn.microsoft.com/architecture/industry/retail/default.aspx Office System for Architects http://msdn.microsoft.com/architecture/solvenow/office/default.aspx Enjoy... Read More...
|
-
Microsoft has now formally launched the Microsoft Certified Architect (MCA) Program, which has been in beta testing for over a year. The Microsoft Certified Architect Program identifies top industry experts in IT Architecture. These architects can employ multiple technologies to solve business problems and provide business metrics and measurements to describe the success or failure of the projects they drive. MCA is a peer review system of certification based on seven competencies Leadership Communication Organizational Dynamics Strategy Process and Tactics Technology Breadth Technology Depth... Read More...
|
-
A question that is raised quite often in the context of “SOA” is that of how to deal with data. Specifically, people are increasingly interested in (and concerned about) appropriate caching strategies. What I see described in that context is often motivated by the fundamental misunderstanding that the SO tenet that speaks about ”automony” is perceived to mean “autonomous computing” while it really means “avoid coupling”. The former is an architecture prescription, the latter is just a statement about the quality of a network edge. I will admit that it the use of “autonomy” confused me for a while as well. Specifically, in my 5/2004 “Data Services” post, I’ve shown principles of autonomous computing and how there is a benefit to loose coupling at the network edge when combined with autonomous computing principles, but at the time I did not yet fully understand how orthogonal those two things really are. I guess that one of the aspects of blogging is that you’ve got to be ready to learn and evolve your knowledge in front of all people. Mind that I stand by the architectural patterns and the notion of data services that I explained in that post, except for the notion that the “Autonomy” SO tenet speaks about autonomous computing. The picture here illustrates the difference. By autonomous computing principles the left shape of the service is “correct”. The service is fully autonomous and protects its state. That’s a model that’s strictly following the Fiefdoms/Emissaries idea that Pat Helland formulated a few years back. Very many applications look like the shape on the right. There are a number of services sticking up that share a common backend store. That’s not following autonomous computing principles. However, if you look across the top, you’ll see that the endpoints (different colors, different contracts) look precisely alike from the outside for both pillars. That’s the split: Autonomous computing talks very much about how things are supposed to look behind your service boundary (which is not and should not be anyone’s business but yours) and service orientation really talks about you being able to hide any kind of such architectural decision between a loosely coupled network edge. The two ideas compose well, but they are not the same, at all. Which leads me to the greater story: In terms of software architecture, “SOA” introduces very little new. All distributed systems patterns that have evolved since the 1960 stay true. I haven’t really seen any revolutionary new architecture pattern come out since we speak about Web Services. Brokers, Intermediaries, Federators, Pub/Sub, Queuing, STP, Conversations – all of that has been known for a long time. We’ve just commonly discovered that loose coupling is a quality that’s worth something. In all reality, the “SOA” hype is about the notion of aligning business functions with software in order to streamline integration. SOA doesn’t talk about software architecture; in other words: SOA does not talk about Read More...
|
-
Recently, a gentleman from Switzerland wrote me an email after attending the “WinFX Tour” presentations in Zurich. He is a business consultant advising corporations on the IT strategy and an IT industry veteran with his first programming work dating as long back as 1962. He was quite interested in the Workflow part of my presentation, but wrote me that he thinks that those abstraction efforts go the wrong way. He sees the fundamental gap between business and IT widening and sees very little hope for the two sides to ever find a way to communicate effectively with each other. In his view, IT isn’t truly interested in the reality of business. He wrote me a very long email with several statements and questions, which I won’t quote – the (very long) reply below should give you enough context: Your main concern is, in my words, about the disconnect between the reality of the business vs. the snapshot of a perceived business reality that is translated into a software system. I say “perceived” because the capturing of the actual business reality is done by analysts who are on the fence between being business experts and IT experts and even though they would ideally be geniuses in both worlds to do that translation, they often are coming down on one side of that fence in terms of their core competencies. The only way to close that gap is to pull people off that fence onto the business side and enable them to capture the reality of the business and the way the business processes flow with tools that fit their needs and don’t demand that they are programmers or even have the sense of abstraction that a software designer or process analyst possesses. Our industry is only starting to understand what is required to achieve this and we are certainly thinking hard about these problems. You state that the Business/IT gap cannot be bridged. I do not fully agree with that assessment. I think what you are observing is a particular effect of software architecture and implementation as it exists today. You are truly an “industry veteran” you can certainly see much clearer how software has evolved since you got into the trade in 1962 than I can as a relative youngling. However, my (humble) observation is that the fundamental concepts of business software design haven’t changes all that much since then. A business application is a scoped set of siloed functionality built for a set of predefined purposes and whether the user interacts with the system through batch jobs, green screens, web sites or whether the system is made up of 5000 identical fat client applications with identical logic that talk to a central database is merely an implementation detail. The tradition of (interactive) business software is very much that we’ve got a system with some sort of menu screen or other form of selecting the task you want to perform with the system and any number of forms/screens/dialogs with which you can interact with the system. The reason for your observation of IT conveniently Read More...
|
|
|
|