Skip navigation

I am head over heels about Azure and the Live Services. I love it so much that I’ve gone ahead and registered http://www.azurecoding.net Depending on your pronunciation of Azure, you might chuckle at the name. So what are my goals for the site? I want Azure Coding .NET the place to go for news, articles, tutorials, and discussions about Windows Azure and the Live Services including Live Framework, SQL Services, and the .NET Services (we might even talk a little bit about how “Oslo” fits into the picture). I’m going to fire off the first few volleys with some in depth talks about Live Framework, and .NET Services.

Like desktop Windows development, there are too many specialty areas within the cloud development ecosystem for one person to be a master of them all. So I’ll be bringing some friends along. No matter how compelling the topic is, a website is only as good as its community. I will definitely look for ways to engage the community. Look for more on that later!

Well it’s done! What a wild week it has been. From the announcement of Windows Azure, and the .NET/SQL Services to the new features of Windows 7 to upcoming features in WPF/WCF/WF 4.0 and let’s not mention Oslo and “M”. Thank you everyone for following along with my trip, both here and on Twitter. It’s been a blast. I got to finally meet some people I hadn’t met before in person. And of course I met a lot of new names and faces.

PDC 2009 has been announced and I highly recommend that whether by hook or by crook, you find your way down there. Yes you can view all the sessions and information online. But you can’t get the Windows 7 bits yet. You also can’t get a live services/azure key yet. You also miss out on the experience of being with a crowd of smart developers congregating in one place. And of course there’s no substitute for actually being in the room when Ray Ozzie says “…so we’re pleased to announce Windows Azure.”

Personally, I’m extremely excited to finally get my hands on the Live Mesh (now Live Framework) SDK. I have a compelling story to tell with the mesh. And I think it just might change the way you look at your computer! Anyway…enough about my plots for world domination. Plain and simple…PDC is all about catching the wave of new technology and riding it to success. There is a ton of content on the web discussing the “Long Tail” of software development. Jumping on the new tech announced at PDC will help you stay ahead of the long tail. It’s somewhat risky, because we all know what happened to WinFS (rest in peace). But on the other hand, picking the next WPF (even if that happens to be literally the next WPF), can be a very rewarding experience. Ask Josh Smith, and other WPF luminaries.

Hopefully, everyone is stoked and excited. And you’ve already run over to the Azure website to signup for your keys. If nothing else, you’ll get a free web host for the duration of the CTP.

Okay…I couldn’t live blog the whole thing…there’s a lot to take in…but here’s the gist. Mesh takes care of a LOT of complex stuff so you don’t have to be concerned with it.

3:00 Introduction:
       
Mesh is a concept whose time has come
        It takes the Windows platform to the next level
        Allows windows to take advantage of the cloud and the many devices a user has
        This talk mostly about Mesh Architecture
3:04 Agenda
       User Experiences
       Concepts
       Architecture
       Planning and Deployment
       Implementation
       Operations, Experiences, Lessons learned
       Future
3:05 Quick Demo Using Mesh
3:10 Key Capabilities
        Provisioned State (Accounts)
        User-data storage (including replication and synchronization)
        Communications and presence (P2P when possible…fall back to relay when not)
        Notifications (Single channel for asynchronous push)
3:13 Provisioning in the Mesh
        Identity is provisioned during web signup
        Device provisioned during software installation
        Device claim – relationship between user and device established
3:14 REST in the Mesh
        Common metadata for all resources (Uri, LastUpdateTime, Etc.)
        Resource lives within collection (scope for grouping resources and tracking changes)
        Both resources and collections are represented as feeds and items
        Links allow navigation from one resource to another.
3:17 Provisioned State Services
        Account Service is a “Facade” for accessing accounts, devices, and apps.
        The client provides a local cache.
3:18 Folder Synchronization in the Mesh
        Items in data feed represent files (files are the resource)
        A data feed mapping tells Mesh that a given device wants to synchronize with a given feed
        Permission scope defined on mesh object for sharing feeds
3:21 Understanding FeedSync in the Mesh
       Bi-directional replication provided through schema and semantics.
