El método de Microsoft para administrar el ciclo de vida de las aplicaciones (Application Lifecycle Management, ALM) proporciona un entorno flexible y ágil que se adapta a las necesidades del equipo, elimina barreras entre roles y optimiza los procesos, de manera que puede centrarse en ofrecer software de gran calidad de un modo más rápido y eficiente. En esta sesión nos concentraremos en los proyectos de base de datos que toman una gran importancia en un mundo en el que el desarrollo de software es cada vez más importante para el éxito de un negocio.
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
24 HOP edición Español - Alm para el desarrollo de base de datos sql server - John Alexander Bulla Torres
1. ALM para el desarrollo de base
de datos SQL Server
Expositor: John Alexander Bulla Torres – MVP | MCP | MCTS
Moderador: Freddy Angarity
2. Gracias a nuestros auspiciadores
Database Security as Easy as A-B-C
http://www.greensql.com
Hardcore Developer and IT
Training
http://www.pluralsight.com
SQL Server Performance
Try PlanExplorer today!
http://www.sqlsentry.com
3. Próximos SQL Saturday
6 de Diciembre de 2014
https://www.sqlsaturday.com/351/register.aspx
24 de Enero de 2015
https://www.sqlsaturday.com/346/register.aspx
18 de Abril de 2015
https://www.sqlsaturday.com/368/register.aspx
9 de Mayo de 2015
https://www.sqlsaturday.com/373/register.aspx
4. Capítulo Global PASS en Español
4
4
Reuniones semanales todos los miércoles a
las 12PM UTC-5 (Hora de Colombia)
https://www.facebook.com/SpanishPASSVC
5. 5
Asistencia Técnica
Si requiere asistencia
durante la sesión debe
usar la sección de
preguntas que esta en el
menú de la derecha.
Use el botón de Zoom
para ajustar su pantalla
al tamaño deseado
Escriba sus preguntas
en la sección de
preguntas que esta en el
menú de la derecha
6. ALM para el desarrollo de base de datos SQL Server
@johnbulla
bit.ly/johnbulla
linkedin.com/in/johnbulla
8. Agenda
Qué son las herramientas de SQL Server en Visual Studio?
8
9. Windows Server Core Support
Contained Database Authentication
Multiple Secondaries
PHP & Java Connectivity
PowerShell 2.0 Support
Unstructured Data Performance
T-SQL Debugger Enhancements
Default Scheme for Windows Groups
9
AlwaysOn
xVelocity FileTable
SSIS Package Management
15k Partitions
SQL Server Data Tools
Power View
BI Semantic Model
Full-Text Search Performance
Distributed Replay
ODBC Driver for Linux
T-SQL Enhancements
Full Globe Spatial
SSMS to Windows Azure Platform
Master Data Management Excel Add-in
SQL Audit for All Editions
New SSIS Design Surface
Multi-site Clustering
Database Recovery Advisor
HA for StreamInsight
Flexible Failover Policy
Extended Events Enhancements
SQL Server Express LocalDB
User-defined Audit
Audit Filtering
Audit Resilience
FTS Support for Czech and Greek
Ad Hoc Reporting
SSIS Troubleshooting
Spatial 2D Support
10. SQL Server Tooling en Visual Studio
• Sistema de proyectos para el desarrollo de base de datos
• Construir validación de tiempo
• Edición Online / Offline
• Motor de análisis de código fuente extensible
• Publicación de la base de datos con extensibilidad
• Esquema de comparación
• Pruebas unitarias de base de datos
10
10
14. Desarrollo de BD con herramientas de Visual Studio
14
GIT
Share
SQL
SQL
15. Desarrollo de BD con herramientas de Visual Studio
15
GIT
Share
SQL
SQL
DacPac
T-SQL
16. Que es ALM ?
Es un conjunto de herramientas, procesos y
prácticas que ayudan a los equipos a gestionar el
ciclo de vida de las aplicaciones y que ofrece
capacidades para:
16
Planeación y seguimiento
Diseño, desarrollo y pruebas
Gestión de la configuración
Construcción y liberación
Reportes
Fuente: WillyDev – Willy Marroquin
17. Por que Microsoft ALM?
La solución de Microsoft para La Gestión del ciclo de vida de aplicaciones (ALM) proporciona una forma extremadamente efectiva de la integración de
sus stakeholders en la planificación, creación, prueba y gestión de su portafolio de aplicaciones.
Integrar sus equipos Cambie a su ritmo
17
2. Developers
y Testers
3. IT Ops
1. Propietarios de
negocios de productos
Tecnología
Personas
Procesos
Microsoft cumple
donde estás, así
que usted puede cambiar
a su ritmo.
26. 26
Plan
Operate
REQUIREMENTS
Construct Operate
WORKING SOFTWARE
Develop
Configuration-based
deployments
27. 27
REQUIREMENTS
Construct Operate
WORKING SOFTWARE
Plan
Develop
Configuration-based
deployments
Operate
28. 28
Plan
Develop
Release
Operate
REQUIREMENTS
Construct Operate
WORKING SOFTWARE
29. Continuous value
Plan REQUIREMENTS
BACKLOG
Construct Operate
RELEASE
WORKING SOFTWARE
Develop
Operate
Agile portfolio management
Team Room
Git
CodeLens
.NET memory dump analyzer
Visual Studio and
System Center
integration
Build | Measure | Learn
Performance events
Integrated release
management
Collaborate
Kanban customization
Work item tagging
Release
Load testing as a service
Configuration-based
deployments
Work item charting
36. 50
Recursos
Talks & Downloads:
SQL Server Database Projects and Team
Foundation Build
http://msdn.microsoft.com/en-us/data/hh297027
TechEd 2012: Microsoft SQL Server Data Tools: Database
Development from Zero to Sixty
http://channel9.msdn.com/events/teched/Europe/2012/dbi311
Team Blog and Forums
http://blogs.msdn.com/b/ssdt/
http://social.msdn.microsoft.com/Forums/sqlserver/en-
US/home?forum=ssdt
50
Herramientas de SQL Server dentro de Visual Studio es un tema muy amplio que cubre un montón de gran funcionalidad. En esta presentación nos centraremos en la integración de proyectos de bases de datos con el uso de la base de datos de TFS y pruebas unitarias. Hay un montón de presentaciones existentes que cubren las otras partes de la experiencia de herramientas de SQL.
Para entender los beneficios de utilizar el desarrollo basado en proyectos que ayuda a examinar las prácticas de desarrollo comunes y explicar los beneficios y desventajas de cada uno. Vamos a empezar con la experiencia conectada de desarrollo simple, basada en el uso de bases de datos SSMS con los cambios que ocurren directamente en contra de la base de datos. En este caso, la base de datos es la fuente de la verdad y de las copias de seguridad periódicas se utilizan para restaurar la base de datos si hay un error / se produce un error.
Esto es muy popular debido a la velocidad de desarrollo (hacer un cambio y se aplica al instante), pero tiene una serie de inconvenientes. Por ejemplo, es difícil entender qué cambios se han producido, por la que se aplicaron, o incluso lo que la estructura general es. Un desarrollador podría haber quitado la vista o tabla a llamadas a procedimientos almacenados, pero esto no va a ser notado hasta que llame a ella. También hay una falta de separación entre el desarrollo y el despliegue, lo que afecta la capacidad de migrar la base de datos a otros servidores, entre otras cosas. Así que esto tiene algunas ventajas y muchos inconvenientes.
Mudarse a un escenario más avanzado, y probablemente más común en muchos entornos de desarrollo, una gran cantidad de desarrolladores seguir utilizando el desarrollo conectado en SSMS pero con el uso de un conjunto de secuencias de comandos que representan los pasos de creación de base de datos y de modificación necesarios para conseguirlo en su estado actual.
En este ejemplo, es común para definir el estado inicial (v1) de la base de datos, a continuación, tener un conjunto de sentencias ALTER que se mueven que a v2, v3 para otro, etc. Esto apoya el desarrollo de uno contra el PP y luego el despliegue de los cambios a una puesta en escena servidor antes de la implementación. Es un paso definitivo a partir de la versión más básica de desarrollo conectado y muchos equipos utilizan esta hoy. Se tiene desventajas también:
Todavía no es siempre claro qué objetos están en la base de datos / lo que el Estado espera es para cualquier versión de dar, ya que el uso de la sintaxis ALTER hace que sea más difícil hacer un seguimiento del diseño real.
Esto significa que aún es posible tener procedimientos almacenados no válidos sin darse cuenta debido a la falta de advertencia y errores.
Seguimiento de cambios (lo que ha cambiado y por qué) se basa en comentarios de código distribuidas en las declaraciones ALTER
Para cualquier tabla dada / ver la estructura real y las decisiones sobre cambios en el código se propagan a través de la definición original, subsiguientes secuencias de comandos ALTER, y, posiblemente, una serie de comentarios en otros lugares.
Estos inconvenientes siempre van a estar ahí cuando se utiliza el desarrollo conectada puro. Es una razón por la que sentimos que son fuertes ventajas a usar un fuera de línea, modelo de desarrollo basado en proyectos al igual que en otros idiomas.
Llegar a una fase de desarrollo más hecho y derecho totalmente usted puede desear separar los roles de desarrollo y DBA. Aquí vamos a través de un ejemplo de eso, el único cambio real es que el desarrollador genera una Dacpac (un único archivo que representa el estado de base de datos esperado, utilizable para desplegar a través de nuestras herramientas de línea de comandos SqlPackage Visual Studio, y SSMS) o un conjunto de pre guiones -Construir construir contra el estado del servidor de destino esperado, entonces da estas fuera a un DBA para su despliegue en el servidor intermedio.
Este es un escenario común en muchas empresas en las que no se les da acceso a los servidores de puesta en escena / producción desarrolladores. La herramienta se encarga de este bien y soporta fácilmente escenarios como este.
Esto es lo que un sencillo escenario de desarrollo basado en proyectos se parece en Visual Studio, adecuado para 3-5 desarrolladores. La anterior serie de scripts de implementación graduales en un recurso compartido de archivos en algún lugar se sustituyen con sólo usar puro Data Definition Language (DDL) que describe cómo una tabla / vista, etc. debe mirar. Esto tiene un beneficio inmediato grande ya que se puede ver exactamente cómo una tabla dada debe buscar cualquier versión de su base de datos. Los cambios (por qué lo cambiaron, lo que el cambio era) se almacenan mediante el uso de control de código fuente - Git en este ejemplo. Eso ha incorporado funcionalidad para mostrar lo que ha cambiado, y comprometerse comentarios explican por qué.
Usted se estará preguntando cómo funciona esto pasar de v1 -> v2 -> v3? Antes necesitabas guiones incrementales, ¿cómo funciona eso aquí? La respuesta es que la tecnología de implementación DacFx utilizado por nuestras herramientas de SQL genera automáticamente estos scripts para usted. Al desarrollar y probar localmente se le toma un montón de pequeños cambios que se aplican de forma automática (intentar golpear F5 en un proyecto de base de datos para ver los últimos cambios empujado a una base de datos de desarrollo local, por ejemplo). Al publicar los cambios completos a un servidor de ensayo, se puede optar por la escritura a cabo esos cambios para la validación por un DBA o directamente publicar los cambios en el uso de Visual Studio / nuestras SqlPackage herramientas de línea de comandos.
Además, ahora que toda la estructura de base de datos está en un proyecto que consigue crear en tiempo de validación para detectar problemas tales como el procedimiento almacenado roto nos lo hemos perdido en el mundo conectado. Esto es realmente muy valiosa como herramienta y puede mejorar significativamente la capacidad de mantenimiento a largo plazo.
Los grandes beneficios aquí son, por tanto, que el control de versiones se convierte en mucho menos de una preocupación, usted consigue un montón de validación adicional (el tiempo de construcción, utilizando el bucle de implementación local, ya través de la validación de los scripts generados por completo publicar), y la información de su cambio se documenta y almacenado en una manera consistente.
Time: 2 minutes
Flow:
We have had an end to end ALM solution for many years with Team Foundation Server on-premises which is built on a core set of capabilities to help development teams:
Source control
Agile planning tools
Team rooms
Test case management
Feedback management and
Automated builds
Layered on top of that core ALM functionality, Team Foundation Server has the ability to
Manage, deploy to, and test on environments with Lab Management
Configure and manage releases with Release Manager
Perform on premises load testing
Integrate completely with SharePoint and customized SharePoint sites
Integrate seamlessly with Project Server and System Center
We are now introducing Visual Studio Online which builds on top of that core ALM functionality as well and provides additional capabilities and unique services like:
Cloud Build Service
Cloud Load Testing Service
Application Insights
Continuous deployment to Microsoft Azure
Lightweight Code Editing Experience
Microsoft’s ALM toolset is flexible and allows you to adopt a mixture of on-premises or cloud-based services. You can even use TFS on-premises and use services on Visual Studio Online that make sense to your team like the Load Testing Service and Application Insights.
Transition to next slide:
We’ll explore these services and more in depth throughout the rest of this presentation.
Lo que hemos demostrado hasta ahora puede trabajar grande para los equipos de desarrolladores 3-5. Sin embargo el uso de un recurso compartido de archivos hace las cosas más difíciles de lo que debe ser, y no recibe los beneficios que vienen con una herramienta con todas las funciones, como TFS. TFS no es sólo control de código fuente, también se ha automatizado el apoyo de construcción usando un agente de compilación, con la validación a nivel de equipo, la integración con sus procesos de desarrollo estándar (elementos de trabajo determinación sobre el registro, deshacer los cambios si se rompen las pruebas unitarias build / descanso ).
Aquí vemos un proceso de desarrollo completo, basado en un desarrollador de comprobación dando inicio a una acumulación de integración continua en el servidor de TFS. Esto añade otra capa de prueba y validación, y sólo si tiene éxito será que muestre un descenso de la cuota de acumulación. Por lo tanto hay una barra de calidad conocida a lo que llega la salida allí, así que los DBA pueden tener la confianza al implementar un servidor de ensayo.
Guión de demostración:
Discuta configuración:
Instale edición TFS Básico + SQL Server Database Herramientas
Create Build Definition
Choose V12 Template
Add /p:VisualStudioVersion=12.0 to MSBuild arguments
Disable Unit testing
Checking & verify build success
Enable unit testing
Show failure due to source path
Explain per machine config
Explain that for C/I you should have a common server and for local dev you can use localdb or another shared server.
Setup {USERNAME}.sqlunittest.config for local dev and make sure to set build action to “COPY IF NEWER”.
change app.config path the src.
http://msdn.microsoft.com/en-us/library/jj851202(v=vs.103).aspx