Top Banner
Windows AZURE services Vadym Fedorov, July 2010
31
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Azure for ug

Windows AZURE services

Vadym Fedorov, July 2010

Page 2: Azure for ug

Agenda

Cloud Computing - Some terms Why cloud computing? Windows Azure What is Azure Programmatically? Desktop And Related Azure

Concepts Services Provided and APIs Tools Reference

Page 3: Azure for ug

Cloud Computing - Some terms

Term cloud is used as a metaphor for internet A model of computation and data storage based on “pay as you

go” access to “unlimited” remote data center capabilities A cloud infrastructure provides a framework to manage scalable,

reliable, on-demand access to applications Concept generally incorporates combinations of the following

Infrastructure as a service (IaaS) Platform as a service (PaaS) Software as a service(SaaS)

Not to be confused with Grid Computing – a form of distributed computing

• Cluster of loosely coupled, networked computers acting in concert to perform very large tasks

Page 4: Azure for ug

Details and Examples of Cloud

Page 5: Azure for ug

Why cloud computing?

Data centers are notoriously underutilized, often idle 85% of the time Over provisioning Insufficient capacity planning and sizing Improper understanding of scalability requirements etc

Offers startups and SMB’s quick setup, scalability, flexibility and automated management. Pay as you go model helps startups to start small and go big

Cost effective solutions to key business demands Move workloads to improve efficiency

Page 6: Azure for ug

Windows Azure

The Windows Azure provides core technologies for building rich services on top of unreliable but scalable hardware (i.e., a cloud operating system) Supports building applications that scale Programming tools and interfaces are designed to be familiar to

traditional desktop programmer Introduce new concepts that are similar to existing ones at a

different abstraction level

Page 7: Azure for ug

What is Azure Programmatically?

Web Role (Web UI). Worker Role (similar to a windows service). Storage.

Blobs. Data. Queues. – key to scalability.

Web Role

AzureStorag

e

Browser

Browser

Browser

Browser

Browser

Web Role

Web Role

N L B

Worker Role

Worker Role

Worker Role

N L B

p1 p2 p3

Page 8: Azure for ug

Desktop And Related Azure ConceptsDesktop

EXE Application

Configuration Manifest DLL

Windows forms library

Windows service Local data stores

Windows Azure

Service package Service

configuration Service definition Service role

Web role Worker role

Internet data stores

Page 9: Azure for ug

“Typical” Azure Application

Your Data

Your Application

LB

Web Site(ASPX, ASMX,

WCF)

Web Site(ASPX, ASMX,

WCF)Web Role

(ASPX, WCF, PhP)

Worker Service

Worker Role

LB

Queues

Blobs

TablesInternet

Windows Azure Platform

Your Relational Data

Tables Views SPs Triggers

Page 10: Azure for ug

Services Provided and APIs

Services Web Applications (Web Role, Worker Role). Storage – File, Blobs, and Tables. Queues. Timed Processing.

APIs REST based. High level library. ASP.NET Providers.

Page 11: Azure for ug

Service Concepts

Service definition Defines aspects of a service that cannot be changed without

redeployment• Types of roles and static role configuration• Set of configuration settings for a role• Contract with the environment code runs

Service configurations Defines values for properties that can be dynamically updated for a

running deployment• Values of a configuration parameter• Number of running instances

Page 12: Azure for ug

Storage Services

Web Role Web farm that

handles request from the internet

IIS7 hosted web core Hosts ASP.NET XML based

configuration of IIS7

Integrated managed pipeline

Supports SSL

Public Internet

Web Role

Load Balancer

Page 13: Azure for ug

Worker Role No inbound

network connections

Can read requests from queue in storage

Storage Service

Public Internet

Worker Role

Page 14: Azure for ug

Blobs – provide a simple interface for storing named files along with metadata for the file

Tables – provide structured storage. A table is a set of entities, which contain a set of properties

Queues – provide reliable storage and delivery of messages for an application