3:23 Getting really deep into how Mesh client is implemented using the Live Framework
3:27 Architecting the Mesh Services for Scalability
       Primary scenarios for scalability concerns
       Startup
       Resource change (initiator)
       Resource change notification (recipient)
       Content replication
          This can take advantage of P2P scenario
3:31 Scale-out strategy
       Partition by user, device, and mesh object
       Use soft state to minimize i/o load
       leverage http semantics for caching, change notification, and incremental state transfer
3:35 How to Partition resources
       Every resource has a stable canonical URI based on its resource identifier
       Mapping a resource id to its home DC requires a lookup in a replicated database
3:37 General Design Principles
       Use commodity hardware
       Partition for scaling out
       Loose coupling across roles
3:38 Deployment
        2 Dual Core sockets
        8 GB RAM
        2TB HDD
        Windows Server
        New machine come on line…fabric is copied to it and it joins the cloud
3:43 Scale Unit Layout

10:30 Observations
         There is a huge diversity of devices
         Change of seasons…Computing used to be about My Computer
         Now digital life spans multiple devices –>My Mesh
         Data is everywhere, in the cloud, on devices
         Data is shared
         Applications now Span Devices
         They are now more social
10:34 Challenges of today’s applications
         Composing data across cloud services and devices is complex
         Creating an ‘uber’ schema…relating information across disparate applications
         Making data AVAILABLE everywhere
         Keeping it synchronized
         Writing communication code that can span these devices
         Dealing with async updates and managing state
         Different programming models
         Resource management across the different devices.
10:39 An approach Live Operating Environment
         Composition Engine
         Schema in the Cloud
         Takes care of the plumbing
         In the cloud and on all devices
         Unified Programming Model
