Visual Studio Everywhere. Build Great Cloud Apps

Size: px
Start display at page:

Download "Visual Studio Everywhere. Build Great Cloud Apps"

Transcription

1 Visual Studio Everywhere Build Great Cloud Apps

2 Agenda 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)

3 Why use the cloud to build apps?

4 Scale On and off Growing fast Unpredictable bursting Predictable bursting

5 Why use the cloud for line of business apps? Economics Individual application Dev/test environment in the cloud Application portfolio All dev/test and production environments in the cloud Capacity needed (max+20%) Capacity needed (max+20%) Save 20-30% Save 60-80% S M T W T F S J F M A M J J A S O N D Your On and off (30%) Growing fast (15%) Unpredictable bursting (25%) Pred. bursting (20%) 24x7 steady

6 Cloud & IT Strategy Virtualization there must be more..? It s cheaper isn t it..? My DC is constrained..! My Business Groups are using it..! Public Cloud Platforms SaaS (Software as a Service) Can we STOP doing some things?? Physical Virtual Your Data Center

7 Leading the journey to the cloud SAAS SOLUTIONS Microsoft Dynamics ENTERPRISE MOBILITY Microsoft Enterprise Mobility + Security Microsoft Azure DEVELOPER + APP PLATFORM Visual Studio Family + Azure App Service DATA + ANALYTICS Cortana Analytics Suite INTERNET OF THINGS Azure IoT Suite CLOUD INFRASTRUCTURE Azure + Azure Stack + Operations Management Suite

8 The cloud is changing the world

9 Microsoft Azure

10 Platform Services Security & Management Portal Cloud Services Service Fabric Web Apps API Apps SQL Database Data Warehouse DocumentDB Hybrid Operations Azure AD Health Monitoring Azure Active Directory Azure AD B2C Batch RemoteApp Mobile Apps Logic Apps Redis Cache Azure Search Storage Tables AD Privileged Identity Management Domain Services Multi-Factor Authentication Automation Storage Queues BizTalk Services API Management Notification Hubs Backup Scheduler Hybrid Connections Service Bus HDInsight Machine Learning Stream Analytics Data Lake Operational Analytics Key Vault Visual Studio Azure SDK Data Factory Event Hubs Data Catalog Import/Export Store/ Marketplace VM Image Gallery & VM Depot Media Services Content Delivery Network (CDN) VS Online App Insights Infrastructure Services IoT Hub Mobile Engagement Azure Site Recovery StorSimple

11 Azure Compliance The largest compliance portfolio in the industry ISO SOC 1 Type 2 SOC 2 Type 2 PCI DSS Level 1 Cloud Controls ISO Matrix Content Delivery and Security Association Shared Assessments FedRAMP JAB P-ATO HIPAA / HITECH FIPS CFR FERPA DISA Level 2 CJIS IRS 1075 ITAR-ready Section 508 Part 11 VPAT European Union Model Clauses EU Safe Harbor United Kingdom G-Cloud China Multi Layer Protection Scheme China GB China CCCPPF Singapore MTCS Level 3 Australian Signals Directorate New Zealand GCIO Japan Financial Services ENISA IAF

12 DevOps Clients Management Applications PaaS & DevOps App Frameworks & Tools Databases & Middleware Infrastructure

13 App operations YOUR DATA CENTER NON-PRODUCTION VIRTUALIZED APP ENVIRONMENTS Your Image Library App 1 App 2 VIRTUAL NETWORK AZURE VIRTUAL MACHINES Gallery Windows Linux SQL STORAGE BLOBS / FILES (Virtual Disks) 25% Custom apps Visual Studio Online WAYS TO CONNECT YOUR DATA CENTER TO AZURE 50% App operations 10% New business apps 15% Packaged apps Express Route Partners

14 Packaged apps Simple connection Self-service Single sign on Username 50% App operations 25% Custom apps 10% New business apps 15% Packaged apps Windows Server Active Directory Other Directories Your Data Center Microsoft Azure Active Directory Azure Public cloud Cloud SaaS Office 365

15 New business applications 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

16 In General LEAVE THESE ALONE (for now) Custom apps Exceptions: 50% App operations 25% Custom apps 10% New business apps 15% Packaged apps 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 apps Run the applications you use on workstations and clusters today Run at scale Batch takes care of starting a pool of compute VMs for you when you re ready to run a job Manage delivery Manage who can access it, how many resources they can use, and ensure requirements such as encryption are met

17 Let s see Microsoft Azure in action

18 Virtual machines for lift-shift scenarios

19 Key Scenarios to get started with Microsoft Azure Microsoft SQL Server VM Microsoft SQL Server VM Lift and Shift Microsoft Azure Corporate Network Application VM Application VM Storage Archive key data inexpensively PDF DOCX JPG VIDEO DB

20 Key Scenarios to get started with Microsoft Azure On-premises / Hosting Services IIS/SQL Server Based Web Apps Microsoft SQL Server IIS MySql Non-IIS Open Source Web Apps Microsoft Azure Web Apps - Take your web apps to the cloud using inexpensive App Service Web Apps

21 Check-in Key Scenarios to get started with Microsoft Azure Full Dev/Test environments Production Build Staging Master branch Visual Studio Team Services GIT / TFS Test branch Dev/Test Developers

22 Microsoft Azure Certified VMs

23 Let s see Virtual machines for lift-shift scenarios in action

24 Microservices and Azure Service Fabric Microservices vs. monoliths What is Azure Service Fabric? Azure Service Fabric architecture

