Michael Stiefel Reliable Software, Inc. Microsoft Corporation [email protected] http://www.reliablesoftware.com/dasblog/default.aspx What is the cloud? Computation can be a utility.
Download ReportTranscript Michael Stiefel Reliable Software, Inc. Microsoft Corporation [email protected] http://www.reliablesoftware.com/dasblog/default.aspx What is the cloud? Computation can be a utility.
Michael Stiefel Reliable Software, Inc. Microsoft Corporation [email protected] http://www.reliablesoftware.com/dasblog/default.aspx What is the cloud? Computation can be a utility. Azure is a cloud operating system. An operating system: abstracts the underlying infrastructure manages resources Windows Azure primary features: Service management Compute Storage Developer experience You define rules and provide code Platform deploys, monitors, and manages your service according to your rules All of the hardware: servers; load balancers; etc… Virtualized and direct execution Blobs Tables Queues LB n Web Role m Worker Role Cloud Storage (blob, table, queue) Develop and Model Deploy and Run What’s in the model? Service topology and size Health constraints Configuration settings Maintain Service Health Logical resources declared in the service model Platform APIs map logical resources to physical entities Service code then uses these APIs Operating System can replace resources transparently: Failures Upgrades Scaling A balance between power and ease of use Write well behaved services, reduce your TCO Designed for a full range of scenarios, from the hobbyist to the enterprise developer But there is an escape hatch … In “Raw” mode, you can build your own VM and manage the service yourself Simple, essential storage abstractions: Large items of user data: Blobs, Service state: Simple tables, Service communication: Queues, ,… ,… ,… With an emphasis on: Massive scale, availability and durability This is not a database service in the cloud SQL Data Services for Cloud DB capabilities A cloud environment on the desktop Support for a variety of programming languages ASP.NET, .NET languages, native code, PHP An ecosystem of tools and support Integration with Visual Studio, Eclipse Logging, alerts, tracing, … Samples, documentation, MSDN, forums, … Developer Experience Consistent with onpremises Standard support - REST & SOAP Support for 3rd party languages Coming soon Service Hosting Scalable (elastic) Flexible Secure & Reliable Service Management Tracing & logging Upgrade service w/o downtime Real-time monitoring & metering Azure Services Platform Simple scenarios are simple – complex scenarios are possible Services hosted in Microsoft’s data centers Designed for high availability & scalability Multiple protocol support including HTTP, REST, SOAP, AtomPub Broad investment in open, community-based access to Azure services Familiar tools, languages, and frameworks with .NET and Visual Studio Provides the choice to build on-premises, cloud, or hybrid solutions Integrate with existing assets such as AD and premises applications Azure Services Platform ™ .NET Services Access Control Workflow Service Bus Support user identities securely across different organizations Model and execute business logic and service interactions Exchange messages between loosely coupled, composite applications Claims-based identity management Interoperable & based on standard protocols (WSTrust) Manage through web page and/or a services API Supports CardSpace, LiveID, Username/Password Runtime execution environment for XAML-based workflows Enables the orchestration of services Extension of Windows Workflow Foundation XAML-based models can be uploaded to the cloud Simple publish-subscribe eventing Firewall friendly messaging Flexible connection modes Connectivity to on-premises applications to enable hybrid S+S scenarios Extension of Windows Communication Foundation Extending .NET technologies to the cloud Open and accessible REST, SOAP, RSS, AtomPub, … Class libraries for Java, PHP, Ruby, … Easy-to-use from .NET – skills move forward Initial focus on three key developer challenges Application integration Access control in a federated world Application extensibility Key developer challenges Many identity providers, many vendors, many protocols, complex semantics – tricky to get right Application strewn with one-off access logic Hard to get right, not agile, not compliant, many dead ends Approach Automate federation for a wide-range of identity providers and technologies Factor the access control logic from the application into manageable collection of rules Easy-to-use framework that ensures correct token processing These all use same approach to access control: • Microsoft SQL Data Services o Accepts both a Username & Password and a token produced by .NET Access Control Service • • • .NET Service Bus .NET Workflow Service The Portals .NET ServiceBus, .NET Workflow Service and Microsoft SQL Data Services have .NET Access Control Service accounts. These accounts contain scopes and encryption preferences. Rules are automatically added to scopes when new customer accounts are created. The rules are different for the .NET Service Bus, .NET Workflow Service, and the Microsoft SQL Data Service. The .NET Service Bus and .NET Workflow Service grant customer accounts edit permissions based on the rules. Adventure Works Azure™ Services LiveID Access Control Mesh Service Bus Workflo w SQL Data Contoso SAP AD Your Enterprise [email protected] Cory ASP.NET “Geneva” Mail Fabrikam *Hosted or self-hosted AD [email protected] Services Connector Francis <Any ID Provider> Live ID Users XYZ Domain Users Your Customers What can they do? Access Control Service Who is the caller? Integrate Orchestrate Service Bus UI WF Data Your App Store Portal A UI for creating and managing collections of access control rules Client API Provides a programmatic way to manage collections of access control rules Secure Token Service (STS) A hosted service that issues tokens Developers interact with the service via the “Geneva” Framework Flexible, rules-driven access control Rich support for a wide range of identity providers The Geneva framework is the .NET developer experience Easy to incorporate into existing applications Works with lots of other environments; e.g. Sun’s Java Metro 1.3, … Key developer challenges Want to make it easy and secure for partners to use your application Don’t always know the characteristics or scale of the integration Partners / customers / users have devices and services running behind firewalls Approach Provide a high-scale, high-available “Service Bus” that supports open Internet protocols Service Orchestration Naming Federated Identity and Access Control Point Of Sale Service Registry Messaging Fabric Supply Chain CRM POS Integration Product Catalog Inventory Order Entry Customers Leads Web Store Returns Purchasing Planning Campaigns Trends Service Orchestration Naming Federated Identity and Access Control Your Services Service Registry Messaging Fabric Clients On-Premise ESB ESB Desktop, Desktop, RIA, RIA, Web & Web MS/3rd Party Services The Internet Service Bus pattern Service Registry Connectivity (Relay & Direct Connect) Publish/Subscribe Nitty Gritty Bindings Ensuring connectivity Integration with Access Control [http|sb]://servicebus.windows.net/services/account/svc/… Service Registry Root The service registry provides a mapping from URIs to services Root servicebus. windows. net account services svc contoso Multi-Tenant … Two key capabilities Relay Direct connect Relay Ensure applications connect Available to all via the service registry Direct connect Uses the relay to establish communication Then shortcuts for efficiency Available via HTTP / REST / ATOM Available in .NET via WCF Bindings sb://servicebus.windows.net/services/user/service/endpoint Relay Outbound SSL-Secured TCP 828 Connection to Relay Rendezvous Endpoint Sender One-Way Messages through TCP Tunnel Receiver sb://servicebus.windows.net/services/user/service/endpoint Relay - Outbound SSL-Secured TCP 828 Connection to Relay - Out-of-Band Protocol to negotiate Direct Connection Sender Receiver Upgrade to Direct when possible Builds on the relay and direct connect connectivity capabilities Initial release is “connected multicast” Over time will provide additional delivery characteristics – anycast, reliable, … sb://servicebus.windows.net/services/user/service/endpoint Relay Outbound SSL-Secured TCP 828 Connection to Relay Rendezvous Endpoint Sender One-Way Messages through TCP Tunnel Receiver Receiver Receiver Receiver Service Registry Relay and direct connect connectivity Publish/Subscribe Integrated with Access Control services Key developer challenges Want to easily describe long-running processes Want modularity and nesting Easy to describe but in practice harder to run ▪ Hosting and scaling can be challenging ▪ Setup and installing, define scale-out approach, ensure long-running availability, manage upgrades, … Approach .NET 3.0/3.5/4.0 addresses key developer requests .NET Services makes it easy to deploy, manage and run Workflows Tooling Easily describe coordinated work with minimal ceremony VS Designer VS Debugger Re-hosted Designer Workflow Activity Library Tools/Designers Activity Library Runtime Hosts WF Runtime Hosts IIS/WAS+ “Dublin” Workflow Service your.exe “Direct” A reliable, scalable, off-premises, host for workflows A portal at workflow.ex.azure.microsoft.com New activities for the Azure Services Platform APIs that allow you to deploy, manage, and run your workflows on the cloud Enables you to orchestrate services Connect to services in your enterprise anywhere on the Internet – uses the connectivity services Give you partners and customer access – uses the access control services 1. Design Workflows Choose WF Model Use a WF Designer Use new Azure activities and a subset of WF out- of-the box activities 2. Deploy Workflows Upload and validate 3. Manage Workflow Types Add, delete, update, view instances 4. Manage Workflow Instances Create, run, control, track execution Visual Studio WF Designer 1 VS – one click deploy 2 1 Design Workflows 2 Deploy Workflows 3 Manage Workflow Types 4 Manage Workflow Instances Your Apps & Services http:// 2 Workflow & Rules XAML 3 4 •Workflow Portal •WorkflowClient API •SOAP Web Service ServiceBus Execute Workflows with high availability Design Workflows using existing tools Easily deploy and manage Workflows Portal for easy access Management APIs for rich automation WINDOWS AZURE STORAGE SQL DATA SERVICES “Essential storage service in the cloud” “Premium database service in the cloud” Provides a core set of nonrelational storage and retrieval abstractions at massive scale Extends the rich capabilities of the SQL data platform to the cloud at scale Relational data processing over structured and unstructured data Integrate with key data platform capabilities – e.g. Data Analytics, Reporting, ETL SQL Services Developer Agility Relational queries Blobs XML wire format SOAP and REST support Scalability and Flexibility Reliability and Security Data partitioned for throughput and unlimited Scale Transactional Consistency. Flexible data model - no enforced schema Built using Microsoft SQL Server technology Authentication & Authorization Backup and geodistribution for Business Continuity SDS is built on three key pillars: 1. Storage for all data types from birth to archival 2. Rich data processing services 3. Operational excellence Reporting We’ll focus on Data model/access Occasionally connected Business intelligence Analysis Integration Query FILE RDBMS OLAP XML Mobile/ Desktop Server Sync Search DataServices Line of Business Applications Delivered as a Service Collaborative Web Applications Shared Data Hub Data Warehousing and Business Intelligence Authority Unit of geo-location and billing Server, Tied to DNS Name uthority Container Unit of consistency/query (DB) Collection of entities No schema required (no metadata) ontainer Entity Property bag of name/value pairs Unit of update/change (rows) Flexible shape and types ntity Entity properties may differ in type and instance: Different Instance Types Additional Property SDS Front End SDS apps are container-aware Requests include a target container Implementation is opaque to users Containers – unit of consistency Replicated for reliability and HA Reconfigured during failover Used for load balancing Rich SQL-like operations within a container Some operations crosscontainers Container size limitations SDS Back End Container X SQL Data Services (SDS) has been architected for flexible use within your future software+service application architectures SDS is being extended in many important directions, revealing the full power of SQL Server and the SQL Server data platform in the cloud Relational capabilities Data model Alignment to ADO.NET Data Services conventions Data Synchronization SQL Server platform capabilities like BI Azure Services Management Tools: http://code.msdn.microsoft.com/AzureManagementTools … are a set of building blocks for handling user data and application resources which can connect your application to hundreds of millions of users. Live Services Mesh Services 1.2B 367M 460M 30B nnPB 320M Live Services Jump Start Traffic 460+ Million people on Windows Live Embed Social Building Blocks Comprehensive Windows Live services API’s (incl. Messenger, feeds, contacts, search) Developer Tooling with integrated Live Services Connect across Devices Open, interoperable programming interface and resource model across PC, Phone and Web Data synchronization and local accessibility across many end points Cloud/Client/Device reach Access to user-data Application ecosystem Easy to get started Live fx is the uniform way to program Live Services Any platform, Any programming language Any application or device Live fx makes it easy to build software + service applications .NET developers can use the Live fx API kit to build applications Integrate Live Services into your applications Opt in to as much of the Live Framework as you like Expose your application as Mesh Applications World of Devices Social and Community Sites Bring exciting new devices into the Mesh, integrate with core infrastructure and experience Seamlessly integrate social applications across invites, news feeds, local devices experiences, and more Web-tothe Client Take your web application and content to the client, enable a rich and seamless offline experience Client-tothe Web Service-enable client applications, make them Mesh-aware, enable multi-user sharing-based experiences Live fx is the uniform way to program Live Services Any platform, Any programming language Any application or device Live fx makes it easy to build software + service applications .NET developers can use the Live fx API kit to build applications Operating system for the cloud Designed for utility computing Four primary features: Automated service management A powerful service hosting environment Scalable, available cloud storage A rich, familiar developer experience Designed to encourage best practices: Stateless compute + durable storage Co-location of computation and data Queues for asynchronous processing An open platform Connect outbound to any server Open protocols and APIs on all components It’s about “The Power of Choice…” Extend existing On-Premise Application Deploy Complete Application in the Cloud Compose New Application from Cloud Services PDC • Compute • Simple Storage • Developer Tools 2009 • Native Code Support • Advanced logging and tracing • Dynamic Scaling • Variable VM sizes • Query support for Joins, Top, OrderBy • Simple Data Model • Transactional Consistency • Data Protection • Rich data types • Relational queries • Business Intelligence as a Service • Access Control • Workflow • Service Bus • Message Queuing • Live Services • Live Framework for developers • Live Mesh Experience • Live Mesh services in next major release of Windows Live • Additional data elements via Live Framework Future • Global datacenter presence • Support for Windows Server VM’s • 3rd party open standards support, e.g. PHP, Ruby , Python, Eclipse • Services Library/ Marketplace Capital Expen$e vs. Operating Expen$e And all the financial & operational implications that entails…. Consumption-based business model You pay only for what you use No minimum or long term commitment An inexpensive way to experiment Easy to grow as your business grows Elastic capacity and scalability Simpler operating and management environment for developers Integrates well with on-premises applications and services Leverages existing technology investments and skillsets Hurricanes! DRP! Geo-location! Register for a .NET Services account & download the SDK http://www.azure.com Download the Azure Services Training Kit and HOLs: http://www.microsoft.com/azure/trainingkit.mspx Review the PDC Content at: http://channel9.msdn.com/pdc2008 + Robot Pack - Lego NXT Robot Kit + WROX Robotics Developer Studio book Mobility Pack - LifeCam NX-6000 & Wireless Notebook Laser Mouse 6000 Gamer Pack - Gears of War 2, PGR4, Mass Effect, Xbox 360 Wireless Headset & 3-month XBOX Live Card MSDN Subscription - one-year VSTS 2008 Team Suite w/MSDN Premium Subscription SoftLayer: Free WS 2008 Web Edition and SQL Web Edition with any server order over $179 Giveaways will happen at the end of the last session in each breakout room. You must fill out page 1 completely and you must be present to win. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.