servicios de infraestructura utiles al desarrollo de aplicaciones pablo tloupakis architectural...

26
Servicios de Servicios de Infraestructura Infraestructura Utiles al Desarrollo Utiles al Desarrollo de Aplicaciones de Aplicaciones Pablo Tloupakis Pablo Tloupakis Architectural Consultant Architectural Consultant [email protected] [email protected]

Upload: eleuterio-de-caro

Post on 03-Jan-2015

14 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

Servicios de Servicios de Infraestructura Utiles al Infraestructura Utiles al Desarrollo de Desarrollo de AplicacionesAplicaciones

Pablo TloupakisPablo TloupakisArchitectural ConsultantArchitectural [email protected]@microsoft.com

Page 2: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

AgendaAgenda

1. Problemática 1. Problemática

2. Servicios de Infraestructura 2. Servicios de Infraestructura

3. Conclusiones 3. Conclusiones

4. Información Adicional4. Información Adicional

Page 3: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

1. Problemática1. Problemática¿Cuál es el diseño de infraestructura ¿Cuál es el diseño de infraestructura recomendado? recomendado?

Donde ubicar los Web Servers, Application Servers, Bases Donde ubicar los Web Servers, Application Servers, Bases de Datos,etc. de Datos,etc.

DMZ, redes internas, etc.DMZ, redes internas, etc.

¿Qué puertos necesito? ¿Qué puertos necesito? ¿Cuál es la arquitectura recomendada? ¿Cuál es la arquitectura recomendada? ¿Cómo evitar pelearme con los arquitectos de ¿Cómo evitar pelearme con los arquitectos de infraestructura?infraestructura?¿Cuál es la mejor estrategia de utilización de ¿Cuál es la mejor estrategia de utilización de

Active Directory en mi aplicación? Active Directory en mi aplicación? ¿En qué casos me conviene Active Directory? ¿En qué casos me conviene Active Directory? ¿Cómo y donde almaceno perfiles en Active Directory?¿Cómo y donde almaceno perfiles en Active Directory?

¿Cómo puedo administrar autorización con roles ¿Cómo puedo administrar autorización con roles integrado al directorio? integrado al directorio?

¿Cómo puedo potenciar Web Services y COM+ ¿Cómo puedo potenciar Web Services y COM+ con el directorio? con el directorio?

Page 4: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

2. Servicios de Infraestructura 2. Servicios de Infraestructura

2.1. Microsoft Systems Architecture 2.1. Microsoft Systems Architecture (MSA)(MSA)

2.2. Application Partitions2.2. Application Partitions

2.3. Active Directory Application Mode 2.3. Active Directory Application Mode (AD/AM) (AD/AM)

2.4. Application Authorization (AzMan)2.4. Application Authorization (AzMan)

2.5. UDDI y Active Directory 2.5. UDDI y Active Directory

2.6. COM+ Partitions y Active 2.6. COM+ Partitions y Active DirectoryDirectory

Page 5: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

2.1. Microsoft Systems 2.1. Microsoft Systems Architecture (MSA)Architecture (MSA)

Guía prescriptiva para la implementación de Guía prescriptiva para la implementación de arquitecturas y servicios de infraestructura en arquitecturas y servicios de infraestructura en plataforma Microsoft plataforma Microsoft

Diseños recomendados y “best practices” de Diseños recomendados y “best practices” de infraestructurainfraestructuraForma parte del PAG, Forma parte del PAG, Patterns & Practices Patterns & Practices para para infraestructurainfraestructura

Más que “whitepapers”: Más que “whitepapers”: Arquitecturas pre-evaluadas en ambientes de laboratorio Arquitecturas pre-evaluadas en ambientes de laboratorio Provisión de: Provisión de:

Arquitecturas de Referencia Arquitecturas de Referencia • Configuración detallada para cada componente de la soluciónConfiguración detallada para cada componente de la solución

Guía de Planeamiento Guía de Planeamiento Guía de Construcción e Implementación Guía de Construcción e Implementación Guía de OperacionesGuía de Operaciones

Solución desarrollada con Socios de Negocios Solución desarrollada con Socios de Negocios MicrosoftMicrosoft

Page 6: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

2.1. Microsoft Systems 2.1. Microsoft Systems Architecture (MSA)Architecture (MSA)MSA v2.0 puede ser aplicable MSA v2.0 puede ser aplicable a: a:

