Introduction to Developing With SQL Azure

Slides:



Advertisements
Similar presentations
A Ridiculously Easy & Seriously Powerful SQL Cloud Database Itamar Haber AVP Ops & Solutions.
Advertisements

Gold Sponsors Bronze Sponsors Silver Sponsors Taking SharePoint to the Cloud Aaron Saikovski Readify – Software Solution Specialist.
4 TIME IT CAPACITY Actual Load Allocated IT-capacities Too Much Power = Unhappy CFO Not Enough Power = Grumpy Customers & Unhappy CEO Load Forecast.
Page 1 Ricardo Villalobos Windows Azure Architect Evangelist Microsoft Corporation Designing, Building, and Deploying Windows Azure applications.
MICROSOFT CONFIDENTIAL Sept 2009 | Page 1 | BDM Presentation.
Plan Introduction What is Cloud Computing?
Manage & Configure SQL Database on the Cloud Haishi Bai Technical Evangelist Microsoft.
9 TIME IT CAPACITY Actual Load Allocated IT-capacities Too Much Power Not Enough Power Load Forecast.
Cross Platform Mobile Backend with Mobile Services James
VAP What is a Virtual Application ? A virtual application is an application that has been optimized to run on virtual infrastructure. The application software.
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over the Internet. Cloud is the metaphor for.
Training Workshop Windows Azure Platform. Presentation Outline (hidden slide): Technical Level: 200 Intended Audience: Developers Objectives (what do.
Virtual techdays INDIA │ august 2010 SQL Azure – Tips and Tricks Ramaprasanna Chellamuthu │ Developer Evangelist, Microsoft.
Introduction to Cloud Computing
Your First Azure Application Michael Stiefel Reliable Software, Inc.
Enterprise Cloud Computing
Windows Azure for scalable compute and storage SQL Azure for relational storage for the cloud AppFabric infrastructure to connect the cloud.
Text Microsoft to Or Tweet #uktechdays Questions?
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-1.
Web Technologies Lecture 13 Introduction to cloud computing.
3 TIME IT CAPACITY Actual Load Allocated IT-capacities Too Much Power Not Enough Power Load Forecast.
Information Systems in Organizations 5.2 Cloud Computing.
Technology Drill Down: Windows Azure Platform Eric Nelson | ISV Application Architect | Microsoft UK |
Hello Cloud… Mike Benkovich
SQL Server 2012 Session: 1 Session: 4 SQL Azure Data Management Using Microsoft SQL Server.
Copyright © New Signature Who we are: Focused on consistently delivering great customer experiences. What we do: We help you transform your business.
Inspirirani ljudima. Ugasite mobitele. Hvala.. Paolo Pialorsi Senior Consultant PiaSys ( Publishing apps for SharePoint 2013 on Microsoft.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Aaron Stanley King. What is SQL Azure? “SQL Azure is a scalable and cost-effective on- demand data storage and query processing service. SQL Azure is.
Migrating to Azure and the Cloud Bob Duffy Database Architect Prodata SQL Centre of Excellence 28th Sept, 2013.
Agenda  What is Cloud Computing?  Milestone of Cloud Computing  Common Attributes of Cloud Computing  Cloud Service Layers  Cloud Implementation.
Clouding with Microsoft Azure
Migrate SQL Server Apps to SQL Azure Cloud DB
Migrating to and Integrating with SQL Azure
Introduction to SQL Azure
Unit 3 Virtualization.
Chapter 6: Securing the Cloud
By: Raza Usmani SaaS, PaaS & TaaS By: Raza Usmani
Vidcoding Introduces Scalable Video and TV Encoding in the Cloud at an Affordable Price by Utilizing the Processing Power of Azure Batch MICROSOFT AZURE.
Lead SQL BankofAmerica Blog: SQLHarry.com
Free Cloud Management Portal for Microsoft Azure Empowers Enterprise Users to Govern Their Cloud Spending and Optimize Cloud Usage and Planning MICROSOFT.
Logo here Module 3 Microsoft Azure Web App. Logo here Module Overview Introduction to App Service Overview of Web Apps Hosting Web Applications in Azure.
Scaling In e Scaling Out através do elastic pool
Couchbase Server is a NoSQL Database with a SQL-Based Query Language
Building Applications with Windows Azure and SQL Azure
Azure SQL Database – Scaling in and Scaling out with elastic pool
Introduction to Cloud Computing
AWS. Introduction AWS launched in 2006 from the internal infrastructure that Amazon.com built to handle its online retail operations. AWS was one of the.
Exploring Azure Event Grid
Cloud Database Based on SQL Server 2012 Technologies
Microsoft Azure P wer Lunch
Dev Test on Windows Azure Solution in a Box
Scalable SoftNAS Cloud Protects Customers’ Mission-Critical Data in the Cloud with a Highly Available, Flexible Solution for Microsoft Azure MICROSOFT.
The Challenges of moving Document Creation to the Cloud
Azure Event Grid with Custom Events
Data Security for Microsoft Azure
MyCloudIT Enables Partners to Drive Their Cloud Profitability Using CSP-Enabled Desktop Hosting Automation with Microsoft Azure and Office 365 MICROSOFT.
Partner Logo Azure Provides a Secure, Scalable Platform for ScheduleMe, an App That Enables Easy Meeting Scheduling with People Outside of Your Company.
Outline Virtualization Cloud Computing Microsoft Azure Platform
Dell Data Protection | Rapid Recovery: Simple, Quick, Configurable, and Affordable Cloud-Based Backup, Retention, and Archiving Powered by Microsoft Azure.
XtremeData on the Microsoft Azure Cloud Platform:
Cloud computing mechanisms
Last.Backend is a Continuous Delivery Platform for Developers and Dev Teams, Allowing Them to Manage and Deploy Applications Easier and Faster MICROSOFT.

Salesforce.com Salesforce.com is the world leader in on-demand customer relationship management (CRM) services Manages sales, marketing, customer service,
Microsoft Azure Services Platform
06 | SQL Server and the Cloud
The Database World of Azure
Presentation transcript:

Introduction to Developing With SQL Azure Jeff Mlakar Database Architect Ernst & Young

About me Computer Science and Mechanical Engineering degrees from the Engineering College at the University of Michigan Started in SQL Server 2000, C++, Started in .NET 1.1, BizTalk 2002 Currently work as a Database Architect at the accounting firm of Ernst & Young. (Title has been referred to as Database Architect, SQL Lead Designer/Data Modeler, Senior Application Engineer, … so you tell me) Work on applications to Steward/Manage/ReportOn data across the global firm. Blog: www.jeffmlakar.com , twitter: @JeffMlakar

PURPOSE To introduce you to working with Cloud databases in SQL Azure by working to accomplish a specific goal. I’ve found it’s easier to learn about something when you have a goal in mind.

The Goal Create a Tool in Management Studio that can upload/retrieve common TSQL scripts to/from an online repository.

Agenda About your speaker What is the Cloud? Windows Azure Platform Overview SQL Azure overview DEMO: Creating an Azure database DEMO: Creating your own SSMS AddIn DEMO: Developing in the Cloud DEMO: Connecting to and using your Cloud DB Show end product / Chance to win prizes! SQL Azure Pricing SQL Azure News SQL Azure Coming-Soons You’re actually getting 2 for the price of 1 in this talk.

What is Cloud Computing? A Service approach to computing that’s about scaling, abstraction by the vendor, and consumption-based pricing.

Think “Electricity” Powering your building is like running your website / database

Why use the Cloud? 2 reasons: Scale to and pay for what you use. Only worry about the stuff you know well.

Allocated IT-capacities Load Forecast Not Enough Power Too Much Power IT CAPACITY Slide Objectives: Understand the challenges of irregular load in applications Understand the challenges of both too much capacity and not enough capacity and the sort of groups they impact within a customer Understand that traditionally IT capacity is purchased in a stepwise fashion involving capital expenditure at each point Speaking Points: To understand the value and opportunity for cloud computing, I believe it’s important to think about how IT capacity is typically used by applications today in most environments. Today most organizations significantly over estimate or underestimate the amount of resources they need to run their applications. This leads to a higher cost for the infrastructure and the delivery of the overall applications. Build Steps: Forecast load is to grow steadily Planned capacity grows in a stepwise fashion. Need to plan in advance due to hardware lead times Actual load is highly variable over time Periods where we have excess capacity. Capital laying idle, opex wasted powering and cooling servers Periods where we have insufficient capacity and our customers get a bad experience Actual Load TIME

IT CAPACITY TIME Load Forecast Actual Load Capacity on Demand Slide Objectives: Understand that Windows Azure allows capacity to be turned on and off easily Capacity can be brought on stream very quickly (no need to order servers in advance) Speaking Points: Lowers capex through not having to pay for hardware Reduces waste of ovefr capacity Ensures we can always provision enough capacity for peak periods Can reduce capacity if demand subsides Actual Load TIME

Cloud Services “IaaS” “PaaS” “SaaS” Host Build Consume Amazon Software-as-a-Service Consume GMail “SaaS” Platform-as-a-Service Build Microsoft “PaaS” Infrastructure-as-a-Service Host Amazon “IaaS” Slide Objectives: Explain the three established terms in the industry for cloud services Speaking Points: With this in mind, it’s important to understand how to talk about our Cloud Services offerings. There is a lot of confusion in the industry when it comes to the cloud. It’s important that you understand both what is happening in the industry and how we think about the cloud. This is the most commonly used taxonomy for differentiating between types of cloud services. The industry has defined three categories of services: IaaS – a set of infrastructure level capabilities such as an operating system, network connectivity, etc. that are delivered as pay for use services and can be used to host applications. PaaS – higher level sets of functionality that are delivered as consumable services for developers who are building applications. PaaS is about abstracting developers from the underlying infrastructure to enable applications to quickly be composed. SaaS – applications that are delivered using a service delivery model where organizations can simply consume and use the application. Typically an organization would pay for the use of the application or the application could be monetized through ad revenue. It is important to note that these 3 types of services may exist independently of one another or combined with one another. SaaS offerings needn’t be developed upon PaaS offerings although solutions built on PaaS offerings are often delivered as SaaS. PaaS offerings also needn’t expose IaaS and there’s more to PaaS than just running platforms on IaaS.

Cloud Services In-House Software Infrastructure Platform Software Storage Servers Networking O/S Middleware Virtualization Data Applications Runtime You manage Infrastructure (as a Service) Storage Servers Networking O/S Middleware Virtualization Data Applications Runtime Managed by vendor You manage Platform (as a Service) Managed by vendor You manage Storage Servers Networking O/S Middleware Virtualization Applications Runtime Data Software (as a Service) Managed by vendor Storage Servers Networking O/S Middleware Virtualization Applications Runtime Data Slide Objectives: Explain the differences and relationship between IaaS, PaaS, and SaaS in more detail. Speaking Points: Here’s another way to look at the cloud services taxonomy and how this taxonomy maps to the components in an IT infrastructure. Packaged Software With packaged software a customer would be responsible for managing the entire stack – ranging from the network connectivity to the applications. IaaS With Infrastructure as a Service, the lower levels of the stack are managed by a vendor. Some of these components can be provided by traditional hosters – in fact most of them have moved to having a virtualized offering. Very few actually provide an OS The customer is still responsible for managing the OS through the Applications. For the developer, an obvious benefit with IaaS is that it frees the developer from many concerns when provisioning physical or virtual machines. This was one of the earliest and primary use cases for Amazon Web Services Elastic Cloud Compute (EC2). Developers were able to readily provision virtual machines (AMIs) on EC2, develop and test solutions and, often, run the results ‘in production’. The only requirement was a credit card to pay for the services. PaaS With Platform as a Service, everything from the network connectivity through the runtime is provided and managed by the platform vendor. The Windows Azure Platform best fits in this category today. In fact because we don’t provide access to the underlying virtualization or operating system today, we’re often referred to as not providing IaaS. PaaS offerings further reduce the developer burden by additionally supporting the platform runtime and related application services. With PaaS, the developer can, almost immediately, begin creating the business logic for an application. Potentially, the increases in productivity are considerable and, because the hardware and operational aspects of the cloud platform are also managed by the cloud platform provider, applications can quickly be taken from an idea to reality very quickly. SaaS Finally, with SaaS, a vendor provides the application and abstracts you from all of the underlying components.

Windows Azure Platform PaaS

Windows Azure Platform Scalable compute and storage Automated service management Familiar tools, technologies, languages Relational storage for the cloud Consistent development model Automated database management Connect existing apps to the cloud Connect through network boundaries Easily control authorization to apps

Storage Options in Windows Azure Platform: Windows Azure Storage Instance: non-relational storage by means of services that use BLOBS Tables Queues (cheap, but have to programmatically handle Referential Integrity, Transactions, Performance, etc…) SQL Azure (more expensive that #1, but gives us relational storage with powerful and robust database engine we all know and love)

SQL Azure Database as a Service

History First introduced in Community Technology Preview (CTP) as SQL Server Data Services (SSDS) SSDS was non-relational (similar to current Windows Azure Storage instances) and was an altogether new approach to persisting data. Customers complained. They wanted: Relational engine Easy way to Migrate existing apps To use the skill set they already have. Exit SSDS. Enter SQL Azure. (Yay! A Database!)

SQL Azure Database The first and only true database as a service Subtitle color Managed Service Scale On Demand Innovate Faster Easy provisioning and deployment Auto high-availability and fault tolerance No need for server or VM administration Database utility; pay as you grow Business-ready SLAs Enable multi-tenant solutions World-wide presence Build cloud-based database solutions on consistent relational model Leverage existing skills through existing ecosystem of developer and management tools

SQL Azure Physical Architecture Apps Tools ODBC ADO.NET TDS SQL Azure Services Connection Routing Billing Provisioning Server Server Server SQL Server SQL Server SQL Server SQL Azure Fabric SQL Azure Fabric SQL Azure Fabric Infrastructure Database 1 Database 2 Database 3

Database Replicas (Hooray for HA!) Single Database Multiple Replicas Replica 1 Single Primary Replica 2 DB Replica 3 Replica 4

Logical vs. Physical Administration Service handles physical management Automatically provides HA “out of box” Transparent failover in case of failure Load balancing of data to ensure SLA SQL Azure focus on logical administration Schema creation and management Query optimization Security management (Logins, Users, Roles)

Azure Code/Data Architecture Options: Near Far

Azure Code/Data Architecture Options: (cont.) From Windows Azure From Outside Microsoft Datacenter From Windows Azure & Outside Microsoft Datacenter SQL Server App Code / Tools Application / Browser App Code / Tools SQL Azure Data Sync Microsoft Datacenter Microsoft Datacenter Microsoft Datacenter Windows Azure Windows Azure SQL Azure SQL Azure SQL Azure Code Near Code Far Hybrid

DEMO TIME! Create a SQL Azure Server and Database

Steps to Create a SQL Azure Database Get a free subscription through: http://www.windowsazurepass.com/ Use Promo Code: DPWE01 OR Introductory special at: http://www.microsoft.com/windowsazure/offers/ Go your portal at http://windows.azure.com Select Database -> Your Subscription -> Create Server. Create firewall rules. DONE!

Steps to Create a SQL Azure Database Select Create Database

Create an SSMS AddIn Step-by-Step demo Create an SSMS AddIn Step-by-Step

Steps to Create an SSMS AddIn Open Visual Studio. File->New Project->Other Project types->Extensibility-> Visual Studio AddIn Go through Wizard and select “Yes” for creating a Command Bar UI Change Debugging from VS to SSMS by going to the Project Properties, under “Debug”. Remove Working Directory and Command Line Change Start External Program to C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe

Steps to Create an SSMS AddIn (cont.) While you’re in Properties, go to Build and Select “Register for COM interop” Delete “.Addin” files Add a Setup Project. File->Add->New Project->Other Project Types->Setup Proj Right-click Setup Proj and Add Project Output. Select the primary output of your AddIn project Select primary output, go to Properties->Register. Change from vsdrpDoNotRegister to vsdrpCOM

Steps to Create an SSMS AddIn (cont.) Add Registry Keys to Setup Proj by right-clicking and going to View-Registry. Add: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Tools\Shell\AddIns\AddInName.Connect] "LoadBehavior"=dword:00000001 Add dlls (What make it possible)

Steps to Create an SSMS AddIn (cont.) Add DLLs:- SqlWorkbench.Interfaces.dll - Microsoft.SqlServer.SqlTools.VSIntegration.dll From: C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE Open Connect.cs and add “using Microsoft.SqlServer.Management.UI.VSIntegration” Comment out DTE2 _applicationObject and declaration; that interface is not supported in SSMS AddIn Replace _applicationObject with ServiceCache.ExtensibilityModel

Steps to Create an SSMS AddIn (cont.) 15) Locate OnConnection and make connectMode Startup Before: After:

Steps to Create an SSMS AddIn (cont.) In Setup Proj, right click Detected Dependencies and hit Refresh In the resulting list, right-click ieframe.dll and Click “Exclude”. It’s not supported.

Now we’re ready to say Hello World

Steps to Create an SSMS AddIn (cont.)

Steps to Create an SSMS AddIn (cont.) Build your AddIn project and Setup Project. Run the msi you built and Start Management Studio (After you’re installed once, you can just hit F5 to run changes)

Make a more complex App

Add a User Control Create a Windows User Control “MainWindow” and launch it like so:

If you need to create an update: In Setup Project Properties, make sure “RemovePreviousVersions” is set to true Increment Version Select “Yes” when prompted to update ProductCode Correct update installer to function correctly for COM reg Download “Orca.exe”, a database table editor for creating and editing Windows Installer packages. Open the resulting msi in Orca and open table “InstallExecutionSequence” Find Entry “RemoveExistingProducts” and give it a value that falls between InstallValidate and InstallInitialize (ie 1450 if InstallValidate is 1400 and InstallInitialize is 1500)

Developing in the Cloud demo Developing in the Cloud

Database Manager

Connecting to and using your Cloud DB demo Connecting to and using your Cloud DB

Use fully-qualified server name and SQL Server Authentication to connect in Connection String

Bail! Drop DB and Server. No more charges! demo Bail! Drop DB and Server. No more charges!

New(er) Stuff Integrated Silverlight Management Tool that you saw SQL Server Reporting Services Data-tier Application (DAC) framework v2.0 (CTP)

Rumors of Coming-Soons SSIS Database Federations Backups (what?? They’re not there yet?)

Not supported Change Data Capture Data Auditing Data Compression Extended Events External Key Management / Extensible Key Management FILESTREAM Data Integrated Full-Text Search Large User-Defined Aggregates (UDAs) Large User-Defined Types (UDTs) Performance Data Collection (Data Collector) Policy-Based Management Resource Governor Sparse columns

Not supported (cont.) SQL Server Replication Transparent Data Encryption Common Language Runtime (CLR) and CLR User-Defined Types Database Mirroring Service Broker Table Partitioning Typed XML and XML indexing is not supported. The XML data type is supported by SQL Azure. Backup and Restore (that’s right. I’m complaining about it twice) Extended Stored Procedures Extended Properties See General Guidelines & Limitations: http://msdn.microsoft.com/en-us/library/ee336245.aspx

Useful Tools SQL Azure Data Sync SQL Azure Migration Wizard Based on Microsoft Sync Framework Easy way if you want to sync data across data centers or from Cloud to On-Prem SQL Azure Migration Wizard Analyze a DB or a script for Azure compliance http://sqlazuremw.codeplex.com/

So what does this COST? Edition Web Business Bandwidth Max 1 GB $9.99/month n/a $.10 in / $.15 out / GB /month Asia: $.10 in / $.20 out / GB /month Max 5 GB $49.95/month same Max 10 GB $99.99/month Max 20 GB $199.98/month Max 30 GB $299.97/month Max 40 GB $399.96/month Max 50 GB $499.95/month

Summary SQL Azure provides a highly available cloud database service. Infrastructure in managed for you Scale On Demand Use your existing skill set to innovate faster

Resources Books: Azure in Action Downloads: Search: “Windows Azure Platform Training Kit” Links: www.microsoft.com/windowsazure/ www.microsoft.com/windowsazure/pricing/ Events: Azure Bootcamp: http://www.azurebootcamp.com/ Detroit is April 13,14 You’re actually getting 2 for the price of 1 in this talk.

Resources (cont.) My SSMS AddIn for Storing Scripts to Cloud: http://scriptstore.cloudapp.net Download, install, will appear in Tools->ScriptStore for SSMS 2008/2008R2 Upload the most scripts by April 9th, & Win a $100 Amazon Gift Card! Upload the best script by April 9th, My Blog: www.jeffmlakar.com Follow me on twitter: @JeffMlakar You’re actually getting 2 for the price of 1 in this talk. Thanks to Microsoft and Brian Prince for many graphics in this presentation

Resources (cont.) Stick around for Bill Wilder's talk: Storing Data in the Cloud: Beyond SQL Azure at 2:30 You’re actually getting 2 for the price of 1 in this talk.

Questions?