Windows Azure Storage Scaling Cloud Storage Andrew Edwards Microsoft

Similar documents
Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency

Introduction to Windows Azure Cloud Computing Futures Group, Microsoft Research Roger Barga, Jared Jackson,Nelson Araujo, Dennis Gannon, Wei Lu, and

Distributed File System. MCSN N. Tonellotto Complements of Distributed Enabling Platforms

How To Manage A Network On A Server On A Microsoft Server On An Ipad Or Ipad (For A Supermicroserve) On A Network (For An Ipa) On An Uniden (For Microsoft) Server On Your

Cloud Scale Storage Systems. Sean Ogden October 30, 2013

Data Warehouse in the Cloud Marketing or Reality? Alexei Khalyako Sr. Program Manager Windows Azure Customer Advisory Team

Scaling Analysis Services in the Cloud

Windows Azure Storage Essential Cloud Storage Services

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Distributed File Systems

WINDOWS AZURE EXECUTION MODELS

The Google File System

BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB

Cloud Computing with Windows Azure using your Preferred Technology

Snapshots in Hadoop Distributed File System

A Comparison of Clouds: Amazon Web Services, Windows Azure, Google Cloud Platform, VMWare and Others (Fall 2012)

Solving I/O Bottlenecks to Enable Superior Cloud Efficiency

Cloud Computing at Google. Architecture

Efficient Network Marketing - Fabien Hermenier A.M.a.a.a.C.

Building COBOL applications for Microsoft Azure. Jim Lane Senior Solution Engineer

Large-Scale Web Applications

Building Storage Clouds for Online Applications A Case for Optimized Object Storage

Designing a Cloud Storage System

The Hadoop Distributed File System

Cloud Computing with Azure PaaS for Educational Institutions

Highly available, scalable and secure data with Cassandra and DataStax Enterprise. GOTO Berlin 27 th February 2014

Microsoft Azure. IaaS Networking Storage. Stefan Geiger Gerry

CLOUD BASED SERVICE (CBS STORAGE)

SharePoint 2013 on Windows Azure Infrastructure David Aiken & Dan Wesley Version 1.0

Cloud Computing with Microsoft Azure

Migrating SaaS Applications to Windows Azure

HDB++: HIGH AVAILABILITY WITH. l TANGO Meeting l 20 May 2015 l Reynald Bourtembourg

Software Defined Microsoft. PRESENTATION TITLE GOES HERE Siddhartha Roy Cloud + Enterprise Division Microsoft Corporation

Scaling Cloud Storage. Julian Chesterfield Storage & Virtualization Architect

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

Journal of science STUDY ON REPLICA MANAGEMENT AND HIGH AVAILABILITY IN HADOOP DISTRIBUTED FILE SYSTEM (HDFS)

Ground up Introduction to In-Memory Data (Grids)

Feature Comparison. Windows Server 2008 R2 Hyper-V and Windows Server 2012 Hyper-V

References. Introduction to Database Systems CSE 444. Motivation. Basic Features. Outline: Database in the Cloud. Outline

Introduction to Database Systems CSE 444

The Hadoop Distributed File System

Hadoop Distributed File System. T Seminar On Multimedia Eero Kurkela

Introduction to Cloud Computing

HDFS Users Guide. Table of contents

Amazon EC2 Product Details Page 1 of 5

Scalable Architecture on Amazon AWS Cloud

Big Data Trends and HDFS Evolution

Assignment # 1 (Cloud Computing Security)

Diagram 1: Islands of storage across a digital broadcast workflow

Apache Hadoop. Alexandru Costan

BookKeeper. Flavio Junqueira Yahoo! Research, Barcelona. Hadoop in China 2011

Microsoft Private Cloud Fast Track

Big data management with IBM General Parallel File System

RADOS: A Scalable, Reliable Storage Service for Petabyte- scale Storage Clusters

Transactions and ACID in MongoDB

Contents. 1. Introduction

Windows Azure Security

Storage Architectures for Big Data in the Cloud

THE HADOOP DISTRIBUTED FILE SYSTEM

Cloud Computing Is In Your Future

No-SQL Databases for High Volume Data

Cloud Computing Trends

Comparative analysis of mapreduce job by keeping data constant and varying cluster size technique

How to Build a Sanbolic Platform User Manual

membase.org: The Simple, Fast, Elastic NoSQL Database NorthScale Matt Ingenthron OSCON 2010

Data Management in the Cloud

Microsoft s Open CloudServer