a) a) EscenariosEscenarios específicos específicosCorporate Data Center Corporate Data Center (CDC) (CDC) Satellite Branch Office (SBO)Satellite Branch Office (SBO)Department Department Extranet Extranet Internet Data Center Internet Data Center 

b) b) ServiciosServicios específicos específicos Network DevicesNetwork DevicesStorage DevicesStorage DevicesNetwork ServicesNetwork ServicesFirewall ServicesFirewall ServicesDirectory ServiceDirectory ServiceFile & Print ServicesFile & Print ServicesData ServicesData ServicesWeb Application ServicesWeb Application ServicesInfrastructure Mgmt ServicesInfrastructure Mgmt ServicesBackup & Recovery ServicesBackup & Recovery ServicesCertificate ServicesCertificate ServicesRemote Access ServicesRemote Access ServicesMiddleware ServicesMiddleware Services

Enfoque modular y matricialEnfoque modular y matricialNo implica la implementación No implica la implementación total de la solucióntotal de la solución

Page 7: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

Aplicaciones en Active DirectoryAplicaciones en Active DirectoryProblemática:Problemática:

Microsoft recomienda la utilización de Active Microsoft recomienda la utilización de Active Directory como repositorio de información de Directory como repositorio de información de configuración, datos y perfiles de aplicacionesconfiguración, datos y perfiles de aplicacionesPero….Pero….

Mas datos en AD implica mayor replicación Mas datos en AD implica mayor replicación Impacto en infraestructuraImpacto en infraestructura

Se recomienda que los datos almacenados en AD sean Se recomienda que los datos almacenados en AD sean relativamente estáticos relativamente estáticos

No apto para perfiles No apto para perfiles

El Schema es extensibleEl Schema es extensible Pero se recomienda ser conservador con los cambios en el Pero se recomienda ser conservador con los cambios en el

Schema… Schema…

La replicación no es adaptable a necesidades de la La replicación no es adaptable a necesidades de la aplicaciones sino de la infraestructura aplicaciones sino de la infraestructura

No es posible definir por el administrador de una aplicación No es posible definir por el administrador de una aplicación a que servidores específicos se replican los datos a que servidores específicos se replican los datos

El cronograma de replicación está determinado por la El cronograma de replicación está determinado por la infraestructura y no por las aplicaciones infraestructura y no por las aplicaciones

Page 8: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

Aplicaciones en Active DirectoryAplicaciones en Active DirectorySoluciones de Infraestructura: Soluciones de Infraestructura:

2.2. Application Partitions2.2. Application Partitions

2.3. Active Directory Application 2.3. Active Directory Application Mode (AD/AM) Mode (AD/AM)

Page 9: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

2.2. Application Partitions2.2. Application Partitions

Particiones en Windows 2000: Particiones en Windows 2000: Configuration Partition Configuration Partition : : forest wideforest wideSchema Partition Schema Partition : : forest wideforest wideDomain Partition Domain Partition : : domain widedomain wide

Particiones en Windows 2003: Particiones en Windows 2003: Configuration Partition Configuration Partition : : forest wideforest wideSchema Partition Schema Partition : : forest wideforest wideDomain Partition Domain Partition : : domain widedomain wideApplication Partitions:Application Partitions:

También llamadas También llamadas ““non-domain naming contextsnon-domain naming contexts” ó ” ó NDNCsNDNCs

Page 10: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

2.2. Application Partitions2.2. Application PartitionsParticiones AD orientadas a almacenamiento de información Particiones AD orientadas a almacenamiento de información temporaria o de carácter volátil. Ejemplos: temporaria o de carácter volátil. Ejemplos:

Datos de configuración de una aplicación Datos de configuración de una aplicación Objetos propios de la aplicación Objetos propios de la aplicación

Pueden ser creadas y replicadas a cualquier Pueden ser creadas y replicadas a cualquier Domain Domain ControllerController del forest del forest

Definidos por el administrador Definidos por el administrador Cronograma de replicación independiente del de particiones AD Cronograma de replicación independiente del de particiones AD “tradicionales”“tradicionales”

Puede contener objetos AD de cualquier tipoPuede contener objetos AD de cualquier tipoExcepto Excepto Security Principals (users, groups, computers)Security Principals (users, groups, computers)

