devops on microsoft platform
TRANSCRIPT
iOSWindows AndroidLinux
.NET C# C++ JavaScript PHP
Python Node.js R
PowerShell
Unity
Java Perl Xamarin
Cordova
“It’s Development and
Operations collaboration”
“It’s a job title”
“It means faster and
smaller releases”
“It’s automation”
“The union of people, process, and
products to enable continuous delivery
of value to our end users.”
Donovan Brown, MSFT Sr PM
What is DevOps?
The converged DevOps lifecycle
Develop + Test
Plan + Track
Monitor + Learn
Release
Development Production
DevOps
Project Lead
Quality Analyst
Business Analyst
Project Manager
Developer
The Enterprise Collaboration Solution
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
Agile Portfolio Management
Agile for large workloads Manage several teams in an
organization
Get insight from Features and track progress down to Stories and/or Tasks
Consolidate portfolio Easy navigation and visualization
of complex hierarchy of scenarios
Gain understanding of overall project completion across multiple teams
Works across Team Projects*
Write Code
Unit Testing
2
Build
Version Control
Build Verification
Release
Once the iteration starts, developers
turn great ideas into features …
Develop, Build, Test
Cloud
Load Testing
Automated
functional testing
environment
Integration testing
environment
3
Pre-production
environment
Staging
environment
Monitor + Learn
When unit tests pass, the build is deployed and tested for each
stage in the release process
Release
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
Xamarin
Create native apps with beautiful UX and native
performance for Windows, iOS and Android
Create native apps for Windows, iOS and
Android devices using .NET and Visual Studio
Use C# with 100% of platform APIs exposed
The most productive and powerful platform
for creating native cross-platform applications
Maximize code reuse with Universal Projects
and Portable Class Libraries
Create shared UI with Xamarin.Forms
C# + XIB C# + AXML C# + XAML
Native UI Native UI Native UI
Mobile app lifecycle with Microsoft
Backlog
Monitor and improve
Users and customers
install and use app
Telemetry Collection
App Testing Beta TestingCode Repository | Build + Deploy
for
Bringing DevOps to mobile appsDistribute your app
Collect crash reports
Gather user feedback
Understand app adoption
Track app usage
trade-offnoun
noun: tradeoff
A balance achieved between two desirable but
incompatible features; a compromise.
"a trade-off between objectivity and relevance"
The mobile app dilemma
Platform silos
Better TCO, productivity and development experience
End
use
r exp
erience
Developer
Only services (server-side) can be re-used
Dev experience is different for each platform and
device type
Higher TCO due to multiple code bases and
requirements for developer skills
End User
Platform-native UX
Full performance
Native service integration
Objective-C + Xcode
Java + Eclipse
.NET + Visual Studio
Hybrid & Web
Better TCO, productivity and development experience
End
use
r exp
erience
Developer
Great for teams with HTML/JavaScript skills
Scaling to enterprise complexity challenging
End User
Non-native UX
Performance tradeoff
Works across devices
Cross-platform native with Xamarin
Developer
100% C# with 100% of platform APIs exposed
More productivity and faster development
Avg 20-40% code reuse across platforms
One code base & IDE for client and backend
End User
Platform-native UX
Full performance
Native platform service integration
Better TCO, productivity and development experience
End
use
r exp
erience
“The best of both worlds”
Hybrid
Platform silos Cross-platform native
Cross-platform native
Anything you can do inObjective-C, Swift or Java,you can do with Xamarin• Native user interface
• Native performance
• High-fidelity API access
C# + XIB C# + AXML C# + XAML
Native UI Native UI Native UI
iOS C# UI Windows C# UIAndroid C# UI
Shared C# logic
Xamarin’s unique approach
Shared C# codebase • 100% native API access • High performance
Native performance
Xamarin.iOS Xamarin.Android
ARM
BINARY
Runs natively
.APPAO
T
.NE
TC
#Bindings
.APKCompil
e and
Link
.NE
TC
#Bindings
IL
+
JIT
Runs natively
Xamarin Development Approaches
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Logic Shared C# Logic
Xamarin.Forms
Build native UIs for iOS, Android, and Windows
from a single, shared C# codebase.
Meet Xamarin.Forms
What’s included
✓ 40+ Pages, layouts, and controls
(Build from code behind or XAML)
✓ Two-way data binding
✓ Navigation
✓ Animation API
✓ Dependency Service
✓ Messaging Center
Shared C# Logic
Shared UI Code
Native UI from shared code
• <?xml version="1.0" encoding="UTF-8"?>
• <TabbedPagexmlns="http://xamarin.com/schemas/2014/forms"
•
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
• x:Class="MyApp.MainPage">
• <TabbedPage.Children>
• <ContentPage Title="Profile" Icon="Profile.png">
• <StackLayout Spacing="20" Padding="20"
• VerticalOptions="Center">
• <Entry Placeholder="Username"
• Text="{Binding Username}"/>
• <Entry Placeholder="Password"
• Text="{Binding Password}"
• IsPassword="true"/>
• <Button Text="Login" TextColor="White"
• BackgroundColor="#77D065"
• Command="{Binding LoginCommand}"/>
• </StackLayout>
• </ContentPage>
• <ContentPage Title="Settings" Icon="Settings.png">
• <!-- Settings -->
• </ContentPage>
• </TabbedPage.Children>
• </TabbedPage>
DevOps and VSTS/TFS overview
VSTS/TFS features
VSTS/TFS features timeline
TFVC vs. Git version control
Using Git with Visual Studio 2013 Jump Start
Testing in Visual Studio 2015 MVA
Release Management for TFS 2015.2 and VSTS
Deploy your app with Release Management
Demo
Swagger ASP.NET Web API Integration
SPN Powershell for VSTS/TFS