Search results matching tags 'azure', 'Development', and 'Documentation'http://sqlblog.com/search/SearchResults.aspx?o=DateDescending&tag=azure,Development,Documentation&orTags=0Search results matching tags 'azure', 'Development', and 'Documentation'en-USCommunityServer 2.1 SP2 (Build: 61129.1)Windows Azure End to End Exampleshttp://sqlblog.com/blogs/buck_woody/archive/2012/05/29/windows-azure-end-to-end-examples.aspxTue, 29 May 2012 13:45:59 GMT21093a07-8b3d-42db-8cbf-3350fcbf5496:43642BuckWoody<p>I’m fascinated by the way people learn. I’m told there are several methods people use to understand new information, from reading to watching, from experiencing to exploring. </p> <p>Personally, I use multiple methods of learning when I encounter a new topic, usually starting with reading a bit about the concepts. I quickly want to put those into practice, however, especially in the technical realm. I immediately look for examples where I can start trying out the concepts. But I often want a “real” example – not just something that represents the concept, but something that is real-world, showing some feature I could actually use. </p> <p>And it’s no different with the Windows Azure platform – I like finding things I can do now, and actually use. So when I started learning Windows Azure, <a href="http://www.microsoft.com/en-us/download/details.aspx?id=8396" target="_blank">I of course began with the Windows Azure Training Kit</a> – which has lots of examples and labs, presentations and so on. But from there, I wanted more examples I could learn from, and eventually teach others with. I was asked if I would write a few of those up, so here are the ones I use. </p> <h2>CodePlex</h2> <p><a href="http://www.codeplex.com/" target="_blank">CodePlex is Microsoft’s version of an “Open Source” repository</a>. Anyone can start a project, add code, documentation and more to it and make it available to the world, free of charge, using various licenses as they wish. Microsoft also uses this location for most of the examples we publish, and sample databases for SQL Server. </p> <p>If you search in CodePlex for “Azure”, you’ll come back with a list of projects that folks have posted, including those of us at Microsoft. The source code and documentation are there, so you can learn using actual examples of code that will do what you need. There’s everything from a simple table query to <a href="http://blobshare.codeplex.com/" target="_blank">a full project that is sort of a “Corporate Dropbox” that uses Windows Azure Storage</a>. </p> <p>The advantage is that this code is immediately usable. It’s searchable, and you can often find a complete solution to meet your needs. The disadvantage is that the code is pretty specific – it may not cover a huge project like you’re looking for. Also, depending on the author(s), you might not find the documentation level you want. </p> <p><strong><em>Link: <a href="http://azureexamples.codeplex.com/site/search?query=Azure&amp;ac=8">http://azureexamples.codeplex.com/site/search?query=Azure&amp;ac=8</a>&#160;</em></strong></p> <p>&#160;</p> <h2>Tailspin</h2> <p><a href="http://msdn.microsoft.com/en-us/practices/default" target="_blank">Microsoft Patterns and Practices</a> is a group here that does an amazing job at sharing standard ways of doing IT – from operations to coding. If you’re not familiar with this resource, make sure you read up on it. Long before I joined Microsoft I used their work in my daily job – saved a ton of time. It has resources not only for Windows Azure but other Microsoft software as well. </p> <p>The Patterns and Practices group also publishes full books – you can buy these, but many are also online for free. There’s an end-to-end example for Windows Azure using a company called “Tailspin”, and the work covers not only the code but the design of the full solution. If you really want to understand the thought that goes into a Platform-as-a-Service solution, this is an excellent resource. </p> <p>The advantages are that this is a book, it’s complete, and it includes a discussion of design decisions. The disadvantage is that it’s a little over a year old – and in “Cloud” years that’s a lot. So many things have changed, improved, and have been added that you need to treat this as a resource, but not the only one. Still, highly recommended. </p> <p><strong><em>Link: <a href="http://msdn.microsoft.com/en-us/library/ff728592.aspx">http://msdn.microsoft.com/en-us/library/ff728592.aspx</a></em></strong></p> <h2>Azure Stock Trader</h2> <p>Sometimes you need a mix of a CodePlex-style application, and a little more detail on how it was put together. And it would be great if you could actually play with the completed application, to see how it really functions on the actual platform.</p> <p>That’s the Azure Stock Trader application. There’s a place where you can read about the application, and then it’s been published to Windows Azure – the production platform – and you can use it, explore, and see how it performs. </p> <p>I use this application all the time to demonstrate Windows Azure, or a particular part of Windows Azure.</p> <p>The advantage is that this is an end-to-end application, and online as well. The disadvantage is that it takes a bit of self-learning to work through.&#160; </p> <p><strong><em>Links: Learn it: <a href="http://msdn.microsoft.com/en-us/netframework/bb499684">http://msdn.microsoft.com/en-us/netframework/bb499684</a> Use it: <a href="https://azurestocktrader.cloudapp.net/">https://azurestocktrader.cloudapp.net/</a></em></strong></p>Cloud Computing and the Importance of Code Diagramshttp://sqlblog.com/blogs/buck_woody/archive/2011/05/03/cloud-computing-and-the-importance-of-code-diagrams.aspxTue, 03 May 2011 13:59:20 GMT21093a07-8b3d-42db-8cbf-3350fcbf5496:35407BuckWoody<p>Most mature development shops use various code diagrams to give a symbolic representation of high-level and database code structures. Standards such as <a href="http://www.bpmb.de/images/BPMN2_0_Poster_EN.pdf" target="_blank">Business Process Model Notation</a> (BPMN), <a href="http://www.informit.com/guides/content.aspx?g=sqlserver&amp;seqNum=62" target="_blank">Entity Relationship Diagrams</a> (ERD) and the <a href="http://uml.org/" target="_blank">Unified Modeling Language</a> (UML) are a few I use all the time. </p> <p>In the Distributed Computing (Cloud Computing) paradigm, these three diagrams (or their equivalent) become essential. In the past, I’ve been able to rely on a single architecture where my code will run. I understand the servers, the networking and the path the code takes between the client and the components within that architecture.</p> <p>With Distributed Computing (DC), the architecture changes. In fact, the reason I use the term “Distributed Computing” instead of “Cloud Computing” most often (except in the title of this post, as you can see) is that I feel it’s more technically accurate about how we write code. I don’t view DC coding as an “all or nothing” exercise – I view it as just another option to solve a computing problem. A “hybrid” approach, where I mix in the strengths of a cloud provider is often a great way to leverage the best cost, performance and other advantages of each part of your solution. It can also help keep data secure, provide options for High Availability and Disaster Recovery, and more.</p> <p>To gain these advantages, we have to think more about the components of the application rather than a monolithic stack of components in a single architecture. And that brings us to the title of this post…</p> <p>For us to correctly identify code components, database objects, security paths and other elements, we have to be able to conceptualize them. And that’s where those diagrams come into play. Starting with some sort of business or organizational need, we can use BPMN or UML Actor diagrams to explain what the program needs to do. That helps segregate the security and location requirements. For instance, if&#160; the BPMN shows a data access to Private Information, we can evaluate the need for an on-premise system that is federated to a DC provider. If the business users need global access, we can decide whether to set up a VPN to allow access to an on-premise system or whether a login component can be used on the web.</p> <p>After determining the flow of the program, move on to the data the system will store. In the case of Windows and SQL Azure, there are several options for storing data. In the past, I’ve often selected a single storage type, such as an RDBMS, and stored program data there. Now we can store in multiple formats, in multiple locations and more. The ERD is pivotal, because it defines data types, which can help decisions around where things go. Another important aspect to the data decision which is not covered in an ERD (but perhaps should be) is the estimated size and growth of a datum, since that can also drive the decision on where to put a data component.</p> <p>From there, the UML document helps me understand where each computing element can live. There are strengths for each type of computing, and using the UML diagram I can place each code component in the best environment for speed, security and other considerations.</p> <p>So in the new Distributed Computing world, these graphical documents do much more than just help design the application – they can help define the architecture as well.</p>