Se pueden asignar permisos a usuarios del dominio/forest Se pueden asignar permisos a usuarios del dominio/forest en objetos de una en objetos de una Application Partition Application Partition Utilizadas en Windows 2003 para: Utilizadas en Windows 2003 para:

Zonas DNS Zonas DNS AD/AMAD/AMCOM+ partitionsCOM+ partitionsTAPI ApplicationsTAPI Applications

Page 11: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

2.3. Active Directory Application 2.3. Active Directory Application Mode (AD/AM) Mode (AD/AM)

Versión “light” de Active Directory:Versión “light” de Active Directory:Directorio LDAP de MicrosoftDirectorio LDAP de MicrosoftMismo modelo de programación que ADMismo modelo de programación que ADEsquema de replicación y administración Esquema de replicación y administración similar a ADsimilar a ADStorage idéntico a AD Storage idéntico a AD Schema reducidoSchema reducido

Diferencias con Active Directory: Diferencias con Active Directory: No soporta protocolo MAPINo soporta protocolo MAPINo es necesario ejecutar DCPROMONo es necesario ejecutar DCPROMONo convierte al equipo en un Domain ControllerNo convierte al equipo en un Domain ControllerSe ejecuta en su propio procesos/servicioSe ejecuta en su propio procesos/servicioRestart/reinstall sin rebootRestart/reinstall sin reboot

Page 12: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

2.3. Active Directory Application 2.3. Active Directory Application Mode (AD/AM) Mode (AD/AM)

Permite Schema propio de la aplicación Permite Schema propio de la aplicación No impacta en Schema “estándar” de Active Directory No impacta en Schema “estándar” de Active Directory

Account y password policies por partición:Account y password policies por partición:Account lockout, disable/enableAccount lockout, disable/enablePassword complexity, min/max agePassword complexity, min/max age

Permite crear:Permite crear:Windows Security Principals:Windows Security Principals:

Cualquier WSP puede ser autenticado/autorizado en ADAM vía LDAP, Kerberos Cualquier WSP puede ser autenticado/autorizado en ADAM vía LDAP, Kerberos ó NTLMó NTLM

ADAM Security Principals: ADAM Security Principals: Users y GroupsUsers y Groups Usuarios y grupos específicos a la particiónUsuarios y grupos específicos a la partición

• No son visibles en otras particiones ó ADNo son visibles en otras particiones ó AD Tienen SID con el mismo formato que ADTienen SID con el mismo formato que AD

Pueden ser creadas y replicadas a cualquier Domain Pueden ser creadas y replicadas a cualquier Domain Controller del forest Controller del forest

Definidos por el administrador Definidos por el administrador Cronograma de replicación independiente del de particiones AD Cronograma de replicación independiente del de particiones AD “tradicionales”“tradicionales”

Page 13: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

AD/AM: Esquema de AD/AM: Esquema de ReplicaciónReplicación

Cada instancia de AD/AM puede contener múltiples Cada instancia de AD/AM puede contener múltiples particionesparticiones

Cada instancia es un servicio Win32, con su propio puerto Cada instancia es un servicio Win32, con su propio puerto

Las instancias pueden ser agrupadas en un Las instancias pueden ser agrupadas en un Configuration Configuration Set Set

Cada Cada Configuration Set Configuration Set tiene un tiene un Schema Schema comúncomún

N instancias por servidor N instancias por servidor

Page 14: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

Ejemplo: portal Web con Ejemplo: portal Web con personalizaciónpersonalización

Información de personalización en Información de personalización en ADAMADAM

Utilización AD para autenticaciónUtilización AD para autenticación

ADAMADAM

Infrastructure Active DirectoryInfrastructure Active Directory

WebWebportalportal

Store/Store/retrieveretrieve

datadata

ClientClientAuthenticationAuthentication

ServerServer

AD/AM: Ejemplo PerfilAD/AM: Ejemplo Perfil

Page 15: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

Ejemplo: portal Web con Ejemplo: portal Web con personalizaciónpersonalización

Información de personalización en Información de personalización en ADAMADAM

Logon a AD a través de AD/AM Proxy Logon a AD a través de AD/AM Proxy LogonLogon

ADAMADAM

Infrastructure Active DirectoryInfrastructure Active Directory

WebWebportalportal

Store/retrieve

dataClientClient

AuthenticationAuthenticationProxy LogonProxy Logon

ServerServer

AD/AM: Ejemplo Proxy LogonAD/AM: Ejemplo Proxy Logon