Design and Evolution of the Apache Hadoop File System(HDFS)

HDFS Under the Hood. Sanjay Radia. Grid Computing, Hadoop Yahoo Inc.

Datacenters and Cloud Computing. Jia Rao Assistant Professor in CS

Alfresco Enterprise on Azure: Reference Architecture. September 2014

Amazon Cloud Storage Options

Welcome to the unit of Hadoop Fundamentals on Hadoop architecture. I will begin with a terminology review and then cover the major components

Transforming cloud infrastructure to support Big Data Ying Xu Aspera, Inc

IT Exam Training online / Bootcamp

CAT: Azure SQL DB Premium Deep Dive and Mythbuster

The Cloud to the rescue!

Distributed File Systems

Hardware Performance Optimization and Tuning. Presenter: Tom Arakelian Assistant: Guy Ingalls

Pelican: A Building Block for Exascale Cold Data Storage

Cloud Based Application Architectures using Smart Computing

The last 18 months. AutoScale. IaaS. BizTalk Services Hyper-V Disaster Recovery Support. Multi-Factor Auth. Hyper-V Recovery.

A survey of big data architectures for handling massive data

Azure VM Performance Considerations Running SQL Server

Understanding SAN and Storage Constraints In Private Clouds

Where We Are. References. Cloud Computing. Levels of Service. Cloud Computing History. Introduction to Data Management CSE 344

TECHNICAL WHITE PAPER: ELASTIC CLOUD STORAGE SOFTWARE ARCHITECTURE

Networking in the Hadoop Cluster

USING VIRTUAL MACHINE REPLICATION FOR DYNAMIC CONFIGURATION OF MULTI-TIER INTERNET SERVICES

Hadoop Distributed File System. Dhruba Borthakur June, 2007

Web Application Deployment in the Cloud Using Amazon Web Services From Infancy to Maturity

Scaling Database Performance in Azure

GraySort and MinuteSort at Yahoo on Hadoop 0.23

Companies are moving more and more IT services and

Big Data Management in the Clouds and HPC Systems

Cloud Computing: Meet the Players. Performance Analysis of Cloud Providers

The Cloud Trade Off IBM Haifa Research Storage Systems

Zadara Storage Cloud A

Distributed Data Stores

How To Build Cloud Storage On Google.Com

Transcription:

Windows Azure Storage Scaling Cloud Storage Andrew Edwards Microsoft

Agenda: Windows Azure Storage Overview Architecture Key Design Points 2

Overview

Windows Azure Storage Cloud Storage - Anywhere and anytime access Blobs, Disks, Tables and Queues Highly Durable, Available and Massively Scalable Easily build internet scale applications 10+ trillion stored objects 1M+ request/sec on average Pay for what you use Exposed via easy and open REST APIs Client libraries in.net, Java, Node.js, Python, PHP, Ruby

Abstractions Blobs and Disks

Abstractions Tables and Queues

Data centers

Windows Azure Data Storage Concepts Container Blobs https://<account>.blob.core.windows.net/<container> Account Table Entities https://<account>.table.core.windows.net/<table> Queue Messages https://<account>.queue.core.windows.net/<queue>

How is Azure Storage used by Microsoft?

For More Information Joe s Talk (1:00pm today) How to use Windows Azure Storage Best Practices Windows Azure Developer Website http://www.windowsazure.com/en-us/develop/net/ Windows Azure Storage Blog http://blogs.msdn.com/b/windowsazurestorage/ SOSP Paper/Talk http://blogs.msdn.com/b/windowsazurestorage/archive/2011/11/20/ windows-azure-storage-a-highly-available-cloud-storage-servicewith-strong-consistency.aspx 11

Architecture

Design Goals Highly Available with Strong Consistency Provide access to data in face of failures/partitioning Durability Scalability Replicate data several times within and across regions Need to scale to zettabytes Provide a global namespace to access data around the world Automatically scale out and load balance data to meet peak traffic demands Additional details can be found in the SOSP paper: Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency, ACM Symposium on Operating System Principals (SOSP), Oct. 2011

Windows Azure Storage Stamps Access blob storage via the URL: http://<account>.blob.core.windows.net/ Data access Storage Location Service LB LB Front-Ends Front-Ends Partition Layer Inter-stamp (Geo) replication Partition Layer DFS Layer Intra-stamp replication Storage Stamp DFS Layer Intra-stamp replication Storage Stamp

Architecture Layers inside Stamps Partition Layer Index

