DevOps
Desenvolvimento em
nuvem
Desenvolvimento Móvel
Investimentos
Tecnologias web
Tecnologias da plataforma nativa
Desktop apps
Windows Store apps
Browser-based applications
Project Astoria
Project InslandWood
Hybrid Apps
Apache Cordova
Project “Westminster”
MICROSOFT CONFIDENTIAL
Easy for users to get
& stay current
Unified core
and app platform
Our Windows convergence is “almost” complete
Windows 10
Converged
OS kernel
Converged
app model
29/07
Lançamento
MICROSOFT CONFIDENTIAL
Phone Small
Tablet
2-in-1s
(Tablet or Laptop)
Desktops
& All-in-Ones
Phablet Large
Tablet
Classic
Laptop
Xbox
IoT
Surface Hub
Windows 10 powers a huge range of hardware…
HoloLens
http://blogs.windows.com/buildingapps/2015/07/06/project-westminster-in-a-nutshell/
14%
86%
12%
88%
30%
70%
App logic User interface code
A beleza do C# +
tecnologia Xamarin
C# + XIB C# + AXML C# + XAML
iPhone Android Windows
Black Box
O que é DevOps?
O ciclo DevOps
2) Versionamento
1. Desenvolvedores
3) Build 4) Teste 5. Deploy
Monitoramento e
melhorias
Contoso app
Azure
Plan
1 Monitor + Learn
ReleaseDevelop + Test
2
Development Production
4
3
Plan
1 Monitor + Learn
ReleaseDevelop + Test
2
Development Production
4
3
It starts with an idea – and a plan
how to turn this idea into reality …
Manage work
Develop + Test 1
Plan
Project starts
PlanTrack progress
•Add fields to cards, board filtering
•Card configuration options
•@CurrentIteration, Kanban reordering
and DoD and bugs on the task board
•Kanban split columns, inline adding and
editing
•VS Online Basic license expanded
• Porfolio backlog levels: Customize o
nível de abstração e escala de seus
projetos, agora oferecendo também a
possibilidade de ter o nível Epic na
visão de portfolio.
Write Code
Unit Testing
2
Build
Version Control
Build Verification
Release
Once the iteration starts, developers
turn great ideas into features …
Develop + Test
• LightBulbs: Dicas para otimizar código,
quick fix e refatoração
• Diagnostic Tools +
Intellitrace: Depuração
avançada de código e análise
de performance da aplicação
• Intellitest: Crie testes unitários
automaticamente e estresse
todas as possibilidades
• Gated Checkin: Dispare novos
builds através de políticas de
validação de Pull Requests, não
permitindo que seja
promovido o Pull Request no
caso de falha do Build
• Aprovação Obrigatória:
Solicite membros do time a
aprovarem o Pull Request e
garanta a obrigatoriedade de
sua aprovação para
continuação do processo
• Build direto de uma URL
GITHUB: Build projetos diretos
de URLs GIT HUB
• Auto updating build agents – There’s no need to run
around and update all your build agents any more. The
server/service will automatically distribute agent
updates. This won’t change any of the tools (compilers,
etc) just the build automation agent.
• Seamless integration with XAML builds – Build.vnext
definitions and the earlier XAML build definitions now
share the same Build tab and can coexist happily.
• Build Java projects – Ant, Maven, Gradle.
• Run unit tests and publish results – We now have a task
to run unit tests using just about any framework you like
– NUnit, MSTest, JUnit, etc. and publish the test results
back to VSO/TFS and include them in the build report.
• Support for Xamarin – We’ve added support for
building Xamarin apps for both iOS and Android. And
we’ve added support for running tests on Xamarin’s Test
Cloud as part of the build. Shortly, we will also enable
publishing the Test Cloud test results back to VSO/TFS.
• Crie tasks SONAR no seu plano de Build
Cloud
Load Testing
Integration testing
environment
Automated functional
testing environment
3
Pre-production
environment
Staging
environmen
t
Monitor + Learn
When all tests pass, the build is deployed to testing
environments for each stage in the release process
Release
• Browser based release management
experience – We’re introducing a “Release”
hub in our web experience that allows you to
manage releases from anywhere without any
client software installed.
• Orchestrate across multiple environments –
A release definition can describe a set of
environments, a deployment sequence and a
set of validations (like automated tests) and
approvals that are executed at each
stage. This allows you to manage the flow of
updates from check in through to production
deployment in a controlled fashion.
• Simple and easy to compose automation
pipeline – As I mentioned above, release
management uses the same simple, extensible
pipeline and task mechanism that Build.vnext
does but wraps it in an experience for release
pipelines.
• Auditing/Traceability – All release and
deployment operations are traced and
audited – providing a clear picture of what
succeeded and failed, who approved
deployments and who made changes to
the release definition and what changes
were made. We also provide and easy way
to see the state of each environment and
what software is deployed on it.
• Open architecture – Our release
management features don’t rely on you
using all the rest of VSO/TFS. You can use
just release management even if you are
using SVN, Jenkins, etc.
• Functional testing service – We have a new service that works in concert with release management to
automatically deploy test agents and tests. It will then execute those tests, possibly in parallel and report
the results back to TFS/VSO. These functional tests can be VS Coded UI tests, Selenium tests, Appium tests
and more… The results of these tests can be used in the release pipeline to automatically validate
deployments.
• Load tests – load tests as part of the
release management pipeline so that you
can validate performance, scale and
reliability as part of your automated release
sign-off process. VSO cloud load test
service to support runs of up to 200 cores,
enabling very large scale load tests.
• Test analysis – new test analysis experience
in the test hub that allows you to
review/investigate test results, file bugs,
etc. This is linked directly from the test
results you find in both the build and
release reports
DevOps
Utilizando Azure Web Apps
CI / Github, VSO, etc.
2) Code Repository
1) Developers
4) Deploy to slot 5) Test or A/B Test
7) Deploy to Cloud6) Monitor and Improve
Azure
3) Build
Contoso App
6) Swap
.NET
Python
Crie apps com…
Node.js
Java
PHP
Deployment Slots & SWAP
Staging
Staging
Staging
Staging
SWAP()
A/B Testing ou Teste em Produção
Teste em Prod.
100%80%
20%
Webscale
AutoScale
AutoScale
AutoScale
Learn and understand how users use your app, how it reacts
and quickly fix issues and bugs
Monitor + Learn
4
Monitor
Feedback
Plan the next iteration
Am I meeting my service KPIs?
What is the root cause?
Is my application loading fast enough?
Is my application UP or DOWN?
How many people are impacted?
Is my application crashing?
What features are my customers using?
How responsive are my dependency calls?
How good is the end user experience?
Faced these questions?
tinhamos…
… Decidimos que podiamos fazer melhor
30%Criavam novos Team Projects
no primeiro acesso
Então fizemos…
50%
+20% Aumento
Key features
Get a 360° view of
your application that
includes availability and
performance as well as
user behavior
Explore and analyze
across dimensions so
you can make informed
decisions about your
product’s future
Use a powerful, easy-
to-use experience to
track and improve the
availability, performance,
and success of your app
Out of the box experience
• Provides a summary of the application’s health - availability, performance and
usage
• Paired timeline allows users to quickly correlate metrics and identify trends
Detailed insights with the click of a
button
• Correlate performance and usage in a single view
• Pinpoint problems and investigate
questions like “Do I have network
performance issues that hurt user
adoption?”
• Click on specific metric and drill into
detailed information and answer
questions such as “what request is
failing the most?”
Powerful insights with Metrics Explorer and Diagnostic Search
• Metrics Explorer provides a flexible multi-dimensional UI over custom and
out-of-the-box telemetry collected
• Diagnostic Search enables
efficient search over large
sets of data using the
query experience
Any app support
• Easily add analytics across multiple platforms
including: ASP.NET, Java/J2EE, iOS, Android,
Windows, as well as OSS technologies such
as Node.JS, PHP, Ruby, Python, etc.
• Fácil acesso as informações do Team
Foundation Server
• Crie suas Queries sem linhas de
programação
• Recursos ricos de reporting e análise
Introdução ao Visual Studio Enterprise
Visual Studio Enterprise
O Visual Studio Enterprise 2015 com
MSDN é uma solução abrangente
para a criação, modernização e
operação de aplicativos de negócios
em equipes que utilizam toda a
plataforma corporativa da Microsoft
para garantir escala corporativa,
gerenciar a complexidade e simplificar
a integração entre as equipes de
desenvolvimento e de operações.
Permita um ciclo de vida moderno de aplicativos: você constrói, você testa, você executa
Acesso a praticamente todos os produtos da Microsoft para todos os desenvolvedores
Acesso a um maior controle de qualidade, análises e de desempenho durante todo o processo
Recursos avançados para todos os desenvolvedores
O Visual Studio e a Microsoft podem ajudar...
Plataforma pronta para a empresa
que integra experiências modernas
de aplicativos com os ativos de
negócios existentes.
Visual Studio Microsoft Azure
http://channel9.msdn.com
Visual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximo

