Visual Studio Everywhere - IT · PDF fileAuthentication Automation Portal Key Vault ......

Preview:

Citation preview

Visual Studio Everywhere

Build Great Cloud Apps

• Why use the cloud to build apps?

• An overview of Microsoft Azure

• Virtual machines for lift-shift scenarios

• Microservices and Azure Service Fabric

• Data services in Azure

• The five hands-on labs (optional)

Agenda

Why use the cloud to build apps?

Scale

On and off

Unpredictable bursting

Growing fast

Predictable bursting

Economics

Your

S M T W T F S

Capacity needed (max+20%)

Save 20-30%

J F M A M J J A S O N D

Capacity needed (max+20%)

Save 60-80%

Individual applicationDev/test environment in the cloud

Application portfolioAll dev/test and production environments in the cloud

On and off (30%) Growing fast (15%) Unpredictable bursting (25%) Pred. bursting (20%) 24x7 steady

Why use the cloud for line of business apps?

Cloud & IT Strategy

Your Data Center

SaaS(Software as

a Service)

Public Cloud Platforms

Can we STOP doingsome things?

Virtualization – there must be more..?

It’s cheaper – isn’t it..?

My DC is “constrained”..!

My Business Groups are using it..!

Physical

Virtual

?

Microsoft Enterprise Mobility + SecurityENTERPRISE MOBILITY

SAAS SOLUTIONS Microsoft Dynamics

Azure + Azure Stack + Operations Management SuiteCLOUD INFRASTRUCTURE

Visual Studio Family + Azure App ServiceDEVELOPER + APP PLATFORM

Cortana Analytics SuiteDATA + ANALYTICS

Azure IoT SuiteINTERNET OF THINGS

Microsoft Azure

Leading the journey to the cloud

The cloud is changing the world

Microsoft Azure

Platform Services

Infrastructure Services

Web Apps

MobileApps

APIManagement

API Apps

Logic Apps

Notification Hubs

Content DeliveryNetwork (CDN)

Media Services

BizTalkServices

HybridConnections

Service Bus

StorageQueues

HybridOperations

Backup

StorSimple

Azure SiteRecovery

Import/Export

SQL Database

DocumentDB

RedisCache

AzureSearch

StorageTables

DataWarehouse Azure AD

Health Monitoring

AD PrivilegedIdentity Management

OperationalAnalytics

Cloud Services

BatchRemoteApp

ServiceFabric

Visual Studio

AppInsights

Azure SDK

VS Online

Domain Services

HDInsight MachineLearning

StreamAnalytics

Data Factory

EventHubs

MobileEngagement

Data Lake

IoT Hub

Data Catalog

Security & Management

Azure ActiveDirectory

Multi-FactorAuthentication

Automation

Portal

Key Vault

Store/Marketplace

VM Image Gallery& VM Depot

Azure ADB2C

Scheduler

HIPAA / HITECH

FedRAMP JAB P-ATO

FIPS 140-2 FERPA DISA Level 2 ITAR-readyCJIS21 CFRPart 11

IRS 1075 Section 508 VPAT

ISO 27001 PCI DSS Level 1SOC 1 Type 2 SOC 2 Type 2 ISO 27018Cloud Controls

Matrix

Content Delivery and

Security Association

Shared

Assessments

European Union

Model Clauses

United Kingdom

G-Cloud

Singapore

MTCS Level 3

Australian

Signals

Directorate

Japan

Financial Services

China Multi

Layer Protection

Scheme

China

CCCPPF

New

Zealand

GCIO

China

GB 18030

EU Safe

HarborENISA

IAF

Azure ComplianceThe largest compliance portfolio in the industry

Applications

Clients

Infrastructure

Management

Databases &

Middleware

App Frameworks

& Tools

DevOps

PaaS &

DevOps

App operations

50%App operations

25%Custom apps

15%Packaged

apps

10%New business

apps

STORAGE BLOBS / FILES (Virtual Disks)

AZURE VIRTUAL MACHINES

VIRTUAL

NETWORK

YOUR

DATA CENTER

App 1

App 2

Your Image

Library

