22
Empezando con Jose Rivera Consultant Nagnoi, Inc. [email protected]

Empezando con Jose Rivera Consultant Nagnoi, Inc. [email protected]

Embed Size (px)

Citation preview

Page 1: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Empezandocon

Jose RiveraConsultantNagnoi, [email protected]

Page 2: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Bases de Datos SQL AzureLa primera y actual base de datos relacional como servicio

Escalabilidad Elástica

Agilidad de Desarrollo

Auto-Manejada

• Utilidad de Espacio; paga mientras crezcas

• Balance de Carga (Load Balancing) flexible

• SLAs listos para negocios

• Permite soluciones multi-inquilino

• Presencia mundial

• Fácil para provisionar e implementar

• Alta disponibilidad (HA) y "fault tolerance " automaticamente

• Infraestructura auto-mantenida y auto-arreglable

• Ninguna necesidad de administración de servidor o VM

• Se construyen soluciones de bases de datos "cloud-based " en un modelo relacional consistente

• Aprovechar las habilidades existentes a través de herramientas conocidas

Page 3: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Opciones de Bases de Datos

Recu

rso

s

Dedicado

Compartido

Bajo Alto“Fricción”/Control

SQL Azure (RDBMS)

Valor:

Alta Disponibilidad, Fault-Tolerance automaticos

Escalabilidad libre de fricción

Auto aprovisionamientoCompatibilidad Alta

Servidor BD VirtualGobierno de Recursos @

Base de Datos Lógica (LDB)

Seguridad @ LDB

En predios (On-premise) SQL Server u otro s/w en-predios

Gobierno de Recursos @ maquina Seguridad @ BD Server/SO

Valor:Control completo

Hardware – Tamaño/Escalabilidad

Compatibilidad 100%Propio

HA/DR/Escalabilidad

Alojado (Hosted) SQL Server u otro alojado

Gobierno de Recursos @ VM

Seguridad @ Server BD/SO

Valor:

Área de API – 100%Propio

HA/DR/Escalabilidad

Page 4: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Aplicaciones Departamentales Aplicaciones simples construidas por individuos o departamentos Necesidad de IT para implementación simple y auto-manejable:

“Apoderamiento y Dominio” Aplicaciones Web

Empresas pequeñas o empezando que necesiten la “nube” como IT Implementaciones simples, auto-manejables y escalabilidad según

demanda Proveedor de Servicios de Internet (ISV)

Soporte Multi-inquilino para facturación y aislamiento Concentrador de Datos (Data Hub)

Compartir y agregar datos a través de niveles (tiers) y empresas Lugar centralizado para datos, alta escalabilidad y sincronización

con fuentes de datos existentes

Escenarios para Azure

Page 5: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Topologías de Aplicación (V1)

MSDatacenter

SOAP/RESTHTTP/S

Acceso de SQL Azure desde MS Datacenter (Azure compute – ADO.NET)

Windows Azure

T-SQL (TDS)

MSDatacenter

T-SQL (TDS)

App Code / Tools

Acceso de SQL Azure desde fuera de MS Datacenter

(En predios – ADO.NET)

App Code(ASP.NET)

ADO.NET Data Svcs/REST - EFHTTP/S

Código Lejos

SQL Data Services

SQL Data Services

Application/ Browser

Código Cerca

Page 6: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Cada cuenta tiene cero o mas servidores Abarca la plataforma de Azure, provisionado vía un portal

común Establece un instrumento de facturación

Cada servidor tiene una o mas bases de datos Concepto lógico iguala a un master DB Contiene metadata de las bases de datos y su uso Contiene: autenticación(SQL), geo-localidad, facturación,

reportes Nombres generados basados en DNS El “Collation” de SQL Azure es SQL_LATIN1_GENERAL_CP1_CI_AS Máximo de 150 bases de datos

Cada base de datos tiene objetos estándar de SQL Usuarios, Tablas, Vistas, Índices, etc. Consistencia

Modelo de Provicionamiento de Servicio

Cuenta

Servidor

Base de Datos

Page 7: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Arquitectura

Infraestructura compartida al nivel de base de datos SQL Enrutamiento de solicitudes (request routing), seguridad y aislamiento

Tecnología de Alta Disponibilidad y Escalabilidad Replicación y “failover” automáticos

Infraestructura de medición y facturación

Maquina 5Instancia SQL

SQL BDUserDB1

UserDB2

UserDB3

UserDB4

Scalability and Availability: Fabric, Failover, Replication, and Load balancing

