Windows Azure: Is the Relational Database Dead? Benjamin Day

Slides:



Advertisements
Similar presentations
Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
Advertisements

Page 1 Ricardo Villalobos Windows Azure Architect Evangelist Microsoft Corporation Designing, Building, and Deploying Windows Azure applications.
Mark Simms Principal Program Manager Windows Azure Customer Advisory Team.
Todd Klindt Solanite Consulting.  WSS MVP since 2006  Speaker, writer, consultant, Aquarius  Personal Blog
Azure Services Platform Piotr Zierhoffer. Agenda Cloud? What is Azure? Environment Basic glossary Architecture Element description Deployment.
Overview Of Microsoft New Technology ENTER. Processing....
Windows Azure for scalable compute and storage SQL Azure for relational storage for the cloud AppFabric infrastructure to connect the cloud.
Joey Snow Technical Evanglist Microsoft Corporation SESSION CODE: WSV310.
WMU GNL Automation How to make my IT life easier CHRISTOPHER KEYAERT CONSULTANT AT INOVATIV CLOUD AND DATACENTER MANAGEMENT MVP.
Sitefinity Performance and Architecture
Cloud Computing Systems Lin Gu Hong Kong University of Science and Technology Sept. 21, 2011 Windows Azure—Overview.
Russ Houberg Senior Technical Architect, MCM KnowledgeLake, Inc.
Serious Team Foundation Server Customization Benjamin Day Benjamin Day Consulting, Inc Level: Advanced.
Manage & Configure SQL Database on the Cloud Haishi Bai Technical Evangelist Microsoft.
Building Offline/Cache Mode Web Apps Using Sync Framework Mike Clark Group Manager Cloud Data Services Team
Cross Platform Mobile Backend with Mobile Services James
Windows Azure SQL Database and Storage Name Title Organization.
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
Win & Web App Installers with WiX
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
Training Workshop Windows Azure Platform. Presentation Outline (hidden slide): Technical Level: 200 Intended Audience: Developers Objectives (what do.
Database Design for DNN Developers Sebastian Leupold.
Microsoft Azure Introduction ISYS 512. Microsoft Azure Microsoft Azure is a cloud.
Doing Something Useful with Enterprise Library 3.0 Benjamin Day Level: Intermediate.
De-mystifying TFS Reporting Benjamin Day Level: Intermediate.
Austin code camp 2010 asp.net apps with azure table storage PRESENTED BY CHANDER SHEKHAR DHALL
Windows Azure Tour Benjamin Day Benjamin Day Consulting, Inc.
Virtual techdays INDIA │ august 2010 SQL Azure – Tips and Tricks Ramaprasanna Chellamuthu │ Developer Evangelist, Microsoft.
Your First Azure Application Michael Stiefel Reliable Software, Inc.
Introduction to Windows Azure BUGAEV ROMAN. Azure Windows Azure Platform is thus classified as platform as a service and forms part of Microsoft's cloud.
SQL Server 2008 R2 for the DBA Patrick LeBlanc. Objectives  New Editions  Datacenter  Parallel Data Warehouse  Multi-server management  Utility Control.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
Copyright © 2005 Ed Lance Fundamentals of Relational Database Design By Ed Lance.
© 2008 Quest Software, Inc. ALL RIGHTS RESERVED. Perfmon and Profiler 101.
Pradeep S Pushpendra Singh Consultants, Neudesic Technologies, Hyderabad, India.
IOS and Android with Windows Azure Websites Name Title Address Website.
Windows Azure. Azure Application platform for the public cloud. Windows Azure is an operating system You can: – build a web application that runs.
Azure in a Day Training: Windows Azure Module 1: Windows Azure Overview Module 2: Development Environment / Portal – DEMO: Signing up for Windows Azure.
Microsoft Cloud Solution.  What is the cloud?  Windows Azure  What services does it offer?  How does it all work?  How to go about using it  Further.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
Technology Drill Down: Windows Azure Platform Eric Nelson | ISV Application Architect | Microsoft UK |
Building Cloud Solutions Presenter Name Position or role Microsoft Azure.
(re)-Architecting cloud applications on the windows Azure platform CLAEYS Kurt Technology Solution Professional Microsoft EMEA.
Virtual techdays INDIA │ august 2010 Building & Deploying Windows Azure Application using VS2010 Saranya Sriram │ Developer Evangelist, Microsoft.
Building web applications with the Windows Azure Platform Ido Flatow | Senior Architect | Sela | This session.
Eliminate Team Build Headaches with Unit Tests, WiX and Virtualization Benjamin Day
Windows Azure and iOS Chris Risner Windows Azure Technical Evangelist Microsoft
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Win & Web App Installers with WiX Benjamin Day Level: Intermediate.
Benjamin Day blog.benday.com.  Owner, Benjamin Day Consulting, Inc.   Web:
Bret Stateham Owner, Net Connex blogs.netconnex.com twitter.com\bstateham.
Beyond Basic Unit Testing: Mocks, Stubs, User Interfaces, and Refactoring for Testability Benjamin Day
MIX 09 11/30/2017 5:54 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
How to be a SharePoint Developer
What is SharePoint and why you should care
Jon Galloway | Tech Evangelist Christopher Harrison | Head Geek
Software Architecture in Practice
Principles of report writing
02 | Hosting Services in Windows Azure
Windows Azure 講師: 李智樺, Ruddy Lee
The Challenges of moving Document Creation to the Cloud
Azure SQL DWH: Tips and Tricks for developers
Outline Virtualization Cloud Computing Microsoft Azure Platform
Saranya Sriram Developer Evangelist | Microsoft
Azure SQL DWH: Tips and Tricks for developers
Sayed Ibrahim Hashimi Program Manager Microsoft Corporation
Azure SQL DWH: Tips and Tricks for developers
Building global and highly-available services using Windows Azure
02 – Cloud Services Bret Stateham | Senior Technical Evangelist​
Microsoft Azure Services Platform
Presentation transcript:

Windows Azure: Is the Relational Database Dead? Benjamin Day

Who am I? Owner, Benjamin Day Consulting, Inc. – –Web: –Blog: Trainer, Consultant –Visual Studio Team System, Team Foundation Server Microsoft MVP for VSTS Microsoft VSTS/TFS Customer Advisory Council Microsoft Cloud Services Advisory Group Leader of Beantown.NET INETA User Group

Agenda Big thanks to –Steve Microsoft –Manuvir Microsoft –David Microsoft Is the relational database dead? What is Windows Azure? Develop Your Application Deploy To Staging and Production Some Stuff To Think About

Is the relational database dead? It depends. (Probably not.) Cloud will change everything. Relational database “best practices” are probably dead… …at least in the cloud.

AZURE

The Azure Platform

The “cloud” in Cloud Services? Think data-center somewhere on the internet Allows you to run your app Allows you to read and write data

Ok. So what’s Windows Azure? Microsoft’s “cloud” –Every cloud has an Azure lining? Custom version of Windows –Optimized for utility computing applications –Always runs virtualized on the Azure Fabric Azure Fabric –Runs instances of your apps –Handles “everything” Azure Storage Azure SDK for Visual Studio

Why Azure? “I’ve got my awesome data-center so…” No more worrying about… –Buying, configuring, maintaining hardware –Buying, configuring, maintaining the operating system –Network infrastructure Routers, Switches, Load Balancers –Your data-center’s power and internet connections –Failovers Worry less about… –App deployment –Capacity planning Focus on writing your app

Simple Scale Out Changes in traffic Need more servers? Need fewer servers?

I want everything… …and it should be easy. Azure let’s you worry about writing your app Don’t have to learn a whole bunch of new stuff Leverage your existing dev skills

Azure: The Developer View Write it in Visual Studio –New project types –Debug your code.NET, ASP.NET, WCF, IIS7, LINQ Azure Storage –Database in the cloud –(with a few caveats) Desktop development versions of –Azure Fabric –Azure Storage

Demo 1: Hello, World

Hello, World: Discuss. Doesn’t look like much but… –that’s “internet scale”-able –Highly available Mostly stuff you already know

Debugging In The Cloud We can debug a service in Visual Studio How do you debug a service that has been deployed? –Answer: you don’t Logging is the answer RoleManager.WriteToLog(eventLogName, message) –Event log name values: Error, Information, Warning, Debug, Critical

Demo 1.1: Hello World + Logging

AZURE STORAGE

Azure Storage Simple database in the cloud –Tables (aka. “structured storage”) –Blobs –Queues You don’t worry about replication Scales like nobody’s business Development version –DevelopmentStorage.exe –Uses SQL Server Express

Table Storage Every row has RowKey & Partition Key RowKey = primary key PartitionKey –Helps you tell Azure how to scale your data –You have to think about how you’ll be querying –By State? By Hour? Other? RowKeyPartitionKeyFirstNameLastName 1MABenDay 2MAJohnMalkovich 3WABillGates 4CASteveJobs

PartitionKey Your partitions could be on different servers Best practice: If you know your PartitionKey, add it to the WHERE clause No PartitionKey in the WHERE  insane table scans Recommendation: More partitions is (probably) better Think hard about your partition key in the beginning –Else, roll your own re-partitioning

Column Data Types Partition key and Row key –String (up to 64KB) Other properties –String (up to 64KB) –Binary (up to 64KB) –Bool –DateTime –GUID –Int –Int64 –Double

Demo 2: Azure Table Storage

RELATIONAL VS CLOUD

What is “relational” Tables, Rows, & Columns –All rows in the table have the same column structure –You design the database BEFORE you add the data Relationships between the tables Constraints on the columns Normalization eliminates duplicate data –Data “nuggets” stored in one place only –Makes it clear what the definitive version is

Relational in your app Data is organized for the sake of the data rather than the sake of the app –App is temporary but Schema is forever. –Represents itself as normalization and relationships between the tables Scales nicely on a single node but going to a cluster, it gets ugly

Relational DB Engine Does A Lot Non-trivial SELECT p.FirstName, p.LastName, ph.PhoneNumber FROM Person p LEFT JOIN Phone ph ON p.Id = ph.PersonId WHERE p.LastName LIKE 'D%'

Performance Issues in Relational Avoiding duplication can cause performance issues De-normalizing If you de-normalize and duplicate some data: –you can lower the number of required to build an "object" –You can lower the amount of "heavy lifting" that the db has to do to retrieve your data That JOIN isn't easy Indexes help but it still is a lot of work

Why Stored Procedures? (1 of 2) Abstraction between the app & data Externalize the queries –Remove them from the code –Makes the queries live with the data  more "database me me me!"

Why Stored Procedures? (2 of 2) Security –lock down direct access to the tables –Users get rights to specific procs Performance –Less compelling: cached execution plan Largely irrelevant after SQL Server 7 –More compelling: the query logic is near the data

Stored Procedures In The Cloud Azure can distribute physical location of data by partition key –Is the stored proc near the data anymore? (Well, that pretty much wraps it up for stored procedures.)

What you won’t get in Azure Storage Stored Procedures Views Triggers Foreign Keys Database enforced referential integrity User defined indexes –(Maybe later.)

While I’ve “dissed” relational… I’m not saying “skip best practices.” Don’t put everything in the same table You’ll still have relationships between tables –…the relationships just won’t be enforced by the DB

THE VERDICT?

WHAT DO YOU THINK?

OK. MOVING ON.

MORE THAN JUST ASPX

Utility Compute without a UI Azure uses the concept of “Roles” Hello, World used a “Web Role” The other role is a “Worker Role” –Think windows service in the cloud

Web & Worker

Demo 3: Worker Role and a Queue In a web role, create an ASP.NET page –Creates a queue –Writes to a queue –Gets queue depth Worker Role –Reads the queue –“Processes” the message

DEPLOYMENT

Demo 4: Deploy To The Cloud Change the storage config to use production servers

MISCELLANEOUS

Things to think about No foreign keys No triggers No stored procedures In Table storage, strings can only be 64k –You’ll need to use a mix of Blob and Tables Think hard about what config values you put in web.config/app.config vs ServiceConfiguration.cscfg

The Big Questions When? –Sometime in 2009 An actual Service Level Agreement (SLA) More data-centers –Now in US only –Global at go-live What will it cost? –It will depend on what you use

More resources My Blog – –Sample code –More Azure content to come… Steve Marx’s blog – –Evangelist for the Azure team Azure.com

Final questions?

Who am I? Owner, Benjamin Day Consulting, Inc. – –Web: –Blog: Trainer, Consultant –Visual Studio Team System, Team Foundation Server Microsoft MVP for VSTS Microsoft VSTS/TFS Customer Advisory Council Microsoft Cloud Services Advisory Group Leader of Beantown.NET INETA User Group