cloud computing 360 bill zack, architect evangelist, microsoft wzack@microsoft.com blog:...
Post on 26-Dec-2015
214 Views
Preview:
TRANSCRIPT
Cloud Computing 360
Bill Zack, Architect Evangelist, Microsoftwzack@microsoft.comBlog: blogs.msdn.com/billzack
WhoAmI?
Founder and Co Moderator: New York City .NET Developers GroupFounder and President New York chapter: International Association of Software Architects (IASA)Sponsor of the New York Azure User GroupAuthor of several books and white paperBlogger on Cloud Services
http://blogs.msdn.com/billzack
Architect Evangelist for Microsoft
In case we don’t get to it learn more at a Windows Azure User Group
www.azureusergroup.com
Windows Azure: Application Model & Roles, Cloud Storage, Health MonitoringSQL Services: SQL Data Services, Queries, Sync.NET Services: Internet Service Bus , Access Control , Workflow Live Services: Live ID, Live Mesh
Additional Resources
The Azure Services Portalhttp://azure.com
The Documentation Libraryhttp://msdn.microsoft.com/en-us/azure
Who is the Azure™ Services Platform for?
Anyone building scalable available services
EntrepreneursISVs (large and small)Web startupsHobbyistsetc.
Why should I bet my business on it?
Consumption-based model (TBA Summer 09)You pay only for what you useNo minimum or long term commitmentAn inexpensive way to experimentEasy to grow as your business grows
Managed elastic capacity and scalabilitySimpler operating and management environment for developersIntegrates well with on-premises applications and servicesLeverages existing technology investments and skills
Sounds great! What should I do next?
Download the Visual Studio tools & SDKDevelop and test locallyStart experimenting now
Get access to the real CloudSign up for an accountDeploy your application to the cloud Test it out
Give us feedback!Help us “shape the cloud”
Online +
Microsoft or partner hosted versions of on-premise software. Most carry “Online” moniker. (Some do not )Hosted services include:
Exchange Online and Exchange Hosted ServicesSharePoint OnlineOffice Communications Online (not available yet)Live MeetingDynamics CRM Online
Live
Large set of Microsoft based servicesSubscribed to by an Aggregator (which could also be Microsoft as in the case of the Windows Live portalFor adding functionality to web sites the Aggregators offers up to Internet clients.
Azure Services Platform
Used to build distributed applications and data which may involve on-premise and cloud based components. It provides:
Cloud based Execution of ASP.NET and batch applicationsMultiple Storage types, Database, Internet message relay and pub/subWorkflow
Azure™ Services Platform
Windows® Azure™ (Cloud OS)Service ManagementComputeEssential StorageDeveloper Experience
SQL ServicesSQL Data Services
.NET ServicesAccess ControlService BusWorkflow
13
Windows Azure Service Management
Massive scaleCompute & Storage “Fabric”Hundreds / thousands of server nodesUpward / downward scalability
Availability & DurabilityFault DomainsUpdate Domains
Geo-Distribution
Windows Azure Service Management
You focus on your Business LogicWe provide “Enlightened Mode” (managed) VMsWe handle Automated Service Management
Manage services not machines!Declarative specification (model)Image multi-cast deployment & upgradeAuto scale-out of instancesConfiguration, Health, Alerts, Usage/Billing, SLA
Some programming limitations exist
Windows Azure Compute
Processing Roles (Front End, Back-End)WebWorkerWeb + Worker
InstancesScalabilityDistributionLean OS & Hypervisor basedSupports Managed and Unmanaged code
Windows Azure Web Role
n identical instances of a single roleEx: Highly scalable web application
Store
Front End RoleLB
APIConfiguratio
n
n
Windows Azure Web and Worker Roles
Queue enables async, reliable processingEx: Video encoding application
Store
Front End RoleLB
Back End Role
APIConfiguratio
n
APIConfiguratio
n
n m
Queue
Windows Azure Storage
Massive scale and low costDurable, available, scalable and secureRedundant copies, commodity hardware, layered architecture
Blobs: Simple interface for storing named files along with metadata for the fileTables: Structured storage. A set of entities, which contain a set of properties. PartitonableQueues: Reliable storage and delivery of messages for an application
Windows Azure Storage: Blobs
Store Large Objects (up to 50 GB each)Account/Container/Blob/Block naming
Standard REST Put/Get InterfacePutBlob(BlobName, stream, size)
Overwrites the existing blob by that name
GetBlob(BlobName, starting offset, length)DeleteBlob(BlobName)
Associate Metadata with BlobMetadata is <name, typed value> pairsSet/Get with or separate from blob data bitsUp to 8KB per blob
Streaming a Blob via Blocks
Uploading a Large Blob
10 GB Movie
Windows Azure Storage
Windows Azure Storage
Blo
ck I
d 1
Blo
ck I
d 2
Blo
ck I
d 3
Blo
ck I
d N
blobName = “MyMovie”;PutBlock(blobName, blockId1, block1Bits);PutBlock(blobName, blockId2, block2Bits);
…………PutBlock(blobName, blockIdN, blockNBits);
PutBlockList(blobName, blockId1,
…,blockIdN);
MyMovie
MyMovie
Benefit: • Efficient continuation
and retry • Parallel and out of
order upload of blocks
23
Windows Azure Storage: Tables
Structured storage in the form of TablesA Table is a set of entities (rows)An Entity is a set of properties (columns)
NamespaceAccount Name– Table Name
Entity (PartitionKey, RowKey)Table Name
You give a unique name to each Table, which is scoped by AccountAn account can create many tables
Focus is to provide Scalable Structured Storage via TablesNot a relational database (e.g., no foreign keys, no joins, etc)
Windows Azure Storage: Tables
Your table can grow to be billions of entities (rows) and TBs of data
The table may need to be spread across thousands of servers to handle traffic to that table
Partitioning is how we spread the table out
The Table’s entities are broken into partitions
Partition KeyDocument Name
Row KeyVersion
Column 3Modification Time
Column 4State
……….
Column NDescription
Examples Doc V2.0 8/2/2007 Current ……….
Committed version
Examples Doc V2.0.1 9/28/2007 Working Alice’s working version
FAQ Doc V1.0 5/2/2007 Current Current committed version
FAQ Doc V1.0.1 7/6/2007 Working Alice’s working version
FAQ Doc V1.0.2 8/1/2007 Working Sally’s working version
FAQ Doc V1.0.3 9/6/2007 Working Bob’s working version
Scaling Tables through Partitions
Table’s entities are broken up into PartitionsPartition: set of entities with same partition key value
PartitionKey – unique ID for the partition within the TableRowKey – unique ID for the row within the partitionAll Queries are sorted by Partition Key and then by Row Key
Each partition can be served by different nodes
Partition 1
Partition 2
27
Why Partition?
Entity LocalityEntities in the same partition will be stored together for efficient querying and cache locality when accessing
Table ThroughputTable Storage automatically performs partition load balancing based upon the partition key Scale to meet the traffic needs of your application
28
Windows Azure: Queues
Provides reliable queued message deliverySimple, asynchronous work dispatch via queuesThe programming semantics ensure that a message is retrieved at least once
Queue access provided via RESTAccount can contain QueuesQueue contains MessagesURL: http://<Account>.queue.core.windows.net/<QueueName>
Queues contain MessagesMessage Size <= 8 KBMessages can contain references to blob/table storage29
Windows Azure Developer Experience
Extends what you already know how to do!Leverages Visual Studio
3 New TemplatesFocus on Business Logic, andLeave the scalability and availability to us
SDK has The Cloud in a Box!Emulated cloud servicesSpin up multiple Roles & InstancesF5 debugging & breakpoints
No Breakpoints in the real cloud!Logging/tracing to cloud based log files
Debugging
SDK includes the Cloud “In a Box”. Emulated cloud servicesSpin up multiple Roles & InstancesF5 debugging & breakpoints
No Breakpoints in the real cloud!Logging/tracing to cloud based log files
32
SQL Services: SQL Data ServicesStandard T-SQL over TDS
Managed SQL Server FabricSupports most of what you are used to
Relational Schema (Tables, Indexes & Views)Stored ProceduresTriggers & ConstraintsTable Variables & Session Temp TablesNon-Distributed Transactions
Connection string change: local to cloudThere will be a per-DB max size limit
If Time Permits we will talk about
.NET ServicesAccess Control Service[Internet] Service BusWorkflow
.NET Services: Access Control Svc
Provides hosted identity and access services for organizations while allowing them to fully control it
Next-generation AD access and federation services for organization and third-party applications
Claims based access control using secure tokensBased on standards such as WS-Trust, REST and SOAP
Secure
Federated &Flexible
StandardsBased
ChallengeEnsuring secure transactions for systems in disparate security domains is crucial but difficult to implement
ADFS
COMPANY C
COMPANY B
COMPANY A
.NET Services: Service Bus
ChallengeApplications built in the cloud will need to span systems to talk to other third party apps or applications that are on premise
APPLICATION CAPPLICATION BAPPLICATION A
APPLICATION D
INTERNET SERVICE BUS
Applications can connect securely across firewalls and org boundaries in a loosely coupled, federated manner
Request - Response, and publish subscribe with multiple senders and receivers on a single rendezvous point
low footprint download built using standards such as HTTP, RSS, SOAP
Federated
Powerful
Simple
ServiceClient
RelayedConnection
Connect Open
Authenticate
Authenticate
1
3
24
Identity Service
Connectivity Service
Trust
Service Bus (WCF Relay Bindings)
DirectConnection(optional)
5
6
42
.NET Services: Workflow
ChallengeAs activities are offloaded to the cloud, how do you do long running multi step activities driven by events
Visual Studio
XAML
Application A
Enables you to create workflows without worrying about deployments
Uses similar programming model as on-premises workflows
Enables cross-organization and cross-trust domain workflows
Agility
Simplicity
Federated
Application B
Application C
Workflow (Update)
Windows Workflow in the cloud!XOML onlyRestricted list of allowed activities
Basic “process orchestration” between parties
HttpReceiveHttpSendServiceBusSendXPathReadXPathUpdate
Basic copy/paste deploymentCan also be done via an API
44
CTP Temporary Limitations (Updt)
Only in Two US data centers so farAccess token expiration based on inactivityQuota based account suspension, but arrangements can be made for exceptionsSupport limited to:
ForumsLimited incident support
46
CTP Temporary Limitations (Updt)
VMs provided1 Core 1.9GHZ2 GB memory160 GB local storage (non-persistent)
2 role instances8 VMs in simultaneous use per account2 role instances x 2 roles x 2 tenants (staging and production). This will not be a limitation of the final release.
CTP Temporary Limitations (Repl)
50 GB of storage across all Authorities1000 Containers per Authority 1 GB of Blob Entities per Container100 MB of Flexible Entities per ContainerEach Blob Entity will be capped at 100mb
Sounds great! What should I do next?
Download the Visual Studio tools & SDKDevelop and test locallyStart experimenting now
Get access to the real CloudSign up for an accountDeploy your application to the cloud Test it out
Give us feedback!Help us “shape the cloud”
Security White Papers & Blog
Securing Microsoft’s Cloud Infrastructure Security in Microsoft Business Productivity Online Suite Securing Microsoft’s Cloud Infrastructure
top related