devops on microsoft platform

54

Upload: osman-seckin-karabas

Post on 22-Jan-2018

306 views

Category:

Technology


1 download

TRANSCRIPT

Agenda

Visual Studio Team Services

Visual Studio

.NET

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

Continuous Integration

Value

Measure

cspkg

Continuous Delivery

Value

Measure

cspkgcspkg

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 Lifecycle Solution

BUILD INTEGRATE TEST ITERATE ACCELERATE

for

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>

Build

Test

Distribute & Monitor