Authentication

Page 16: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

2.4. Application Authorization 2.4. Application Authorization (AzMan)(AzMan)

Modelo estándar para administración de autorización en Modelo estándar para administración de autorización en aplicaciones aplicaciones

Role Based Administracion Role Based Administracion Administración de roles mas dinámica que grupos de usuario Administración de roles mas dinámica que grupos de usuario Active DirectoryActive DirectorySeparación de administración de grupos de infraestructura de Separación de administración de grupos de infraestructura de grupos de aplicacionesgrupos de aplicaciones

Define: Define: Role: Set of work-units defined by a job descriptionRole: Set of work-units defined by a job descriptionTask: Work-unit that makes sense to adminsTask: Work-unit that makes sense to adminsOperation: Work-unit that makes sense to developersOperation: Work-unit that makes sense to developersBiz Rule: Runtime script to adjust task permissionsBiz Rule: Runtime script to adjust task permissionsScope: Set of resources where role appliesScope: Set of resources where role appliesApplication group: App specific, Static or LDAP queryApplication group: App specific, Static or LDAP query

El El store store puede ser: puede ser: Active Directory Active Directory

Requiere dominio en modo Windows Server 2003Requiere dominio en modo Windows Server 2003

Archivos XML Archivos XML

Page 17: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

ADAM vs Application PartitionsADAM vs Application Partitions

Application PartitionApplication Partition en Active Directory en Active DirectoryVentaja: backup centralizado, parte de la Ventaja: backup centralizado, parte de la infraestructurainfraestructuraDesventaja: utiliza el mismo Desventaja: utiliza el mismo Schema Schema que Active que Active DirectoryDirectory

ADAMADAMVentajas: schema, Ventajas: schema, naming naming y cronograma de y cronograma de replicación independientes de ADreplicación independientes de ADDesventaja: no hay administración centralizada Desventaja: no hay administración centralizada

Infrastructure Active DirectoryInfrastructure Active Directory

WebWebportalportal

ClientClient

ServerServer

App partitionApp partitionLDAPLDAP ADAMADAM

Page 18: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

Web ExpenseApplication

Role={Tasks}, Role={Tasks}, Task={Operations}Task={Operations}

DatabaseOperation

WebOperation

DirectoryOperation

PaymentSystem

Operation

AdministratorApproverSubmitter

ChangeApprover

ApproveDeny

Payment

ApproveReject Report

SubmitReport

CancelReport

CheckStatus

Page 19: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

Role Definitions & Assignments, Role Definitions & Assignments, ScopesScopes

Submitter Administrator

Approver: QueryGroup_Mgr Administrator: Jane, Liz

Approver: QueryGroup_Admin Administrator: Jane, Charlie

Submitter: Employees

Scope: Dept 01Scope: Dept 01

Scope: Dept 02Scope: Dept 02

Role DefinitionsApprover

Dept 01Role Assignments:

Dept 02Role Assignments:

Web ExpenseRole Assignments:

Scope: DefaultScope: Default

Web ExpenseApplication

Page 20: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

2.5. UDDI y Active Directory 2.5. UDDI y Active Directory

Servicios UDDI pueden ser publicados en Active Servicios UDDI pueden ser publicados en Active Directory Directory

Windows Server 2003 Windows Server 2003

Administración de Autenticación y Autorización a Administración de Autenticación y Autorización a través de Grupos y Usuarios Active Directory través de Grupos y Usuarios Active Directory

Utilización de los mecanismos de resolución de Utilización de los mecanismos de resolución de nombres de AD para localización de servidores en nombres de AD para localización de servidores en la red con servicios UDDI para clientesla red con servicios UDDI para clientes

Discovery de instancias de UDDI Services:Discovery de instancias de UDDI Services:Visual Studio.NET AddWebReferenceVisual Studio.NET AddWebReference

UDDI SDKUDDI SDK

Office System/InfopathOffice System/Infopath

Page 21: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

2.6. COM+ Partitions y Active 2.6. COM+ Partitions y Active DirectoryDirectory

Page 22: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

COM+ Partitions COM+ Partitions

COM+ Partition: COM+ Partition: Contenedor lógico que permite la ejecución de Contenedor lógico que permite la ejecución de una misma aplicación con configuraciones una misma aplicación con configuraciones distintas e independientes entre cada particióndistintas e independientes entre cada partición