Visual Studio 2015 - Lançamento está próximo

  • 2.
  • 3.
  • 4.
    Desktop apps Windows Storeapps Browser-based applications Project Astoria Project InslandWood Hybrid Apps Apache Cordova Project “Westminster”
  • 6.
    MICROSOFT CONFIDENTIAL Easy forusers to get & stay current Unified core and app platform Our Windows convergence is “almost” complete Windows 10 Converged OS kernel Converged app model 29/07 Lançamento
  • 7.
    MICROSOFT CONFIDENTIAL Phone Small Tablet 2-in-1s (Tabletor Laptop) Desktops & All-in-Ones Phablet Large Tablet Classic Laptop Xbox IoT Surface Hub Windows 10 powers a huge range of hardware… HoloLens
  • 10.
  • 11.
    14% 86% 12% 88% 30% 70% App logic Userinterface code A beleza do C# + tecnologia Xamarin
  • 12.
    C# + XIBC# + AXML C# + XAML iPhone Android Windows
  • 13.
  • 14.
    O que éDevOps?
  • 15.
    O ciclo DevOps 2)Versionamento 1. Desenvolvedores 3) Build 4) Teste 5. Deploy Monitoramento e melhorias Contoso app Azure
  • 16.
    Plan 1 Monitor +Learn ReleaseDevelop + Test 2 Development Production 4 3
  • 17.
    Plan 1 Monitor +Learn ReleaseDevelop + Test 2 Development Production 4 3
  • 18.
    It starts withan idea – and a plan how to turn this idea into reality … Manage work Develop + Test 1 Plan Project starts PlanTrack progress
  • 19.
    •Add fields tocards, board filtering •Card configuration options •@CurrentIteration, Kanban reordering and DoD and bugs on the task board •Kanban split columns, inline adding and editing •VS Online Basic license expanded
  • 20.
    • Porfolio backloglevels: Customize o nível de abstração e escala de seus projetos, agora oferecendo também a possibilidade de ter o nível Epic na visão de portfolio.
  • 21.
    Write Code Unit Testing 2 Build VersionControl Build Verification Release Once the iteration starts, developers turn great ideas into features … Develop + Test
  • 22.
    • LightBulbs: Dicaspara otimizar código, quick fix e refatoração
  • 23.
    • Diagnostic Tools+ Intellitrace: Depuração avançada de código e análise de performance da aplicação
  • 24.
    • Intellitest: Crietestes unitários automaticamente e estresse todas as possibilidades
  • 25.
    • Gated Checkin:Dispare novos builds através de políticas de validação de Pull Requests, não permitindo que seja promovido o Pull Request no caso de falha do Build
  • 26.
    • Aprovação Obrigatória: Solicitemembros do time a aprovarem o Pull Request e garanta a obrigatoriedade de sua aprovação para continuação do processo
  • 27.
    • Build diretode uma URL GITHUB: Build projetos diretos de URLs GIT HUB
  • 28.
    • Auto updatingbuild agents – There’s no need to run around and update all your build agents any more. The server/service will automatically distribute agent updates. This won’t change any of the tools (compilers, etc) just the build automation agent. • Seamless integration with XAML builds – Build.vnext definitions and the earlier XAML build definitions now share the same Build tab and can coexist happily. • Build Java projects – Ant, Maven, Gradle. • Run unit tests and publish results – We now have a task to run unit tests using just about any framework you like – NUnit, MSTest, JUnit, etc. and publish the test results back to VSO/TFS and include them in the build report. • Support for Xamarin – We’ve added support for building Xamarin apps for both iOS and Android. And we’ve added support for running tests on Xamarin’s Test Cloud as part of the build. Shortly, we will also enable publishing the Test Cloud test results back to VSO/TFS.
  • 29.
    • Crie tasksSONAR no seu plano de Build
  • 31.
    Cloud Load Testing Integration testing environment Automatedfunctional testing environment 3 Pre-production environment Staging environmen t Monitor + Learn When all tests pass, the build is deployed to testing environments for each stage in the release process Release
  • 32.
    • Browser basedrelease management experience – We’re introducing a “Release” hub in our web experience that allows you to manage releases from anywhere without any client software installed. • Orchestrate across multiple environments – A release definition can describe a set of environments, a deployment sequence and a set of validations (like automated tests) and approvals that are executed at each stage. This allows you to manage the flow of updates from check in through to production deployment in a controlled fashion. • Simple and easy to compose automation pipeline – As I mentioned above, release management uses the same simple, extensible pipeline and task mechanism that Build.vnext does but wraps it in an experience for release pipelines.
  • 33.
    • Auditing/Traceability –All release and deployment operations are traced and audited – providing a clear picture of what succeeded and failed, who approved deployments and who made changes to the release definition and what changes were made. We also provide and easy way to see the state of each environment and what software is deployed on it. • Open architecture – Our release management features don’t rely on you using all the rest of VSO/TFS. You can use just release management even if you are using SVN, Jenkins, etc.
  • 34.
    • Functional testingservice – We have a new service that works in concert with release management to automatically deploy test agents and tests. It will then execute those tests, possibly in parallel and report the results back to TFS/VSO. These functional tests can be VS Coded UI tests, Selenium tests, Appium tests and more… The results of these tests can be used in the release pipeline to automatically validate deployments. • Load tests – load tests as part of the release management pipeline so that you can validate performance, scale and reliability as part of your automated release sign-off process. VSO cloud load test service to support runs of up to 200 cores, enabling very large scale load tests. • Test analysis – new test analysis experience in the test hub that allows you to review/investigate test results, file bugs, etc. This is linked directly from the test results you find in both the build and release reports
  • 35.
  • 36.
    CI / Github,VSO, etc. 2) Code Repository 1) Developers 4) Deploy to slot 5) Test or A/B Test 7) Deploy to Cloud6) Monitor and Improve Azure 3) Build Contoso App 6) Swap
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
    A/B Testing ouTeste em Produção
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
    Learn and understandhow users use your app, how it reacts and quickly fix issues and bugs Monitor + Learn 4 Monitor Feedback Plan the next iteration
  • 50.
    Am I meetingmy service KPIs? What is the root cause? Is my application loading fast enough? Is my application UP or DOWN? How many people are impacted? Is my application crashing? What features are my customers using? How responsive are my dependency calls? How good is the end user experience? Faced these questions?
  • 51.
    tinhamos… … Decidimos quepodiamos fazer melhor 30%Criavam novos Team Projects no primeiro acesso
  • 52.
  • 53.
    Key features Get a360° view of your application that includes availability and performance as well as user behavior Explore and analyze across dimensions so you can make informed decisions about your product’s future Use a powerful, easy- to-use experience to track and improve the availability, performance, and success of your app
  • 54.
    Out of thebox experience • Provides a summary of the application’s health - availability, performance and usage • Paired timeline allows users to quickly correlate metrics and identify trends
  • 55.
    Detailed insights withthe click of a button • Correlate performance and usage in a single view • Pinpoint problems and investigate questions like “Do I have network performance issues that hurt user adoption?” • Click on specific metric and drill into detailed information and answer questions such as “what request is failing the most?”
  • 56.
    Powerful insights withMetrics Explorer and Diagnostic Search • Metrics Explorer provides a flexible multi-dimensional UI over custom and out-of-the-box telemetry collected • Diagnostic Search enables efficient search over large sets of data using the query experience
  • 57.
    Any app support •Easily add analytics across multiple platforms including: ASP.NET, Java/J2EE, iOS, Android, Windows, as well as OSS technologies such as Node.JS, PHP, Ruby, Python, etc.
  • 58.
    • Fácil acessoas informações do Team Foundation Server • Crie suas Queries sem linhas de programação • Recursos ricos de reporting e análise
  • 61.
    Introdução ao VisualStudio Enterprise Visual Studio Enterprise O Visual Studio Enterprise 2015 com MSDN é uma solução abrangente para a criação, modernização e operação de aplicativos de negócios em equipes que utilizam toda a plataforma corporativa da Microsoft para garantir escala corporativa, gerenciar a complexidade e simplificar a integração entre as equipes de desenvolvimento e de operações.
  • 67.
    Permita um ciclode vida moderno de aplicativos: você constrói, você testa, você executa Acesso a praticamente todos os produtos da Microsoft para todos os desenvolvedores Acesso a um maior controle de qualidade, análises e de desempenho durante todo o processo Recursos avançados para todos os desenvolvedores
  • 70.
    O Visual Studioe a Microsoft podem ajudar... Plataforma pronta para a empresa que integra experiências modernas de aplicativos com os ativos de negócios existentes. Visual Studio Microsoft Azure
  • 73.