Key Design Points

Availability with Consistency for Writing All writes are appends to the end of a log, which is an append to the last extent in the log Write Consistency across all replicas for an extent: Appends are ordered the same across all 3 replicas for an extent (file) Only return success if all 3 replica appends are committed to storage When extent gets to a certain size or on write failure/lb, seal the extent s replica set and never append anymore data to it Write Availability: To handle failures during write Seal extent s replica set Append immediately to a new extent (replica set) on 3 other available nodes Add this new extent to the end of the partition s log (stream) Better availability, durability compared to Quorum-based approach Partition Layer

Availability with Consistency for Reading Read Consistency: Can read from any replica, since data in each replica for an extent is bit-wise identical Partition Layer Read Availability: Send out parallel read requests if first read is taking higher than 95% latency

Dynamic Load Balancing Partition Layer Spreads index/transaction processing across partition servers Master monitors traffic load/resource utilization on partition servers Dynamically load balance partitions across servers to achieve better performance/availability Does not move data around, only reassigns what part of the index a partition server is responsible for Index Partition Layer

Dynamic Load Balancing DFS Layer DFS Read load balancing across replicas Monitor latency/load on each node/replica; dynamically select what replica to read from and start additional reads in parallel based on 95% latency Partition Layer

Append Only System Benefits Simplifies the replication protocol Easier diagnosis and repair of software bugs Erasure coding (only recode on GC) Keep snapshots at no extra cost Works well with future drive technologies and sizes Tradeoff GC overhead

Our Approach to the CAP Theorem Layering and co-design provides extra flexibility to achieve C and A at same time while being partition/failure tolerant for our fault model Stream Layer For Availability, if write failure create new extent on the available nodes and keep on appending to it For Consistency, replicas are bit-wise identical up to the commit length so can read from any replica Partition Layer For Consistency, uses the streams such that it always has a consistent view of the data (see SOSP paper) For Availability, RangePartitions can be served by any partition server and are moved to available servers if a partition server fails Designed for specific classes of partitioning/failures seen in practice Process to Disk to Node to Rack failures/unresponsiveness Node to Rack level network partitioning

Lessons Learned Automatic load balancing Quickly adapt to various traffic conditions Need to handle every type of workload thrown at the system Built an easily tunable and extensible language to dynamically tune the load balancing rules Need to tune based on many dimensions CPU, Network, Memory, tps, GC load, Geo-Rep load, Size of partitions, etc Achieving consistently low append latencies Ended up using SSD journaling Efficient upgrade support Pressure point testing

Erasure Coding Implemented at the DFS layer All data is committed to 3 copies for a fast ack back to clients Lazily the data is erasure coded, and the 3 copies are deleted Papers/Presentations: http://snia.org/sites/default/files2/sdc2012/presentations/cloud/ ChengHuang_Ensuring_Code_in_Windows_Azure.pv3.pdf https://www.usenix.org/conference/usenixfederatedconferences week/erasure-coding-windows-azure-storage 24

Azure VM s Persistent Disks VHDs for persistent disks are directly stored in Windows Azure Storage as blobs Can access your VHDs via REST Easy to upload/download your own VHDs and mount them REST writes are blocked to VHD blob while mounted to a VM Disks Snapshot are supported Geo replication is supported 25

Separating Compute From Storage Allows compute and storage to be scaled separately Lowers costs because we can balance ratio of compute and storage based on demand Provide Flat Network Storage We use a Quantum 10 network architecture Fully non-blocking 10Gbps based fully meshed network, providing an aggregate backplane in excess of 50Tbps of bandwidth for each data center

Architecture Summary Durability: All data stored with at least 3 replicas Consistency: All committed data across all 3 replicas are identical Availability: Can read from any 3 replicas; If any issues writing seal extent and continue appending to new extent Performance/Scale: Retry based on 95% latencies; Auto scale out and load balance based on load/capacity Additional details can be found in the SOSP paper: Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency, ACM Symposium on Operating System Principals (SOSP), Oct. 2011

Resources Joe s Talk (1:00pm today) How to use Windows Azure Storage Best Practices Windows Azure Developer Website http://www.windowsazure.com/en-us/develop/net/ Windows Azure Storage Blog http://blogs.msdn.com/b/windowsazurestorage/ SOSP Paper/Talk http://blogs.msdn.com/b/windowsazurestorage/archive/2011/11/20/wind ows-azure-storage-a-highly-available-cloud-storage-service-with-strongconsistency.aspx