NON-PRODUCTION VIRTUALIZEDAPP ENVIRONMENTS

WAYS TO CONNECT YOUR DATA CENTER TO AZURE

Windows

Linux

SQL

Gallery

Visual Studio Online

Express Route Partners

Packaged apps

50%App operations

25%Custom apps

15%Packaged

apps

10%New business

apps

Cloud

SaaSAzure

Office 365Publiccloud

Self-service Singlesign on

•••••••••••

Username

Simple connection

Other Directories

Windows ServerActive Directory

Your Data Center

Microsoft Azure Active Directory

New businessapplications

50%App operations

25%Custom apps

10%New business

apps

15%Packaged

apps

Move up the stack – to PaaS – as much a cultural shift as a technology shift

Azure handles resilience, servicing, management

Shift to Optimization from deployment/ops

Custom apps

50%App operations

25%Custom

apps

10%New business

apps

15%Packaged

apps

In General – LEAVE THESE ALONE (for now)

Exceptions:

1. High Burst/HPC – Expensive, Capacity Constrained Easily Virtualized Apps… HPC Pack, Azure Batch, HPC Hardware

2. Low Usage Apps – move and optimize cost

3. EOL Hardware – Reduce DC footprint -> Azure Virtual Machines

Cloud-enable appsRun the applications you use on workstations and clusters today

Run at scaleBatch takes care of starting a pool of compute VMs for you when you’re ready to run a job

Manage deliveryManage who can access it, how many resources they can use, and ensure requirements such as encryption are met

Microsoft AzureLet’s see…

…in action

Virtual machines for lift-shift scenarios

Microsoft

Azure

Corporate

Network

Microsoft SQL Server

VM

Application

VM

Lift and Shift

Archive

Application

VM

Microsoft SQL Server

VM

PDF DOCX JPG VIDEO DB

Storage

key data inexpensively

Key Scenarios to get started with Microsoft Azure

Microsoft

SQL

Server

IIS

MySql

On-premises /

Hosting ServicesIIS/SQL Server Based

Web Apps

Web Apps - Take your web apps to the cloud using inexpensive App Service Web Apps

Microsoft

Azure

Non-IIS Open Source

Web Apps

Key Scenarios to get started with Microsoft Azure

Key Scenarios to get started with Microsoft Azure

Full Dev/Test environments

Production

Staging

Dev/Test

Test branch

Master branch

Build

Visual Studio Team Services

GIT / TFS

Chec

k-in

Developers

Microsoft Azure

Certified VMs

Virtual machines for lift-shift scenarios

Let’s see…

…in action

Microservices and Azure Service Fabric• Microservices vs. monoliths

• What is Azure Service Fabric?

• Azure Service Fabric architecture

Continually evolving applications

Faster delivery of features and capabilities to respond to customer expectations

Build and operate a service at scale

Why a microservicesapproach?

Plan1 Monitor + Learn

ReleaseDevelop + Test2

Development Production

4

3

Microservices vs. Monoliths

• Scales by cloning the app on

multiple servers/VMs/Containers

Monolithic application approach Microservices application approach

• A microservice application

separates functionality

into separate smaller

services.

• Scales out by deploying each service

independently creating instances of these

services across servers/VMs/containers

• A monolith app contains

domain specific functionality

and is normally divided by

functional layers such as web,

business and data

App 1 App 2App 1

• Single monolithic database

• Tiers of specific technologies

State in Monolithic approach State in Microservices approach

• Graph of interconnected microservices

• State typically scoped to the microservice

• Variety of technologies used

• Remote Storage for cold data

stateless services with separate stores

statefulservices

stateless presentation services

stateless services

Microservices

What is Azure Service Fabric?

Microsoft Azure Service FabricA platform for reliable, hyperscale, microservice-based

applications

Service FabricHigh Availability

Hyper-Scale

Hybrid Operations

High Density

Microservices

Rolling Upgrades

Stateful Services

Low LatencyFast Startup &

Shutdown

Code Orchestration &

Lifecycle Management

Replication &

Failover

Simple

programming

modelsResource Management

Self-healingData Partitioning

Automated Rollback

Health

