Mónica Fernández [email protected] Raúl Moros [email protected].
Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural...
-
Upload
eleuterio-de-caro -
Category
Documents
-
view
14 -
download
1
Transcript of Servicios de Infraestructura Utiles al Desarrollo de Aplicaciones Pablo Tloupakis Architectural...
Servicios de Servicios de Infraestructura Utiles al Infraestructura Utiles al Desarrollo de Desarrollo de AplicacionesAplicaciones
Pablo TloupakisPablo TloupakisArchitectural ConsultantArchitectural [email protected]@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
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?
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
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
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
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
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)
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
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
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
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”
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
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
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
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
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
Web ExpenseApplication
Role={Tasks}, Role={Tasks}, Task={Operations}Task={Operations}
DatabaseOperation
WebOperation
DirectoryOperation
PaymentSystem
Operation
AdministratorApproverSubmitter
ChangeApprover
ApproveDeny
Payment
ApproveReject Report
SubmitReport
CancelReport
CheckStatus
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
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
2.6. COM+ Partitions y Active 2.6. COM+ Partitions y Active DirectoryDirectory
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
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+
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
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
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