SDS Aprovisionamiento (bases de datos, cuentas, roles, …, Medición y Facturación

Maquina 6Instancia SQL

SQL BDUserDB1

UserDB2

UserDB3

UserDB4

Maquina 4Instancia SQL

SQL BDUserDB1

UserDB2

UserDB3

UserDB4

Escalabilidad y Disponibilidad: Fabric, Failover, Replicación y Balance de Carga

Page 8: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Replicas de Base de Datos

Replica 1

Replica 2

Replica 3

BD

Base de Datos unicaMultiples Replicas

Primario Unico

Replica 4

!

Page 9: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

SQL AzureImplementación

SQL AzureTDS

Gateway

DB Script

Page 10: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

SQL AzureAccesando las bases de datos

Your App

Cambia parámetro de conexión (connection string)

SQL AzureTDS

Gateway

Page 11: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Pequeños conjuntos de datos (Small Data Sets) Usa una sola base de datos Mismo modelo que SQL Server en los predios

Grandes conjuntos de datos (Large Data Sets) y/o rendimiento masivo (Massive Throughput) Particionar la data a través de varias bases de datos Usar “parallel fan-out queries” para búsqueda de datos Código de las aplicaciones debe ser “partition aware” en

v1 Deben estar publicados los “best practices” para

escalabilidad Post-v1 se trabajara en nivel de abstracción para reducir las

complejidades de particiones

Modelo de Programación

Page 12: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Desarrollo en SQL Azure

Demo

Page 13: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Ejemplos de Compatibilidad de SQL

Soportadas al momento Tablas, indexes and vistas * Procedimiento almacenado

(Stored Procedures) Disparador(Triggers) Restricciones(Constraints) Variables de tablas,

tablas temporeras de sesiones (#t)

Spatial

No soportadas al momento

Transacciones distribuidas Búsquedas (queries)

distribuidas CLR Service Broker DDL and vistas relacionadas

al servidor físico o al catalogo

Para mas información, vean http://msdn.microsoft.com/en-us/library/ee336281(lightweight).aspx

Page 14: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Soporte para patrones comunes de aplicaciones Administración lógica / basada en pólizas Patrones que funcionan de SQL Server a SQL Azure Consideraciones para Multi-inquilinos

“Throttling” and Balance de Carga (Load Balancing) Limites en tamaño de BD, duracion de transacciones,

etc

Metas de Compatibilidad

Page 15: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Se utilizan librerías de clientes existentes ADO.NET, ODBC, PHP

Librerías de cliente pre-instaladas en roles de Azure

Soporte para controles ASP.NET Clientes se conectan directamente a la base

de datos No se puede “brincar” a través de las BDs (no

USE)

Modelo de Conexion

Page 16: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

SQL Azure se enfoca en administración lógica Creación y manejo de esquemas Optimización de búsquedas Manejo de seguridad (Logins, Usurios, Roles)

Servicio maneja el aspecto físico Replicación automática con Alta disponibilidad

“out of box” Failover transparente en caso de fallo Balance de Carga de los datos para asegurar SLA

Administración Lógica vs. Física

El rol de DBA se enfatiza mas en manejo lógico

Page 17: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Soporte para opciones de implementación básicas Los SQL scripts funcionan (pero no attach database)

Geo-localización de Windows Azure y de bases de datos SQL Azure (Datacenters)

Soporte para aplicaciones y modelo de multi-servidores Implementación de Nube (Cloud) o en los predios es un

tema de selección al momento Visibilidad de los datos tanto en los predios como en la

nube

Implementación

Page 18: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Utiliza el modelo de seguridad regular de SQL Autentica logins, enlace a usuarios y roles Autentica usuarios y roles a objetos de SQL

Limitado a logins de SQL Username + password

Se contempla futuros protocolos de autenticación: AD Federation, WLID, etc

Modelo de Seguridad

Modelo de seguridad es 100% compatible con SQL locales

Page 19: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Ediciones de las Bases de Datos

Dos SQL Azure Database SKUs: Web & Business Web Edition: 1 GB @ $9.99/mes | 5 GB @ $49.95/mes Business Edition: Hasta 50 GB @ $99.99/10 GB/mes 10 GB @ $99.99 | 20 GB @ $199.98 | 30 GB @ $299.97 | 40 GB @ $399.96 | 50 GB @ $499.95

DBA especifica la edicion Web: EDITION = Web Business: EDITION = Business

DBA especifica MAXSIZE Web: MAXSIZE = 1GB| 5GB Business: MAXSIZE = 10GB | 20GB | 30GB | 40GB | 50GB El limite de 50 es establecido y no se permitirá crecimiento Sera cargado por el crecimiento actual (peak) (in cualquier día )

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 a 1GB

Hasta 50 GBIncrementos

10 GB

Business Edition

Hasta 5 GBSolo 1 GB o 5

GB

Web Edition

Page 20: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Ediciones de las Bases de Datos

Transferencia de datos América del Norte & regiones de Europa

$0.10 per GB in $0.15 per GB out

Región Asia Pacifico $0.30 per GB in $0.45 per GB out

Transferencias de datos de entrada (Inbound) durante horas no pico (off-peak) hasta octubre 31, 2010 son sin cargos. Precios revierten a las tasas de cargos de entrada luego de octubre 31, 2010.

$0.10 / GB$0.15 / GB

América del Norte

& Europa

$0.30 / GB$0.45 / GB

Asia Pacifico

Page 21: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Puntos Claves

Parte integrada de la Plataforma de Datos SQL

Aprovechar los conocimientos y herramientas existentes de SQL Server

SQL Azure es la plataforma de datos de Windows Azure

Page 22: Empezando con Jose Rivera Consultant Nagnoi, Inc. Jose.rivera@nagnoi.com

Windows Azure Platformhttp://www.azure.com/

Windows Azure Platform Training Kithttp://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&displaylang=en

MSDN Development Centerhttp://msdn.microsoft.com/en-us/sqlserver/dataservices

Team Bloghttp://blogs.msdn.com/ssds

Joe Rivera’s Techno Ramblings http://joetechramblings.wordpress.com

Quieren saber mas?