Monitoring

Placement

Constraints

Azure Private cloud Other clouds

Public Cloud Other CloudsOn Premises

Private cloud

Azure Service Fabric

Azure Cloud Services (Web and Worker Roles)

Azure Service Fabric(Stateless, stateful or Actor services)

• 1 role instance per VM

• Uneven utilization

• Low density

• Slow deployment & upgrade (bound to VM)

• Slow scaling and failure recovery

• Limited fault tolerance

• Many microservices per VM

• Even Utilization (by default, customizable)

• High density (customizable)

• Fast deployment & upgrade

• Fast scaling of independent microservices

• Tunable fast fault tolerance

Comparing Azure Cloud Services vs. Azure Service Fabric

Windows OS

Windows OS Windows OS

Windows OS

Windows OS

Windows OS

Fabric

Node

Fabric

Node

Fabric

Node

Fabric

Node

Fabric

Node

Fabric

Node

Cluster

• Set of OS instances (real or virtual) stitched together to form a pool of resources

• Cluster can scale to 1000s of machines, is self repairing, and scales-up or down

• Acts as environment-independent abstraction layer

Datacenter (Azure, On Premises, Other Clouds )

Load Balancer

PC/VM #1

Service Fabric

Your code, etc.

PC/VM #2

Service Fabric

Your code, etc. PC/VM #3

Service Fabric

Your code, etc.

PC/VM #4

Service Fabric

Your code, etc.PC/VM #5

Service Fabric

Your code, etc.

Service Fabric Cluster

Management to deploy your code, etc.

(Port: 19080)

App Web Request(Port: 80/443/?)

Service type

• Services types are composed of code/config/data packages• Code packages define an entry point (dll or exe)

• Config packages define service specific config information

• Data packages define static resources (eg. images)

• Packages can be independently versioned

<ServiceManifest Name="QueueService" Version="1.0"><ServiceTypes>

<StatefulServiceType ServiceTypeName="QueueServiceType" HasPersistedState="true" />

</ServiceTypes><CodePackage Name="Code" Version="1.0">

<EntryPoint>

<ExeHost><Program>ServiceHost.exe</Program>

</ExeHost>

</EntryPoint></CodePackage><ConfigPackage Name="Config" Version="1.0" />

<DataPackage Name="Data" Version="1.0" /></ServiceManifest>

Application type

• Declarative template for creating an application

• Based on a set of service types

• Used for packaging, deployment, and versioning

Azure Service Fabric Architecture

Architecture

Transport Subsystem

Secure point-to-point communication

Federation Subsystem

Federates a set of nodes to form a consistent scalable fabric

Testability Subsystem

Fault Inject,

Test in production

Reliability Subsystem

Reliability, Availability, Replication, Service

Orchestration

Hosting & Activation

Application Lifecycle

Management Subsystem

Deployment, Upgrade and Monitoring

Application Model

Declarative Application DescriptionNative and Managed APIs

Communication Subsystem

Service discovery

Microservices and Azure Service FabricLet’s see…

…in action

Data services in Azure• MongoDB, MySQL, Oracle, Cassandra,

Neo4j and more

Microsoft Azure Data Services

fully managed, scalable, queryable, schemafree JSON

document database service for modern applications

transactional processing

rich query

managed as a service

elastic scale

internet accessible http/rest

schema-free data model

arbitrary data formats

SQL Power & Flexibility in Azure

Run any SQL product on cloud VM

Support for SQL Server, Oracle, MySql

Ready to go VM images available in Gallery

Persistent storage using attached disk in blob storage

Has all the benefits and powers of VMs combined with the full features of a SQL Engine

SQL IaaS

SQL PaaS Provisioning

Xplat-cli PowerShell Portal

SQL server data toolsConnected Dev

Project Based

Unit Testing

Schema Compare

Build / Deploy

MongoDB

Existing applications which require

extra capacity for scale out and can

not be migrated

Customer has ecosystem of IT

resources for support and

maintenance

Removing CAPEX

Mongo MMS compatibility

Applications that need managed

elastic scale, query over schema free

data, native JSON/JavaScript support

Customer does not want to add

