Jimmy Narang 1. A service in the cloud has to: Be able to handle arbitrary node failures Be available all the time Be able to scale up or down on demand.

Slides:



Advertisements
Similar presentations
Windows Azure IaaS – Deep Dive
Advertisements

Building a Database on S3 Matthias Brantner, Daniela Florescu, David Graf, Donald Kossmann, Tim Kraska Xiang Zhang
Page 1 Ricardo Villalobos Windows Azure Architect Evangelist Microsoft Corporation Designing, Building, and Deploying Windows Azure applications.
PlanetLab Operating System support* *a work in progress.
Azure Services Platform Piotr Zierhoffer. Agenda Cloud? What is Azure? Environment Basic glossary Architecture Element description Deployment.
Overview Of Microsoft New Technology ENTER. Processing....
Hands-On Microsoft Windows Server 2003 Networking Chapter 7 Windows Internet Naming Service.
Working with SQL and PL/SQL/ Session 1 / 1 of 27 SQL Server Architecture.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
COS302. = Managed for YouStandalone Servers IaaSPaaSSaaS Applications Runtimes Database Operating System Virtualization Server Storage Networking.
Service Broker Lesson 11. Skills Matrix Service Broker Service Broker, provides a solution to common problems with message delivery and consistency that.
Microsoft Load Balancing and Clustering. Outline Introduction Load balancing Clustering.
Inexpensive Scalable Information Access Many Internet applications need to access data for millions of concurrent users Relational DBMS technology cannot.
Cloud Computing Systems Lin Gu Hong Kong University of Science and Technology Sept. 21, 2011 Windows Azure—Overview.
Name Title Microsoft Windows Azure: Migrating Web Applications.
VM Role (PaaS)Virtual Machine (IaaS) StorageNon-Persistent StoragePersistent Storage Easily add additional storage DeploymentBuild VHD offsite and upload.
WINDOWS AZURE STORAGE 11 de Mayo, 2011 Gisela Torres – Windows Azure MVP Aventia-Renacimiento Twitter:
Inside Windows Azure Storage Name Title Microsoft Corporation.
Training Workshop Windows Azure Platform. Presentation Outline (hidden slide): Technical Level: 300 Intended Audience: Developers Objectives (what do.
Components of Windows Azure - more detail. Windows Azure Components Windows Azure PaaS ApplicationsWindows Azure Service Model Runtimes.NET 3.5/4, ASP.NET,
Azure in a Day Training Azure Blobs Module 1: Azure Blobs Overview Module 2: Blob Accounts – DEMO: Setting up a Blob Account – DEMO: Mapping a custom.
INSTALLING MICROSOFT EXCHANGE SERVER 2003 CLUSTERS AND FRONT-END AND BACK ‑ END SERVERS Chapter 4.
Monitoring Latency Sensitive Enterprise Applications on the Cloud Shankar Narayanan Ashiwan Sivakumar.
Larisa kocsis priya ragupathy
Austin code camp 2010 asp.net apps with azure table storage PRESENTED BY CHANDER SHEKHAR DHALL
Windows Azure Storage – Essential Cloud Storage Services Denver Cloud Computing User Group
Windows Azure Tour Benjamin Day Benjamin Day Consulting, Inc.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Azure in a Day Training Azure Queues Module 1: Azure Queues Overview Module 2: Enqueuing a Message – DEMO: Creating Queues – DEMO: Enqueuing a Message.
Mostafa Abdollahi Mazandaran University Of Science And Technology January 2011.
1 Working with MS SQL Server Textbook Chapter 14.
WINDOWS AZURE STORAGE SERVICES A brief comparison and overview of storage services offered by Microsoft.
Module 11: Implementing ISA Server 2004 Enterprise Edition.
T.N.C.Venkata Rangan CEO, Vishwak Solutions Your Data on Cloud.
Interoperability. Describe the technology Explain the commercial model Consider Workload Patterns and Application Types Discuss Future Direction Objectives.
Week #3 Objectives Partition Disks in Windows® 7 Manage Disk Volumes Maintain Disks in Windows 7 Install and Configure Device Drivers.
Virtual techdays INDIA │ august 2010 Building & Migrating Web applications using Windows Azure storage Ramaprasanna Chellamuthu │ Developer Evangelist;
Visual Studio Windows Azure Portal Rest APIs / PS Cmdlets US-North Central Region FC TOR PDU Servers TOR PDU Servers TOR PDU Servers TOR PDU.
Windows Azure Virtual Machines Anton Boyko. A Continuous Offering From Private to Public Cloud.
Azure in a Day Azure Tables Module 1: Azure Tables Overview Module 2: REST API – DEMO: Azure Table REST API Module 3: Querying Azure Tables – DEMO: Querying.
(WINDOWS PLATFORM - ITI310 – S15)
Windows Azure. Azure Application platform for the public cloud. Windows Azure is an operating system You can: – build a web application that runs.
North America Europe Asia Pacific Data centers.
Zvezdan Pavković. Storage Non-Persistent Storage Persistent Storage Easily add additional storage. Networking Internal and Input Endpoints configured.
Cloud Computing is a Nebulous Subject Or how I learned to love VDF on Amazon.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
 Mike Martin  Architect  MEET Member  Crew Member of Azug  Windows Azure Insider  Windows Azure MVP  
Windows Azure Fundamentals Services Storage. Table of contents Overview Cloud service basics Managing cloud services Cloud storage basics Table storage.
Windows Azure Custom Software Development Mobile Middleware Windows Azure Compute Dipl.-Ing. Damir Dobric Lead Architect daenet
Distributed Logging Facility Castor External Operation Workshop, CERN, November 14th 2006 Dennis Waldron CERN / IT.
Scalability == Capacity * Density.
Azure in a Day Training: Windows Azure Module 1: Windows Azure Overview Module 2: Development Environment / Portal – DEMO: Signing up for Windows Azure.
Review CS File Systems - Partitions What is a hard disk partition?
Module 6: Administering Reporting Services. Overview Server Administration Performance and Reliability Monitoring Database Administration Security Administration.
Bigtable: A Distributed Storage System for Structured Data
Microsoft Cloud Computing. Topics to be covered 1.Environmental Features of windows azure 2.What is Cloud Computing 3.Roles in Cloud Computing 4.Benefits.
Technology Drill Down: Windows Azure Platform Eric Nelson | ISV Application Architect | Microsoft UK |
Building Cloud Solutions Presenter Name Position or role Microsoft Azure.
Building web applications with the Windows Azure Platform Ido Flatow | Senior Architect | Sela | This session.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
COS312. CLOUD COMPUTING IT as a Service On-PremisesStorageStorage ServersServers NetworkingNetworking O/SO/S MiddlewareMiddleware VirtualizationVirtualization.
Design considerations for storing data in the Cloud
Diagnostics and Service Management
03 | Data Storage Bruno Terkaly | Technical Evangelist
Outline Virtualization Cloud Computing Microsoft Azure Platform
Windows Azure Cloud.
Saranya Sriram Developer Evangelist | Microsoft
Building Scalable and Reliable Applications with Windows Azure
Making Windows Azure Relevant to IT Professionals
Server & Tools Business
Presentation transcript:

Jimmy Narang 1

A service in the cloud has to: Be able to handle arbitrary node failures Be available all the time Be able to scale up or down on demand without the need to re-write the code Handle platform or software upgrades 2

The service design must be: Loosely coupled Such that node failures do not affect functionality Nodes can be initialized and added easily State of the service is decoupled from nodes Scale can be achieved through quantity (scale out) 3

Cloud: thousands of connected servers Azure: an operating system for the cloud Abstracts away hardware – switches, servers, disks, routers, load- balancers Manages deployment, so that developer can upload code and hit ‘run’ Provides reliable common storage that can be accessed from any mode Provides a familiar development platform 4

A service boundary Roles Each role has a number of identical instances Two types of roles: web roles and worker role Storage Accessible from any instance Blobs, tables, queues Endpoints External: communicate outside the service boundary Internal: communicate within the service boundary 5

Web Role Cloud Storage LB n role instances Worker Role Web Role Worker Role Web Role Worker Role 6 External endpoint Service Boundary Internal endpoints External endpoint m role instances

Developers write their code and describe a service model Service model includes role definitions, VM Size, instance counts, endpoints, etc. code + service model is packed and uploaded to Azure, which deploys the service in Microsoft Datacenters 7

Two types: web roles and worker roles No Admin access; cannot install applications Choose a particular VM capacity for each role Specify number of instances per role Azure starts a fresh instance if an existing one crashes Code: Extend RoleEntryPoint class for worker roles; optional for web roles. Asp.Net for web roles 8

Each service runs in an isolated boundary The service deployment is assigned a Virtual IP address (VIP) The service is reachable externally via ‘external endpoints’ on this VIP External endpoints: ports selected to be exposed to the outside world for in-coming connections to the service Usually http and https on web roles (i.e., port no. 80 and 81) Can be TCP endpoints on worker roles Both web and worker roles can make outbound connections to Internet resources via HTTP or HTTPS and via Microsoft.NET APIs for TCP/IP sockets. 9

Azure provides APIs to obtain internal IPs of each instance in each role Roles can define ‘internal endpoints’ (ports exposed within the service) to communicate between instances 10

Accessed from anywhere using account name and storage key Exposed in the form of URIs: / 11

Queues: often the best way to communicate between roles Messages can be 8kb max use messages as pointers to blobs/tables for larger data Can create several queues per account Not guaranteed Fifo; no priority queues either. Guaranteed each message will be seen at least once 12

Create / Delete queue Get / Put message Peek message (queueName, n) Delete message (queueName, msgId, popreceipt) ‘get message’ does not lead to deletion! Clear Queue 13

MessageID: A GUID associated with each msg VisibilityTimeOut: default 30 seconds, max: 2 hours. Messages not deleted within this interval will return to the queue PopReceipt: A string retrieved with every get-msg. PopReceipt+MsgID required to delete a msg MessageTTl: (7 days) messages not deleted within this interval are garbage collected 14

C1C1 C1C1 C2C2 C2C Producers Consumers P P C1: GetMsg (returns 1) C2: GetMsg (returns 2) C2: DeleteMsg #2 C1 dies C2: GetMsg (returns 3) Visibility Timeout on Msg#1 C2: DeleteMsg #3 C2: GetMsg (returns 1) 15

A large chunk of (raw binary) data Blob Operations: Create / Delete Read / Write: byte range (page blob) or blocks (block blob) Lease the blob Create a Snapshot Create a copy Mount as Drive (page blob) 16

Hierarchy: accounts, containers, blobs / An account can contain multiple containers A container can contain blobs or other containers Fine grained access control can be granted to containers/blobs (grant permissions for individual operations such as read, write, delete, list, take snapshot etc.) 17

A blob as a sequential list of blocks Each block has an ID Blocks are immutable Upload blocks out of order / in parallel PutBlock to upload block PutBlockList to stitch uploaded blocks into blob Order of upload doesn’t matter; order in Putblocklist matters. Putblocklist: First commit wins (all uncommitted blocks are garbage collected) 18

Block Id 1Block Id 3Block Id 2 Block Id 4 Block Id 2Block Id 3 Block Id 4 PutBlob (name); PutBlock(BlockId1); PutBlock(BlockId3); PutBlock(BlockId4); PutBlock(BlockId2); PutBlock(BlockId4); PutBlockList(BlockId2, BlockId3, BlockId4); 19

Page blobs: A collection of pages Specify blob size at creation time. Entire range initialized to 0 at creation Read/Write specific byte ranges, no ‘commit’ required (unlike block blobs) 512 Byte alignment required for write operations; not required for read 20

A lease is a timed (1 min) lock on a block Acquire lease: create a lease for a blob without one Renew: request to hold the existing lease Release Break: to end the lease but ensure that another instance cannot acquire it until the current lease has expired 21

Can scale up to billions of entries and terabytes of data Contain set of ‘entities’ (rows) with ‘properties’ (columns) (Partition Key, Row Key) defines the primary key Partition key is used to partition the table into storage nodes Row key uniquely identifies an entity within a partition 22

No Fixed schema, except for Partition Key, Row Key, and Timestamp Properties are stored as Two entities can have very different properties Common data types – int, string, guid, timestamp etc. – supported. Limits on the size of an entity (1MB), and # of properties(255, including keys & timestamp) 23

Queries: always return whole entities, no projections Only ‘From’, ‘Take’ (max 1000), ‘where’ operators supported – no select, sort, group-by, join, etc. Normal Boolean and comparison operators supported. For good performance, ‘where’ should have the partition key Insert / Delete Update: Replaces the original entity Merge: modifies properties in place 24

ACID guaranteed for transactions involving a single entity. Group Transactions have restrictions, such as: Only possible for entities in the same partition Entity needs to be identified by primary key Max 100 operations per ‘batch’ Snapshot isolation: there will be no dirty reads Application needs to ensure cross-table consistency 25

A partition (i.e. all entities with the same partition key) are served by the same ‘node’ ‘node’ here should not be thought of as a single server, but a single ‘place’. Entity locality: Entities within the same partition are stored together Tradeoffs in choosing the partition key: large partitions: efficient group queries small partitions: spread across more nodes => greater scalability 26

Updating an entity is a multi-step process: Get the entity from the server Update it locally, and submit to server Entity can get changed in that time Use E-tags (“version numbers”) stored in the header associated with each entity Update only if version number matches with the one you were expecting Or use If-Match * to unconditionally update 27

Use for debugging, performance monitoring, traffic analysis etc. Based on logging: no remote desktop access to instances Choose the required Log sources: Azure, IIS logs, Windows event logs, Perf counters, Crash dumps (and others) Then dump the logs locally or store them in Azure storage (at scheduled intervals or on-demand) 28

X Drive Mount a page blob as a VHD (per instance) SQL Azure Complete relational SQL storage in the cloud Azure appliance A container of pre-configured hardware with Azure installed Content Delivery Network Mark public blobs to be copied to edge locations across a region 29

30