Editor's Notes

  • #3 Scott Gutier Soma Scott Hanselman Brian Harry
  • #4 Developers using the native platform technologies: Developers in this group create native applications for each device, by using the native tools provided by every vendor (xCode in iOS, Android Developer Tools in Android, Visual Studio / .NET in Windows, etc.). These developers struggle with the ability to reuse code and skills between devices or target new devices with their existing skills on a specific technology (e.g. .NET developers). Therefore they are looking for Cross-Platform Mobile Native apps solutions. Developers using web technologies: Developers in this category use web technologies such as HTML5 and JavaScript to create browser-based applications that target mobile devices. The browser is constrained developers struggle with the ability to create applications that can leverage the full capabilities of the devices they target and therefore are looking for Multi-device Hybrid solutions.
  • #5 Desktop reassurance WPF core investments Access to modern features Common distribution Easier transition to Store apps Optimize for devices Universal apps and native compilation Cross-device Windows, iOS, Android native apps (thru Xamarin) Modern web Productive HTML5 development Highly interactive web with JavaScript and TypeScript Ready for Enterprise LOB apps and cloud modernization Embrace hybrid apps Cordova tooling support built on existing Modern Web support in Visual Studio and TypeScript. Android, iOS support including the entire developer flow.
  • #13 Fully native apps written in C# Share on average 75% source code across platforms Even higher with xamarin.forms C# + .NET Runtime Native UI Native Performance
  • #14 [2min] This preview adds new project templates and tools for you to target the Apache Cordova project within Visual Studio. It is built on top the existing great HTML, CSS and JavaScript tooling in Visual Studio, but it integrates it with Apache Cordova, so you have things like intellisense support for the Cordova API, build for any targeted platform such as Android and directly from Visual Studio, run and debug the app on a device emulator or a remote device. The cool thing about these tools is that you will naturally know how to use it if you are familiar with web development. It supports TypeScript, which is very handy for these applications that can get very complex. It also supports the most popular JavaScript frameworks that you are probably using already for your mobile web applications such as Angular, JQuery Mobile or Backbone. Now you have the option to choose the multi-device strategy that is better for you: Native development with .NET Hybrid development with HTML and CSS
  • #15 [Slide goal] Introduce and define DevOps [Talk track] DevOps is about improving how software is built, delivered, and operated – by enabling IT department to reduce cycle times, optimize the use of IT resources, and improve quality and availability. DevOps is a relatively new term; people refer to individual capabilities to automate the delivery pipeline as DevOps. However, DevOps is more than that. It is about increasing the scope of agility and it should be viewed as a team undertaking. It requires teams to look at their full lifecycle investments. At its core DevOps enables better software development and accelerating the last mile of delivery by focusing on: Shortening of cycle times DevOps practices enable organizations to shorten cycle times and increase the traceability and auditability of each release by increasing transparency and collaboration between development and operations teams, and by eliminating waste in current manual processes through automation. Optimization of resources DevOps practices enable organizations to efficiently manage environments in a way that supports self-service of environment provisioning/de-provisioning, controls costs, and uses the provisioned resources effectively, while minimizing security risks. Improving quality and availability DevOps practices help to identify defects early in the development cycle, identify the root cause of issues, and quickly test and deploy fixes. DevOps practices also help organizations capture rich telemetry on app performance and usage so teams can learn from the behavior of users to drive future priorities and investments.
  • #37 What we want to show (similar to this slide): Keep steps 1,2 Replace 3 with Deploy to staging slot (appropriate icon) Put build after the deploy to slot Keep test Add new step for “swap” Keep the monitor and improve
  • #45 What we want to show: Developer pushes a new version of the code to a test slot 20% of traffic goes to that slot Things are green so the % keeps going up Something breaks, % goes back to 100 on the old version
  • #52 For the success of features we’re investing in a “Build, Measure, Learn” culture. <talk about BML> Let me give you a recent example…