25 Why a microservices approach? Continually evolving applications Faster delivery of features and capabilities to respond to customer expectations Build and operate a service at scale Plan Monitor + Learn 1 4 Development Production 2 Develop + Test 3 Release

26 Microservices vs. Monoliths

27 Monolithic application approach A monolith app contains domain specific functionality and is normally divided by functional layers such as web, business and data Scales by cloning the app on multiple servers/vms/containers App 1 Microservices application approach A microservice application separates functionality into separate smaller services. App 1 App 2 Scales out by deploying each service independently creating instances of these services across servers/vms/containers

28 State in Monolithic approach Single monolithic database Tiers of specific technologies State in Microservices approach Graph of interconnected microservices State typically scoped to the microservice Variety of technologies used Remote Storage for cold data stateless presentation services stateless services with separate stores stateless services stateful services

29 Microservices

30 What is Azure Service Fabric?

31 Microsoft Azure Service Fabric A platform for reliable, hyperscale, microservice-based applications Microservices High Availability Simple programming models Hybrid Operations Hyper-Scale High Density Data Partitioning Rolling Upgrades Automated Rollback Service Fabric Low Latency Stateful Services Placement Constraints Health Monitoring Fast Startup & Shutdown Code Orchestration & Lifecycle Management Self-healing Replication & Resource Management Failover Azure Private cloud Other clouds

32 Azure Service Fabric Public Cloud On Premises Private cloud Other Clouds

33 Comparing Azure Cloud Services vs. 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

34 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 Windows OS Windows OS Fabric Node Windows OS Fabric Node Fabric Node Fabric Node Windows OS Fabric Node Windows OS Fabric Node Windows OS

35 Service Fabric Cluster Datacenter (Azure, On Premises, Other Clouds ) PC/VM #2 Service Fabric Management to deploy your code, etc. (Port: 19080) Your code, etc. PC/VM #3 Service Fabric PC/VM #1 Your code, etc. Load Balancer Service Fabric Your code, etc. PC/VM #4 Service Fabric PC/VM #5 Your code, etc. App Web Request (Port: 80/443/?) Service Fabric Your code, etc.

36 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>

37 Application type Declarative template for creating an application Based on a set of service types Used for packaging, deployment, and versioning

38 Azure Service Fabric Architecture

39 Architecture Application Model Declarative Application Description Native and Managed APIs Management Subsystem Deployment, Upgrade and Monitoring Communication Subsystem Service discovery Reliability Subsystem Reliability, Availability, Replication, Service Orchestration Federation Subsystem Federates a set of nodes to form a consistent scalable fabric Hosting & Activation Application Lifecycle Testability Subsystem Fault Inject, Test in production Transport Subsystem Secure point-to-point communication

40 Let s see Microservices and Azure Service Fabric in action

41 Data services in Azure MongoDB, MySQL, Oracle, Cassandra, Neo4j and more

42 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 schema-free data model internet accessible http/rest arbitrary data formats

43 SQL Power & Flexibility in Azure

44 SQL IaaS 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

45 SQL PaaS Provisioning Xplat-cli PowerShell Portal

46 SQL server data tools Connected Dev Project Based Unit Testing Schema Compare Build / Deploy

47 MongoDB DocumentDB 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

48 Azure Search Perfect for enterprise cloud developers, cloud software vendors, cloud architects who need a fullymanaged search solution.

49 Relational DB vs. Hadoop Reference: Tom White s Hadoop: The Definitive Guide Data size Access Updates Structure Integrity Scaling

50 Azure Data Warehouse A relational data warehouse-as-a-service Power BI Hadoop App Service Azure SQL Database Azure SQL Data Warehouse Intelligent App Azure Machine Learning

51 Data Lake service Transformative way to store and process infinite data Other analytic solutions SQL Data Warehouse

52 MongoDB, MySQL, Oracle, Cassandra, Neo4j and more

53 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.

54 Let s see Data Services in Azure in action

55 The hands-on labs

56 Lab: Creating a trial Microsoft Azure account and activating Visual Studio subscription benefits Creating a trial Microsoft Azure account Verifying by phone Filling out payment information Accessing the Azure Management Portal Activating Visual Studio subscription benefits

57 We learned how to: 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

58 Lab: Introduction to the Azure Portal Learning about the Azure Portal Viewing and creating resources Creating a Web App + SQL Cleaning up the environment

59 We learned how to: 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

60 Lab: Getting started with Azure SQL and Visual Studio Team Services Creating a Microsoft Azure SQL Database Server Creating a SQL Database project in Visual Studio Deploying the database project via CI/CD process

61 We learned how to: 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

62 Lab: Infrastructure as a Service in Microsoft Azure Creating a virtual machine using: Azure Portal The cross-platform command-line interface PowerShell Internet Information Services (IIS) and SQL VM using ARM templates

63 Lab: Infrastructure as a Service in Microsoft Azure Create a VM with Azure Portal Utilize an existing image from the Azure Management Portal Configure the basics of a VM Create a VM with command-line crossplatform tools Create 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 PowerShell Configure 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 templates Create Windows Server VMs with IIS configuration using DDC Deploy a custom deployment template Verify with the Loadbalancer IP address

64 Lab: Getting started with Azure Service Fabric Creating and updating Azure Service Fabric applications Enabling PowerShell script execution Creating a local cluster Deploying and debugging an application

65 We learned how to: 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

66 Q&A