visual studio everywhere - it · pdf fileauthentication automation portal key vault ......
TRANSCRIPT
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