Windows Azure Storage Abstractions

Page 15: Azure for ug

Blobs stored in Containers 1 or more Containers per account

Scoping is at container level …/Container/blobpath

Blobs Capacity 50GB in CTP Metadata, accessed independently name/value pairs (8kb total) Private or Public container access Use Blobs for file system

Blobs

Page 16: Azure for ug

Block

Blob Storage Concepts

BlobContainerAccount

Account

Pictures

IMG001.JPG

IMG002.JPG

Movies MOV1.AVI

Block AAAA

Block AAAB

Block AAAC

Page 17: Azure for ug

Simple asynchronous dispatch queue Create and delete queues

Message: Retrieved at least once Max size 8kb Operations:

• Enqueue• Dequeue• RemoveMessage

Queues

Page 18: Azure for ug

Queue Storage Concepts

MessageQueueAccount

Account

Thumbnail Jobs

128x128, http…//:

256x256, http…//:

Indexing Jobs

http…//:

http…//:

Page 19: Azure for ug

Entities and properties (rows & columns) Tables scoped by account Designed for billions+ Scale-out using partitions

Partition key & row key Operations performed on partitions Efficient queries No limit on number of partitions

Use ADO.NET Data Services

Tables

Page 20: Azure for ug

Table Storage Concepts

EntityTableAccount

Account

Users

Name=…hash…=

Name=…hash…=

PhotoIndex

Tag=…id…=

Tag=…,id…=

Page 21: Azure for ug

SQL Azure is an umbrella name for a group of cloud-based technologies for working with relational and other types of data. The first members of this family to appear are SQL Azure Database and “Huron” Data Sync.

Familiar SQL Server relational model Uses existing APIs & tools Friction free provisioning and reduced management Built for the Cloud with availability and scale Accessible to all from PHP, Ruby, and Java

SQL Azure

Page 22: Azure for ug

Constants Constraints Cursors Index management and rebuilding indexes Local temporary tables Reserved keywords Stored procedures Statistics management Transactions Triggers Tables, joins, and table variables Transact-SQL language elements User-defined functions Views

SQL Azure. Supported

Page 23: Azure for ug

Common Language Runtime (CLR) Database file placement Database mirroring Distributed queries Distributed transactions Filegroup management Full Text Search Global temporary tables Spatial data and indexes SQL Server configuration options SQL Server Service Broker System tables Trace Flags

SQL Azure. Not supported

Page 24: Azure for ug

Only SQL Authentication. No exposing of the physical administrative functions. 2 types of accounts:

1GB databases. 10GB databases.

SQL Azure. Deeper look.

Page 25: Azure for ug

Windows Azure and SQL Azure

Azure Storage SQL Azure

Vision Highly scalable, highly available store in the Cloud

Scalable, highly available relational store in the Cloud

Access Uses WCF Data Services - REST

SqlClient + TSQL(Use Azure Web Role + WCF Data Services if REST is required)

Relational? (today) No Yes – but with some limitations

Relational? (tomorrow)

No Yes – with less and less limitations

Analogy File System RDBMS – as it is

Page 26: Azure for ug

Developing – languages and tools

Software Development Kit

Develop Run

Code

Data

RelationalData

Portal

Deploy

Api

Page 27: Azure for ug

Software Development Kit

Local Machine

Windows Azure Simulation Environment

Development Fabric Development Storage SQL Server Express

Page 28: Azure for ug

Tools

Develop locally. Visual Studio 2008/2010 Project Plugin. Development Storage. Development Fabric. Sql Server Express running locally.

Page 29: Azure for ug

Write Applications for Windows Azure

Microsoft Visual StudioDevelopment Environment

End Users

Windows Azure Platform

Developers

Page 30: Azure for ug

Summary

PaaS for Rapid Cloud Development, Deployment and Maintenance

For .NET and… for not .NET A new programming model

• Web role • Worker role• Blobs, Tables and queues