10:40 10k foot view of framework
10:41 Demo…it’s all http!
         No one wants to make all the models the same, just a unified way of using them.
         Using HttpRequest to interact with Live Mesh (as demoed at Don/Chris keynote yesterday.
         More benefits using the Live Operating Environment
10:48 Live Mesh supports Always online and Occasionally connected scenarios
         Talking to the Live Operating Environment handles both scenarios seamlessly.
10:51 Demo same code talking to Live Operating Environment
         Can request from the environment whether you are currently connected
10:53 Inside the Live Operating Environment
         Is host independent
         Service proxies – provide abstraction layer between LOE and service providers
         Pluggable Synchronization Engines
         Scheduler
10:56 Services Provided by the Framework
         Script Engine
         Formatters
         Resource Management
         Filesystem Management
         P2P Communication
         HTTP Communication
         App Engine
         Throttling
         Analytics
         Authorization/Authentication
         Notifications
         Device Management
10:58 Programming model layered over it all
         Resources & Relationships
         Resource Ext
         Naming and Addressing
         Wire Formats
         CRUD
         URI-LINQ etc.
11:00 Everything is a Resource
         They are addressable by standard URI methods
         All HTTP Methods are Supported
11:01 Resource Scripts
         DSL for AtomPub and FeedSync
         Grammar includes statements for CRUD, sync, control flow and data binding
         Powerful batching model
         Pre/Post triggers associated with resources
         Programs serialized in JSON and POX
         Native XAML and DLR bindings coming up
11:03 Control Flow
         Sequence…statements executed in order
         Interleave…parallel operations
         Conditionals
         Looping
         Assignment
11:05 Authoring Scripts
         Build statement DOM
         Compile it
         Execute
         Can store named scripts for later execution
11:06 Resource Script Demo
         Script select random images from flickr create a live mesh folder and store the images in the folder
         Programming resource script very similar to programming CodeDOM
         Compile the script, gives multiple output formats (JSON, POX)
         Because it’s a DOM based language…almost any modeling tool can be used to create a Resource Script
         Loaded Resource Script in python sent the request over http and was able to run as is without any special conversion.
11:19 Data Extensibility Demo
         People want the ability to take their data where ever they want.
         Need to decide what data is a competitive advantage for your app vs. what’s useful to make available to other apps
         Think of Geographic Location with Mesh enabled car
         Data definition done using attributes DataContract
         Stored geolocation and retrieved using mesh.
         Viewing information using Live Framework Resource Browser.
         Viewing data in XML Format
         Viewing data in JSON format
11:35 Tips n’ tricks
          Blow away local store to start fresh
         Metadata Store in SQLCE
         RMB helps debug client/app problems
         Monitor size of Assembler vs MR directory is lightweight way to measure progress of synch
         Collecting logs will help you send issues. Mesh team looks at all logs!        

The Future of Research

8:30-8:45 History of research at Microsoft
       Microsoft Research started in 1990
       Microsoft had just broken 1B in revenue when MSR started
8:45 MSR Mission Statement
        Expand state of the art in technology
        Bring advances in research to product ASAP
        Heavy participation in Academic Community
8:46-8:50 Organized for Innovation
        MSR is structured like a University
        Open Research environment
        Engage the Research Community
        MSR has 850 PhD researchers!
        MSR pulls in world class talent
        Strongest research company in CompSci field.
        Largest PhD internship program in the industry
        More Graduate research hours at MSR than many Universities
8:53 Driving Technologies into products
        Many of Microsoft’s offerings (e.g. DirectX, Windows Media) started in MSR
        TabletPC, Cleartype, SQL Data Mining, among other examples
        CCR and DSS Toolkit started as MSR Robotics tools.
8:56-9:00 Value of MSR To Microsoft
        Source of IP and new product technologies
        Generates about 25% of Company’s patents
        Problem solving
        Able to bring a strong brain trust to bear on difficult product
        Can keep abreast of trends that MSFT should follow
9:00 Research –> Agility
        Can respond more rapidly to change
        Address new technologies, competitors, and business models rapidly
9:01-9:07 Research and Software Engineering
        MSR has made incredible investments in improving SE
        SLAM – static verification of source now provided as Static Driver Verification in Vista DDK
        Proof of program termination now possible because of MSR
        CHESS, Code Contracts, Pex, Z3, and Proof of Church’s Thesis over 70 year old problem
9:07-9:10 DryadLINQ harness power of clustered computing. Single query can be spread across thousands of nodes.
        The same progam can run single-core, multi-core, and cluster.
9:10-9:13 Research for energy Introducing Feng Zhao
        Computers can be made more energy efficient
        Computers can be used to improve energy efficiency of things we use
        Energy efficient computing compelling area of research in Comp Sci
        Programming for using less resources is also programming for energy efficiency.
        Showing special sensor for collecting environment information
9:13-920 Demo of sensor grid collecting temperature data from Keynote hall over the course of conference
        Showing a time lapse of heat map collected from sensors over the Monday Keynote.
9:20 MSFT uses sensors in Data Centers to help monitor cooling and efficiency of HVAC
        Can use data to optimize placement of high workload units within DC
9:23 Sensing in the wild
        SenseWeb: WikiPedia of Sensors
        Can share instrumentation and data for communities of scientists and hobbyist
9:25-9:30 Demonstration of SensorMap
        Showing sensor data mashed up with Virtual Earth Map.
9:30 Environment Sensors can be useful in multiple scenarios
        Data Centers
        Buildings
        Environment
9:30 Research in Healthcare
        Using genetics for personalized healthcare.
        Based on genetic makeup, the same medication that heals one person can kill another
        Unlocking the human genome possible within next 2-3 years.
        Using graphical models to gather more Useful data from genetics
        Fighting HIV using computer learning (same technique used to fight spam)
9:33 Video creating a vaccine for HIV using Machine Learning
        discovered that HIV mutates based on individual genetics
        discovered that some parts of HIV serves as a “decoy” tricking the immune system to waste resources on them
        Microsoft’s Research has lead to advances in Medicine
9:36 Research in Education
       
Virtual Classroom
        Robotics
        Computer Science Curricula
        World Wide Telescope –Virtual Observatory
        Enabled amateur astronomers to discover new astronomical phenomena before Professionals
        New release of WWT Equinox
9:40-9:44 Video Demo of Equinox release
        3D View of Solar System
        Zoom out to surrounding stars in galaxy
        Go view new release available now
        Final Montage…zooming out to view entire visible universe!
9:45-9:48 Discussion about children learning to program
        Boku proect with Matt MacLaurin
        What is Boku – lightweight programming for kids
        Integrating gaming and programming
        Why programming for children
        Programming is actually a life skill.
9:48-9:56 Demo of Boku
        All Programming done with the Xbox 360 controller
        Icon based language program logic
        Rule based model…all rules evaluated at once.
        Characters can respond to joystick movements.
9:56 Video Montage of Boku Creations
9:57 SecondLight Interaction Beyond Surface Steve Hodges
       Showing what appears to be a basic surface unit
       Second projection showing on tracing paper held over the surface!
       You have got to see this!!!

My live blogs have been somewhat popular. To thank everyone for following me, today (and tomorrow) I’m going to do something different…I’m going to the Keynote today for sure. But after that I’m having a hard time selecting what sessions to visit. So for today and tomorrow, I’m going to let you pick my sessions. Now because the Internet is sketchy at times, the simplest way is to send a direct message or reply to me at http://twitter.com/browniepoints. I will tally the votes and go to the session with the most votes and live blog it. Go to the public PDC timeline to view the sessions coming up. Vote for the session in the NEXT time slot only…I’m not going to try to tally all the sessions across all the time slots. I will update this post when a timeslot is closed out and what the results are. Okay…those are the rules…voting for the 10:30 AM Timeslot begins Now Here are your choices

  • BB14 SQL Services Futures
  • BB19 Live Services: Live Framework Programming model
  • BB38 .NET Services: Connectivity, Messaging, Events, and Discovery with the Service Bus
  • ES12 Exposing Connected Home Services to the Internet Via Windows Home Server
  • ES14 IIS 7.0 and Beyond: The Microsoft Web Platform Roadmap
  • ES31 Showcase: Windows Azure Enables Publishing Services
  • PC25 Windows 7: New APIs for Building Context-Aware Applcations
  • TL06 WCF 4.0 Building WCF Services with WF in .NET 4.0
  • TL26 Parallel Programming for Managed Developers with VS 2010
  • TL57 Panel: The Future of Programming Languages
  • TL58 Research Concurrency Analysis Platform and Tools for Finding Concurrency bugs

If nobody votes I will be attending BB19 or BB38 Remember…please send only the number via DM or reply at my Twitter account browniepoints. I would allow you to post it here…but because spaces allows people to post anonymously, people will be able to stack the vote. Please only vote for sessions in the above list. The timeline has the abstract for the session. Voting closes at the end of the Keynote (10PM Pacific, 1PM Eastern) to give me time to tally the results and head to the winning session. So you have two hours to pick and vote. I will post the new list of sessions for the next slot and the winning session here between sessions.

Also since there is only a 15 minute break between morning and lunch sessions. I will skip them. I need energy to keep up the pace. I think that’s everything. Let the voting begin…you have two hours to send me your preferred session for after the keynote. Remember all I need is the session number and you must send it to me via DM or reply on my twitter account.

Edit…I only got three votes for the first timeslot…all for different sessions. Plus one from the missus. Since she voted for BB19 which is one that I listed for the alternative if no one voted…we’ll go with her choice. Next up Live Framework Programming Model!

8:30-8:34 Montage of Windows/Silverlight apps
8:34 Welcome Ray Ozzie
8:35 Yesterday was about services. We introduced Windows Azure. Focused on infrastructure
8:36 Today will be about client facing software.
8:37 The PC has become ubiquitous. It’s easy to take its presence for granted.
8:38 Once in a while you take a step back and reflect on how it has changed over the years.
8:39 Like the PC, the Internet has become something we take for granted. But the PC and the Web are fundamentally separated.
8:40 Our objective is to bring the PC, Web, and Mobile together in new ways.
8:41 Some of the power inherit in the PC
        Full access to displays and peripherals
        Natural UI and common controls
        Personal Experience, etc.
8:42 What about the web?
        Provides a common way to find, and interact with people
        Common way to access and share information
        Common way to connect devices
8:43 Now the phone?
        Phone is always with you
        Easily access
        Can detect where you are
8:44 Bringing the strengths of all three platforms together, provides a much more powerful app.
8:45 Microsoft is focused on making tools to program across the three platforms easier while still leveraging their strengths.
8:46 Windows is the core offering for desktop development
8:46 For the web, IE8, the ASP.NET platform, and now Silverlight provide a rich programming environment
8:47 And today we will introduce a way to bring the web to the desktop and make a web app installable.
8:48 Let’s get started
        Windows 7 and Live Wave 3 Steven Sinofsky
        Development offerings With Scott Guthrie
        Live Services with Dave Treadwell
        Software + Services with Office
8:50 Introducing Steven Sinofsky
        I’m all that’s between you and windows 7 demonstration.
8:51 Think of how Windows 7 can personalize your experience with your PC
        How it can connect your devices
8:52 Julie Larson-Green Windows 7 Introduction
        New taskbar – Brings window switching and quick launch to one place
8:53-9:10 Demonstrating Windows 7
        Demonstrate opening MRU from the new taskbar
        Desktop docking
        Re-ordering icons on taskbar
        New Windows Explorer
        Can search across computers, devices, etc.
        Home-networking simplified
        Homegroup all devices on home network automatically available
        Homegroup deepdive
        New Lightweight Windows Media Player
        Explorer, Media Player, and Media Center share a common library
        Playing music from a different computer onto a networked device
        Windows 7 Device Stage shows everything you can do with a device in one place
        Can view all devices you have access to.
        Desktop personalization and themes
        Notification area full control over system tray
        Action Center queues notifications until you feel like dealing with them instead of annoying popups
        Touch in Windows 7 Showing HP TouchSmart Already available.
        Mouse commands repowered with touch. Word 2007 without any knowledge of touch can take advantage of new touch commands
        IE 8 is touch aware, can take advantage of gestures, on screen keyboard
        Paint with Ribbon interface
        Finger painting in Windows 7!
9:13 Windows Live Essentials and Services overview
9:15-9:20 Engineering Windows 7
        Learned a lot with Vista
        Received a lot of feedback
        Focused on hardware readiness (7 not a new kernel so a lot of the devices that work with Vista now will work with 7 tomorrow)
        Standards Compliance
        Security
        User Scenarios
9:21-9:25 Developing for Windows 7
        Ribbon UI consistent look and feel with windows and office
        Jump List integration and Libraries Deeper Richer integration with Windows
        Multi-touch, ink, speech. Augment the user experience with your software
        DirectX take advantage of hardware power. Not just for games anymore!
9:25-9:26 Partner Video Autodesk Multitouch CAD
9:26 Windows 7 Fundamentals

Decrease Increase
Memory Usage Speed
Disk I/o Responsiveness
Power Usage Scale

9:30 Laptop, 1 GHz Proc, 1GB RAM runs Window 7 still has half of its memory available
9:31-9:37 Cool features of Windows 7
        Bitlocker encryption on a USB Memory Stick
        Includes group policy for requiring Bitlocker on all USB Drives
        Natively mount and manage VHDs
        Can open VHD
        Can Boot from VHD directly.
        High DPI easier to Manage
        Monitor settings easier (e.g. orientaton)
        Improved Magnifier tool
        Windows+P Easy switch of dual monitors
        Dual monitor Remote Desktop
        Shutdown button customization
        Turn of windows subsystem messages.
        UAC settings…similar to IE security zones
9:38-9:42 Path to RTM
        Pre-Beta available today: install it and play with it.
        “E7” Blog: give feedback
        Beta: feature complete-not final but all features…available early 2009
        Feedback tool in beta: rapid way to give in context feedback of what’s not working for you
        CEIP: Tracks usage anonymously helps MSFT get real world usage of Windows 7
        Release Candidate to RTM
9:43-9:45 Call to Action
        Install Windows 7
        Develop for 64-bit
        Focus on Fundamentals
        Integrate with Desktop
        Evaluate new APIs
        Code Website to support IE8
        Get Live Beta
9:45 Introducing Scott Guthrie: Developing for Windows 7
9:46 Windows API available to both managed and native code
9:46 Developing with Win32/C++
9:48 With .NET
        3.5 SP1 Improvements
        Streamlined Setup
        Startup performance
        Graphics improvements w/ wpf
        directx/direct3d
        more controls
        3.5 SP1 will be natively installed on Windows 7
9:49-958 Application Demo
       WPF Ribbon control shipping this week
       Ribbon has support for WPF commands
       Using native WPF navigation to traverse history of photo viewer.
       Skinning the look and feel of the application using themes.
       Supporting Windows 7 Jumps from WPF Can Declare tasks using App.Xaml
       Multitouch from WPF UIElement supports touch natively!
       Demonstrating DirectX Effects on any control
       Touch enabled theme.
9:57 Announcing Final WPF Datagrid and Calendar, and CTP Ribbon Control!
9:58-10:02 .NET 4
       WPF Improvements: Multitouch, deep zoom, Visual state manager
       In-process side by side support
       Managed/native interop
       Dynamic Language support
       MEF
       VS 2010 Built on WPF
      
Better TDD support
10:02-10:05 Demo of VS 2010
         Code Editor is WPF
         Easier plugin model with MEF
         No registration necessary…just copy add-ins to directory and VS can load it.
10:06-10:12 Customer Demo
         Tesco: World’s Largest Online Grocer
         Tesco @ Home
         Rich Client for planning meals and automatically adding necessary ingredients to your basket
         Barcode scanner using Webcam!
         API Available soon
10:12 .NET Continuum
         One platform to target a range of platforms…desktop, web, mobile
10:13 Web Dev Improvements
         IE8
         ASP.NET Improvements including MVC framework
         jQuery support in VS
10:14 Can download jQuery intellisense support now!
10:15-10:18 ASP.NET vNext and VS 2010
         Web Forms improvements
         MVC update coming in VS 2010
         Distributed Caching (“Velocity” in CTP today)
         Better deployment scenarios publish to dev, test, staging, prod.
         Application and SQL!
10:18-10:23 Silverlight 2
         Over 100 Million installed users
         NBCOlympics.com average user watched videos for 27 Minutes on site
         IIS Smooth Streaming
         AOL Mail built fully with Silverlight
         Netflix online viewing using Silverlight
         Announcing Silverlight Toolkit including Charting Control using Open Source License!
         Silverlight Designer in VS 2010
         Silverlight 3.0 coming next year.
         Silverlight running external to browser!
10:23 Introducing Treadwell to talk about Live Services
10:24-10:34 Here’s the Wind up.
10:34  And the Pitch Announcing Live Framework

Decided to do an Azure Hands On Lab. From my first steps with it, I’m impressed. Of course I’ve written what amounts to hello world…but from the Cloud 😉 Remember you can download the SDK from http://www.Azure.com now!

The Big Story in C# 4.0 is Dynamic Programming. Not just Dynamic Typing but also

  • optional and named parameters
  • better COM Support
  • and Co and Contra-variance

The enabling tech for C# 4.0 is the DLR. It provides Dynamic Programming in the .NET environment (CLR). This allows .NET not only to talk to DLR based code, but also JavaScript, COM, Ruby, etc. C# 4.0 and VB.NET 10 will have support for the DLR.

New ‘dynamic’ keyword tells the compiler that an object will be dynamically typed. At compile time the type is dynamic, at runtime the object type is finalized. DLR leverages custom Binders to enable dynamic invocation.

Demonstration of cut and paste from Javascript to C# Changed a few keywords and the Javascript code is now C# code!

How is it done? IDynamicObject, implement an interface and your external application can now be invoked by DLR. For example you can enable a PropertyBag that can be invoked as standard properties. Optional (finally!) and Named Parameters can declare default values for parameters. Enables VASTLY IMPROVED COM Interop! CLR now provides automatic Interop eliminating need for PIA!

Implicit conversion from Dynamic variables to more strongly typed variables.

Demonstration of simplified usage of Office Automation API from C#

.NET arrays are co-variant…but not safely. Generics are not currently co-variant (IEnumerable<String> cannot be used where an IEnumerable<Object> is expected even though String derives from Object). Safe co-variance enables these scenario for output side generics only. Similarly contravariance enables a like structure for input side generics.

Variance supported for interface and delegate types. Supported through statically checked definition-site variance. Not supported in value types. Not supported for out and ref parameters.

Beyond 4.0. Metaprogramming! Using the compiler from the platform. This will enable Metaprogramming REPL, Language Object Model, Embedding DSLs. CSharpEvaluator use the compiler as a service from code. Dynamically compile and run code from code.

Demonstration: declaring a delegate dynamically and invoking it statically.

Demonstration: simple C# console

Demonstration: defining and manipulating a windows form dynamically!

What is Azure?

It’s an Operating System for the Cloud. It allows a developer to remove concerns for scalability, service upgrades, high availability and other concerns so they can write code that addresses their functionality.

Windows Azure provides an analog to a desktop OS but on a set of connected servers:

  • Abstract execution environment
  • Shared file system
  • resource allocation
  • programming environments

Plus support for utiility computing

  • 24/7 operation
  • Pay for what you use
  • Simpler, transparent administration

How Does this Apply to Features?

  1. Automated Service management
  2. Powerful Service Hosting Environment
  3. Scalable and available cloud storage
  4. Rich familiar developer experience

Demonstration

Highlighting simulated cloud environment on desktop. You can test out what will happen when you deploy before you go to the cloud.

Automated Service Management

What’s in the Service Model?

  • Service Topology and size
  • Health Constrants
  • Configuration Settings

Maintaining Service Health

  • Keep A service responsive and healthy in the face of failures and upgrades
  • How?
    • Detect failures, and violations of health constraints
    • Replace failed/missing resources transparently
  • Made possible by abstraction
    • Service declares logical resources in the model
    • APIs map logical resources to physical entities
    • Abstraction makes services agile

The Bottom Line

  • A balance between power and ease of use
  • But if needed you can access the raw system
  • More info at ES02 and ES19

Scalable Available Cloud Storage

Simple, essential storage abstractions

  • Large items of user data
  • Service state
  • Service communication

Points of Emphasis

  • Massive scale availability and durability
  • Geo-distribution and geo-replication

Not a Database in the cloud

More info Sessions ES04

Rich Familiar Developer Experience

  • Simulated cloud environment on the desktop
  • Support for a variety of programming languages
  • Ecosystem of tools and support
    • Integration with VS, and Eclipse
    • Loging, alerts, tracing
    • Samples, documentation, MSDN, forums

Putting It All Together

Azure provides powerful scalability through a simple architecture. It allows you to go from 25 users to 250 thousand with a few clicks. You can leverage the patterns of SOA to take your application to the cloud.

Part 2 Azure Services and Your Application

Microsoft Approach to Azure

Provide a flexible platform with internet scale

Base it on Internet Standards

Extend Your Existing Knowledge and Code

Interoperability

Uses Internet standards to enable access from multiple environments (e.g.Java, PERL, Ruby)

Demonstration

Although Azure will work with multiple environments this IS a Microsoft Conference.

Litware existing ASP.NET application wants to scale to the cloud.

Identity Management

One of the first and easiest steps into Azure Services is to take advantage of Federated Identity Management. The developer no longer has to be concerned with authentication for their application. Can enable federation through windows live ID or ADFS (vNext or current). Demo using live ID
Demo using ADFS: User signs into Windows and their account is federated to the application.
Demo using ADFS vNext

Look at the Code

Litware application configured through “Geneva” to trust Azure Identity Services.
Enabling Claims Based Authorization in 3 lines of code.

For more info on Identity
Review Session BB11 Online
BB55 Later

Live Mesh Servces

Consumer Identity Management? Infocard in the Cloud?
Update profile information in one place…all applications that use it automatically updated.
Pulling back the reins more about Mesh during the keynote.

Service Bus

Let’s look at the internal (code facing) services of Azure

Azure provides an ESB in the Cloud
What does it take to fire a message on the Azure Service Bus
Authenticate to the Service
Point to the Endpoint
Open the channel
Send the message Very similar to WCF development

On the other hand listening for a message follows a similar pattern.

Internet Service Bus

More detail
Sessions BB02 and BB38

Workflow Services and Declarative Programming

Taking WF to the Cloud
Similar designer to the existing WF designer.
Fire, receive, and respond to events declaratively
Use the same workflow that you run on a desktop now get implicit scalability and availability
Management Portal for Workflow Hosts.

SQL Data Services

Sorry I missed most of this section due to network issues. Up next WF 4.0!