Your SlideShare is downloading. ×
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Czy jesteśmy gotowi na SQL Azure? Tobiasz Janusz Koprowski aka Anorak
  • 2. {get: BIO} • związany z informatyką od dwunastu lat • kilkuletnie doświadczenie w informatyce bankowej *Zorba, AS/400, ICBS, BTeller+ • od ponad czterech lat pracuje w dużej spółce informatycznej • na co dzieo interesujący się MOSS, Disaster Recovery, High Availibility, wirtualizacją, bezpieczeostwem fizycznym, tworzeniem procedur bezpieczeostwa, umowami SLA, ISO • konsultant i wdrożeniowiec przy projektach audytów licencyjnych, systemów procedur bezpieczeostwa i operacyjnych, wdrożeniach platformy SharePoint, • uczestnik kilku programów Microsoft: Connect, Community Leadership Programm, • ITPro Momentum, VS2010 Terminology Community, Windows 7 Beta, Desktop Deployment Planning Service, New Efficiency Program, Subject Matter Expert • lider wrocławskiej grupy PLSSUG • prelegent na spotkaniach społeczności • Microsoft System Center Influencer • Członek GLOBAL Technical Support Team w GITCA • Director-at-Large GITCA EMEA Board • Członek PASS programm Committee for 2010 • Członek PASS SQL Azure Virtual Chapter • autor kilku artykułów technicznych i współpracownik wydawnictwa aPress • właściciel kilku blogów (w tym dwóch specjalizowanych) • W lipcu 2010 wyróżniony nagrodą MVP w kategorii SQL Server
  • 3. Agenda • Wprowadzenie do Microsoft Azure – DEMO 1 – zakładamy nasza bazę główną • Model dostępu – DEMO 2 – zakładamy nasza bazę testową • Kompatybilność z innymi wersjami – DEMO 3 – tworzymy obiekty • Bezpieczeństwo SQL Azure – DEMO 4 – użytkownicy, uprawnienia – DEMO 5 – ustawienia Firewall • Service Level Agreement dla SQL Azure • Przydatne linki
  • 4. Wprowadzenie do Microsoft Azure
  • 5. Krótkie wprowadzenie do Microsoft Azure Platform DZIEŃ DZISIEJSZY: • Windows Azure Compute: Virtualized compute environment based on Windows Server Storage: Durable, scalable, & available storage Management: Automated, model-driven management of the service • SQL Azure (cloud-based database) Database: Relational processing for structured/unstructured data • App Fabric (.NET services) Service Bus: General purpose application bus Access Control: Rules-driven, claims-based access control PRZYSZŁOŚĆ: • Live Services • SharePoint Services • Dynamics CRM Rysunek pochodzi z dokumentu: INTRODUCING THE WINDOWS AZURE PLATFORM | David Chappel
  • 6. Data Platform: Device to Cloud RDBMS Protection Mining Sync Reporting Caching Load Service Analysis Query Integration Search Backup Model & policy based development and management Type In Multi Relational XML File Memory Dim BLOB Place
  • 7. Database Choices Value Props: Value Props: Roll-your-own HA/DR/scale On-premise Resources Value Props: Hosted SQL Azure (RDBMS) Low “Friction”/Control High
  • 8. Database Editions Two SQL Azure Database SKUs: Web & Business Web Edition: 1 GB @ $9.99/month | 5 GB @ $49.95/month Business Edition: Up to 50 GB @ $99.99/10 GB/month 10 GB @ $99.99 | 20 GB @ $199.98 | 30 GB @ $299.97 | 40 GB @ $399.96 | 50 GB @ $499.95 You specify Web or Business Edition Web: EDITION = Web Business: EDITION = Business You specify MAXSIZE Web: MAXSIZE = 1GB| 5GB Business: MAXSIZE = 10GB | 20GB | 30GB | 40GB | 50GB This is the size we will not let you grow beyond You will be charged for the actual (peak) size (in any one day) CREATE DATABASE foo1 (EDITION='business', MAXSIZE=50GB); CREATE DATABASE foo2 (EDITION='business', MAXSIZE=30GB); CREATE DATABASE bar1 (EDITION='web', MAXSIZE=5GB); CREATE DATABASE bar2 (EDITION='web'); -- Defaults to 1GB
  • 10. DEMO 1 – zakładamy nasza bazę główną
  • 11. WYMAGANIA WSTĘPNE : • Konto na Microsoft Online Services • Karta kredytowa • Licencja MSDN Jak to zrobid ? Krótki wpis: Rozpoczynamy Przygodę z Microsoft Azure na moim blogu: DEMO
  • 12. Model dostępu
  • 13. SQL Azure Database Highly scaled out relational database as a service Relational database service Browser • SQL Server technology foundation • Highly symmetrical SOAP/REST ADO.NET/REST - EDM HTTP/S HTTP/S • Highly scaled • Highly secure App Code (ASP.NET) Database “as a Service” – beyond hosting SQL Server Report Server Windows Azure (on-premises) Compute T-SQL (TDS) T-SQL (TDS) Customer Value Props SQL Azure  Self-provisioning and capacity on demand Database MS  Symmetry w/ on-premises database platform Datacenter  Automatic high-availability and fault-tolerance  Automated DB maintenance (infrastructure) - AD Federation (LiveId /AppFabric AC)  Simple, flexible pricing – “pay as you grow”
  • 14. V1 Application Topologies SQL Azure access from within MS Datacenter SQL Azure access from outside MS Datacenter (Azure compute – ADO.NET) (On-premises – ADO.NET) Application/ Browser App Code / Tools SOAP/REST ADO.NET Data Svcs/REST - EF HTTP/S HTTP/S App Code (ASP.NET) Windows Azure T-SQL (TDS) T-SQL (TDS) SQL Data SQL Data MS Services MS Services Datacenter Datacenter Code Near Code Far
  • 15. Architecture • Shared infrastructure at SQL database and below ‒ Request routing, security and isolation • Scalable HA technology provides the glue ‒ Automatic replication and failover • Provisioning, metering and billing infrastructure SDS Provisioning (databases, accounts, roles, …, Metering, and Billing Machine 4 Machine 5 Machine 6 SQL Instance SQL Instance SQL Instance SQL DB SQL DB SQL DB User User User User User User User User User User User User DB1 DB2 DB3 DB4 DB1 DB2 DB3 DB4 DB1 DB2 DB3 DB4 Scalability and Availability: Fabric, Failover, Replication, and Load balancing Scalability and Availability: Fabric, Failover, Replication, and Load balancing
  • 16. Connection Model When writing applications for SQL Azure, you can use the following drivers and libraries: • .NET Framework Data Provider for SQL Server (System.Data.SqlClient) from the .NET Framework 3.5 Service Pack 1. • SQL Server 2008 Native Client ODBC driver. • SQL Server 2008 Driver for PHP version 1.1. • SQL Azure supports tabular data stream (TDS) protocol client version 7.3 or later. Earlier versions of TDS protocol are not supported. • Connecting to SQL Azure by using OLE DB is not supported. • Support for ASP.NET controls • Clients connect directly to a database ‒ Cannot hop across DBs (no USE)
  • 17. Service Provisioning Model • Each account has zero or more servers Account ‒ Azure wide, provisioned in a common portal ‒ Billing instrument • Each server has one or more databases ‒ Contains metadata about the databases and usage ‒ Unit of authentication Server ‒ Unit of Geo-location ‒ Generated DNS based name • Each database has standard SQL objects ‒ Unit of consistency ‒ Unit of multi-tenancy Database ‒ Contains Users, Tables, Views, Indices, etc. ‒ Most granular unit of billing
  • 18. DEMO 2 – zakładamy nasza bazę testową
  • 19. Kompatybilność z innymi wersjami
  • 20. Kompatybilność SQL Azure z SQL „tradycyjnym” • In Scope for v1 • Out of Scope for v1 • Constants • Common Language Runtime (CLR) • Constraints • Database file placement • Cursors • Database mirroring • Index management and rebuilding indexes • Distributed queries • Local temporary tables • Distributed transactions • Reserved keywords • Filegroup management • Stored procedures • Global temporary tables • Statistics management • Spatial data and indexes • Transactions • SQL Server configuration options • Triggers • SQL Server Service Broker • Tables, joins, and table variables • System tables • Transact-SQL language elements such as • Trace Flags – Create/drop databases • Physical server or catalog DDL and views – Create/alter/drop tables – Create/alter/drop users and logins – and so on. • User-defined functions • Views
  • 21. Nie kompatybilność SQL Azure z... • SQL Server 2005 • SQL Server 2008 • Common Language Runtime (CLR) and CLR User- • Change Data Capture Defined Types • Data Auditing • Database Mirroring • Data Compression • Service Broker • Extended Events • Table Partitioning • External Key Management / Extensible Key • Typed XML and XML indexing is not supported. The Management XML data type is supported by SQL Azure. • 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 • Spatial data with GEOGRAPHY and GEOMETRY data types • SQL Server Replication • Transparent Data Encryption
  • 22. DEMO 3 – tworzymy obiekty
  • 23. Bezpieczeństwo SQL Azure
  • 24. Międzynarodowe wymagania bezpieczeństwa Jako dostawca usług (Service Provider) Microsoft musi spełniad warunki pozwalające mu świadczyd usłuch w chmurze. Na dzieo dzisiejszy Azure Platform spełnia wymagania: • ISO/IEC 27001:2005 • SAS 70 Type 1 and II Również udaje mu się pozytywnie przejśd audyty z zakresu: • PCI DSS • SOX compliance • HIPAA compliance Oczywiście dla samych Data Center spełnia standardowe wymagania: • Physical security of the data centers (locks, cameras, biometric devices, card readers, alarms) • Firewalls, application gateways and IDS to protect the network • Access Control Lists (ACLs) applied to virtual local area networks (VLANs) and applications • Authentication and authorization of persons or processes that request access to data • Hardening of the servers and operating system instances • Redundant internal and external DNS infrastructure with restricted write access • Securing of virtual machine objects • Securing of static and dynamic storage containers
  • 25. Model bezpieczeństwa? • Uses regular SQL security model ‒ Authenticate logins, map to users and roles ‒ Authorize users and roles to SQL objects • Support for standard SQL Auth logins ‒ Username + password • Future AD Federation, WLID, etc as alternate authentication protocols [admin, administrator, guest, root, sa] Security model is 100% compatible with on-premise SQL
  • 26. DEMO 4 – użytkownicy, uprawnienia
  • 27. DEMO 5 – ustawienia Firewall
  • 28. Service Level Agreement dla SQL Azure
  • 29. Cennik usługi SQL Azure – v.1.0 Web Edition Business Edition • 1 GB Database • 10GB Database • $9.99 / month • $99.99 / month • Bandwidth • Bandwidth ‒ $0.10 /GB inbound ‒ $0.10 /GB inbound ‒ $0.15 /GB outbound ‒ $0.15 /GB outbound • Specified by MAXSIZE on CREATE DATABASE command or portal • Billing granularity is the day • Monthly billing period
  • 30. Cennik usługi SQL Azure – v.1.5 Web Edition Business Edition • 1 GB Database $9.99 / month • 10GB Database - $99.99 / month • 5 GB Database $49.95 / month • 20GB Database - $199.98 / month • Bandwidth • 30GB Database - $299.97 / month ‒ $0.10 /GB inbound • 40GB Database - $399.96 / month ‒ $0.15 /GB outbound • 50GB Database - $499.95 / month • Specified by MAXSIZE on CREATE DATABASE command or portal • Billing granularity is the day • Monthly billing period
  • 31. SQL Azure Service Level Agreement Poziomy usług | Poziom usług Dostępność w miesiącu: Definicje 1. „Łączna liczba przedziałów czasu” to liczba przedziałów czasu o długości 5 minut w miesięcznym cyklu rozliczeniowym, obliczana przez pomnożenie liczby dni w cyklu przez 24 * 60 / 5. 2. Przedział czasu o długości 5 minut jest oznaczany jako niedostępny, jeśli wszystkie próby Klienta nawiązania połączenia z usługą SQL Azure nie powiodą się lub ich wykonanie zajmie ponad 30 sekund, bądź jeśli podstawowe, prawidłowe operacje odczytu i zapisu (zgodnie z opisem w naszej dokumentacji technicznej) nie powiodą się po nawiązaniu połączenia. Nie są uwzględniane niepowodzenia spowodowane przez oprogramowanie, sprzęt lub sieć w lokalizacji używanej przez klienta w celu nawiązania połączenia z usługą SQL Azure. 3. „Zaplanowany przestój” oznacza czas, w przypadku którego firma Microsoft powiadomiła Klienta o okresach przestoju na co najmniej pięć dni przed wystąpieniem takiego Przestoju. Zaplanowany przestój o długości krótszej niż 10 godzin w roku kalendarzowym nie jest uznawany za Przestój do celów niniejszej umowy SLA. SQL Azure Service Level Agreement (SLA)
  • 32. SQL Azure Service Level Agreement 4. „Procent miesięcznego czasu pracy” dla określonego Klienta jest obliczany przez pomnożenie łącznej liczby minut w miesiącu kalendarzowym przez łączną liczbę użytkowników, a następnie odjęcie łącznej liczby minut Przestoju doświadczonego przez wszystkich użytkowników w danym miesiącu kalendarzowym oraz podzielenie wyniku przez łączną liczbę minut w danym miesiącu kalendarzowym pomnożoną przez łączną liczbę użytkowników. Jest to przedstawiane przy użyciu następującego wzoru: Łączna liczba minut czasu Łączna liczba minut Łączna liczba w miesiącu X użytkowników - przestoju dla wszystkich użytkowników w danym miesiącu Łączna liczba minut Łączna liczba X w miesiącu użytkowników Procent miesięcznego czasu pracy Kredyt usługi < 99,9% 10% < 99% 25%
  • 33. Przydatne linki
  • 34. SQL Azure Training Kit •Preparing your SQL Azure Account - In this simple click-through demo you will walk through the process of configuring your SQL Azure account for first time usage through the Windows Azure portal. •Connecting to SQL Azure - In this demo you will look at connecting to SQL Azure using SQL Server Management Studio. •Managing Logins and Security in SQL Azure - In this demo you configure the security for a SQL Azure database by creating logins and users and then assigning users to roles for a specific database. •Creating Objects in SQL Azure - In this demo you will look at how to create objects in SQL Azure by creating tables, indexes and stored procedures through SQL Server Management Studio. •Migrating a Database Schema to SQL Azure - In this demo you will look at how to take an existing SQL Server schema and migrate it to SQL Azure using Adventure Works 2008 Light. •Moving Data Into and Out Of SQL Azure using SSIS - In this demo you will look at how to move data between a SQL Azure Database and an on premise SQL Server Database using SQL Server Integration Services. •Building a Simple SQL Azure App - In this demo you will look at creating a simple Windows Azure Web Role that connects to SQL Azure to retrieve data and display it. •Scaling Out SQL Azure with Database Sharding - In this demo you will see the basics of database sharding to scale out with SQL Azure.
  • 35. Want to Know More? • Windows Azure Platform – • MSDN Development Center – • Team Blog – • Windows Azure Platform Training Kit – • Microsoft OS Cloud Windows Azure Data Center – Google & Amazon battle – • Microsoft patterns & practices: Windows Azure Security Guidance – • Installing Certificates in Windows Azure VMs –
  • 36. Get ongoing SQL Server learning from MVPs, top experts, and real-world users: • Training webcasts, technical education, worldwide event info, and more Sign up for your FREE PASS membership today: • Go to local PASS Chapter meetings Visit the PASS Chapter booth to learn about upcoming local events, or visit • No local Chapter? Start a Chapter with support and resources from PASS • Attend PASS Summit 2010 World's largest and best conference for SQL Server and BI technical education Follow / Join us online: Twitter @sqlpass #sqlpass, LinkedIn group, Facebook group
  • 37. Introduction to SQL Azure Data Sync Liam Cavanagh Bio: Liam Cavanagh currently works as a Sr. Program Manager for Microsoft in the Cloud Data Services group. In this group he works on the Data Sync Service for SQL Azure – enabling organizations to extend on-premises data to the cloud as well as to remote offices and mobile workers to remain productive regardless of network availability. Additionally, he works with enterprise corporations implementing enterprise mobile solutions, conducts training seminars worldwide on mobile and wireless technology design, development, and deployment. Liam holds a Bachelor of Mathematics degree in Business and Information Systems from the University of Waterloo in Waterloo, Ontario, Canada.Specialties:Mobile, Wireless, Replication and Cloud Database TechnologiesTitle Description In this session we will show you how SQL Azure Data Sync enables on-premises SQL Server data to be easily shared with SQL Azure allowing you to extend your on-premises data to begin creating new cloud-based applications. Using SQL Azure Data sync’s bi-directional data synchronization support, changes made either on SQL Server or SQL Azure are automatically synchronized back and forth. Next we show you how SQL Azure Data Sync provides symmetry between SQL Azure databases to allow you to easily geo-distribute that data to one or more SQL Azure data centers around the world. Now, no matter where you make changes to your data, it will be seamlessly synchronized to all of your databases whether that be on-premises or in any of the SQL Azure data centers.
  • 38. Pytania ?
  • 39. PYTANIA PO SESJI / KONTAKT: MAIL: | MSG: JABBER: | SKYPE: tjkoprowski (niezmiernie rzadko) TWITTER/FACEBOOK/LINKEDIN: KoprowskiT BLOGI: ITPRO Anorak’s Vision: [PL] Volume Licensing Specialites: [PL] My MVP Blog: [EN/PL] POLECANE STRONY: Społeczności IT: | CodeGuru: Virtual Study Portal: | Windows Server System: Global IT Community Association: Polish SQL Server User Group: Professional Association of SQL Server:
  • 40. Dziękuję za uwagę