additional IT resources for support

and maintenance

Avoiding CAPEX and OPEX

Built-for-the-cloud database

technology

DocumentDB

Perfect for enterprise cloud

developers, cloud software vendors,

cloud architects who need a fully-

managed search solution.

Azure Search

Relational DB vs. HadoopReference: Tom White’s Hadoop: The Definitive Guide

Data size

Access

Updates

Structure

Integrity

Scaling

Azure Data WarehouseA relational data warehouse-as-a-service

App Service Azure SQL Database

Azure Machine LearningIntelligent App

Hadoop

Azure SQL DataWarehouse

Power BI

Other analytic solutions SQL Data

Warehouse

Data Lake serviceTransformative way to store and process infinite data

MongoDB, MySQL, Oracle, Cassandra, Neo4j

and more

Additional Database options in Azure

• Azure Table Service is a “Big Table” entity store.

• MongoDB is a document (JSON) store.

• Cassandra is a columnar store with excellent replication.

• HBase is a Big Data (Hadoop) store available in HDInsight.

• Oracle VMs are supported in Azure.

• MySQL is offered from the partner ClearDB.

Data Services in AzureLet’s see…

…in action

The hands-on labs

Creating a trial Microsoft Azure account

• Verifying by phone

• Filling out payment information

• Accessing the Azure Management Portal

Activating Visual Studio subscription benefits

Lab: Creating a trial Microsoft Azure account and activating Visual Studio subscription benefits

Set up a Microsoft Azure account

• Verify your phone number

• Fill out payment information

• Navigate to the Azure Management Portal

• Activate Visual Studio subscription benefits

Lab: Creating a trial Microsoft Azure account and activating Visual Studio subscription benefits

We learned how to:

Learning about the Azure Portal

Viewing and creating resources

Creating a Web App + SQL

Cleaning up the environment

Lab: Introduction to the Azure Portal

Navigate the Azure dashboard

Manage and optimize resources

Explore the marketplace

Access reports and analytics

Create a Web App + SQL

Create and configure an App Service Plan

Manage SQL database settings

Create a resource group

Clean up the environment

Lab: Introduction to the Azure Portal

We learned how to:

Creating a Microsoft Azure SQL Database Server

Creating a SQL Database project in Visual Studio

Deploying the database project via CI/CD process

Lab: Getting started with Azure SQL and Visual Studio Team Services

Create a Microsoft Azure SQL Database Server

Set up server and database details

Locate the server you created

Create a rule for an IP address

Deploy a database with Visual Studio

Build and configure a table

Create a new build definition

Add an empty environment to release definition

Link a release to a build definition for continuous integration/continuous deployment

Lab: Getting started with Azure SQL and Visual Studio Team Services

We learned how to:

Creating a virtual machine using:

Azure Portal

The cross-platform command-line interface

PowerShell

Internet Information Services (IIS) and SQL VM using ARM templates

Lab: Infrastructure as a Service in Microsoft Azure

Create a VM with Azure PortalUtilize an existing image from the Azure Management Portal

Configure the basics of a VM

Create a VM with command-line cross-platform toolsCreate a Linux VM using an existing image

Attach an empty data disk to the VM

Connect to the VM using PuTTY

Configure the attached data disk

Create a VM with PowerShellConfigure the Azure subscription using Azure AD

Create a Windows VM

Install a VM extension

Connect to the VM via a generated RDP file

Create a VM with ARM templatesCreate Windows Server VMs with IIS configuration using DDC

Deploy a custom deployment template

Verify with the Loadbalancer IP address

Lab: Infrastructure as a Service in Microsoft Azure

Creating and updating Azure Service Fabric applications

Enabling PowerShell script execution

Creating a local cluster

Deploying and debugging an application

Lab: Getting started with Azure Service Fabric

Create a local cluster

Create an Azure Resource Group

Deploy an existing application

View application details and status

Upgrade an application

Create an Azure Service Fabric application in Visual Studio

Build the application project

Deploy and debug the application

Clean up and remove the local cluster

Lab: Getting started with Azure Service Fabric

We learned how to:

Q&A

Recommended