Ejemplo: Ejemplo: Aplicación Aplicación hosted hosted para para múltiples empresasmúltiples empresas

Cada empresa está Cada empresa está representada por una COM+ representada por una COM+ Partition Partition

En cada COM+ Partition se En cada COM+ Partition se ejecuta la versión propia para ejecuta la versión propia para cada empresacada empresa

Cada empresa ejecuta código Cada empresa ejecuta código client side client side de la aplicación de la aplicación localmente y se conecta a su localmente y se conecta a su COM+ PartitionCOM+ Partition

Page 23: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

COM+ PartitionsCOM+ PartitionsBeneficios: Beneficios:

Reducción de cantidad de servidores Reducción de cantidad de servidores físicos para ejecución de múltiples físicos para ejecución de múltiples configuraciones de una misma aplicación configuraciones de una misma aplicación

Permite generación de múltiples Permite generación de múltiples ambientes para una aplicación ambientes para una aplicación

Ejemplos: Desarrollo, Testing, Producción, Ejemplos: Desarrollo, Testing, Producción, etc.etc.

Administración y delegación de Administración y delegación de seguridad y roles COM+ a nivel de cada seguridad y roles COM+ a nivel de cada partición individual partición individual

Hosting de aplicaciones COM+Hosting de aplicaciones COM+

Page 24: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

COM+ Partitions y Active COM+ Partitions y Active DirectoryDirectory

Creación de Creación de Partition Set Partition Set en un dominio Active en un dominio Active Directory Directory

Cada Cada Partition Set Partition Set puede contener múltiples COM+ puede contener múltiples COM+ Partitions Partitions

A efectos de permitir el acceso a la aplicación, A efectos de permitir el acceso a la aplicación, las cuentas de usuarios, grupos u las cuentas de usuarios, grupos u Organization Organization UnitsUnits son asignadas a cada son asignadas a cada Partition SetPartition Set

Tareas de configuración (alto nivel): Tareas de configuración (alto nivel): En el En el Domain Controller: Domain Controller:

1.1. Creación de COM+ Partition Creación de COM+ Partition 2.2. Creación de Creación de Partition Set Partition Set 3.3. Asignación de COM+ Partition a Partition SetAsignación de COM+ Partition a Partition Set4.4. Asignación usuarios, grupos, OUs a Partition SetAsignación usuarios, grupos, OUs a Partition Set

En el COM+ Application Server: En el COM+ Application Server: 1.1. Creación de COM+ Partition Creación de COM+ Partition 2.2. Link a Link a Partition Set Partition Set de Active Directoryde Active Directory

Page 25: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

3. Conclusiones3. Conclusiones

Best Practices Infraestructura

Particiones de Directorio específicos de aplicación

Directorio LDAP, almacenamiento de perfiles

Mecanismo de Administración de Roles para aplicaciones integrada

con el directorio

Publicación de servicios UDDI en el Directorio Corporativo

Ejecución de una misma aplicación COM+ con múltiples

versiones y configuraciones

MSA v2.0Windows 2000/2003

Active Directory Application Partitions

Windows Server 2003

Active Directory Application Mode (AD/AM)

Windows Server 2003

Application Authorization API (AzMan)

Windows 2000/2003

Windows Server 2003 UDDI Services y Active Directory 2003

Windows Server 2003 COM+ Partitions y Active Directory 2003

Page 26: Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural Consultant pablot@microsoft.com

InformaciInformación Adicionalón Adicional

Programa Microsoft Systems Programa Microsoft Systems Architecture:Architecture:

http://www.microsoft.com/solutions/http://www.microsoft.com/solutions/msa/default.aspmsa/default.asp

Solución MSA v2.0: Solución MSA v2.0: http://www.microsoft.com/downloads/http://www.microsoft.com/downloads/details.aspx?FamilyId=F2BF7811-F13F-details.aspx?FamilyId=F2BF7811-F13F-4E70-8F69-4E70-8F69-5636F2105396&displaylang=en5636F2105396&displaylang=en

Active Directory Application Mode: Active Directory Application Mode: http://www.microsoft.com/downloads/http://www.microsoft.com/downloads/details.aspx?FamilyId=9688F8B9-1034-details.aspx?FamilyId=9688F8B9-1034-4EF6-A3E5-4EF6-A3E5-2A2A57B5C8E4&displaylang=en2A2A57B5C8E4&displaylang=en