UPLOAD

    2.9K

    5 Developing Microsoft Apps on AWS

    Published: February 16, 2019

    AWS Çözümpark Workshop

    Comments

    5 Developing Microsoft Apps on AWS

    • 1. Slide72 © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Anil Erduran – EMEA Microsoft Partner Solutions Architect Developing Microsoft Apps on AWS
    • 2. .NET {Core} is popular © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. .NET {Core} is popular •According to CIO Magazine, 74% of Fortune 500 enterprises have line-of- business apps running on .NET •In the 2017 Stack Overflow developer survey, C# was the third most popular technology for server-side development, while .NET Core was the second most popular server-side framework right behind node.js.
    • 3. Current State of .NET and .NET Core © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Current State of .NET and .NET Core §Windows Server on AWS since 2008 - AWS SDK for .NET v1 launched in 2009 – now support 100+ services §.NET Core §AWS SDK for .NET supports .NET Core for all services with an SDK §We believe it is the future for .NET development in the cloud/server §Run .NET Core apps in all AWS Compute: Lambda, ECS containers, Fargate containers, EC2 instances §.NET Framework §Fully committed to supporting .NET Framework workloads §Run .NET Framework apps in ECS Containers, and EC2 instances
    • 4. Slide42 © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Enterprise Applications Document Sharing Email & Calendaring Hosted Desktops Application Streaming Backup Game Development 3D Game Engine Multi-player Backends AI Voice & Text Chatbots Machine Learning Text-to- Speech. NLP Image Analysis IoT Rules Engine Local Compute and Sync Device Shadows Device Gateway Registry Hybrid Devices & Edge Systems Data Integration Integrated Networking Resource Management VMware on AWS Identity Federation Migration Application Discovery Application Migration Database Migration Server Migration Data Migration Infrastructure Regions Availability Zones Points of Presence Compute Containers Event-driven Computing Virtual Machines Simple Servers Auto Scaling Batch Web Applications Storage Object Storage Archive Block Storage Managed File Storage Exabyte-scale Data Transport Database MariaDB Data Warehousing NoSQL Aurora MySQL Oracle SQL Server PostgreSQL Application Services Transcoding Step Functions Messaging Security Certificate Management Web App. Firewall Identity & Access Key Storage & Management DDoS Protection Application Analysis Active Directory Networking Isolated Resources Dedicated Connections Load Balancing Scalable DNS Global CDN The AWS Platform VR VR/AR Bare-Metal Media Store/Convert Live Threat detection Graph Analytics Management Defender Managed Models Video Transcribe Translate Deep L. Camera Select Account Support Support Managed Services Professional Services Partner Ecosystem Training & Certification Solution Architects Account Management Security & Pricing Reports Technical Acct. Management Marketplace Business Applications DevOps Tools Business Intelligence Security Networking Database & Storage SaaS Subscriptions Operating Systems Mobile Build, Test, Monitor Apps Push Notifications Build, Deploy, Manage APIs Device Testing Identity Mgmt. Tools Monitoring Auditing Service Catalog Server Management Configuration Tracking Optimization Resource Templates Automation Analytics Query Large Data Sets Elasticsearch Business Analytics Hadoop/Spark Real-time Data Streaming Orchestration Workflows Managed Search Managed ETL Dev Tools Private Git Repositories Continuous Delivery Build, Test, and Debug Deployment
    • 5. Microsoft Development Tools © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Microsoft Development Tools Visual Studio PowerShell NuGet Command line Visual Studio Team Services
    • 6. AWS Tools for Microsoft Development © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Tools for Microsoft Development AWS Toolkit for Visual Studio AWS SDK for .NET AWS Tools for PowerShell AWS CLI Visual Studio PowerShell NuGet Command line Visual Studio Team Services AWS Tools for VSTS/TFS
    • 7. SDKs © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. SDKs Ruby iOS Python (boto) Android Node.js AWS Toolkit for Visual Studio .NET AWS Toolkit for Eclipse PHP AWS Tools for Windows PowerShell AWS CLI JavaScript Java Xamarin
    • 8. AWS .NET SDK © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS .NET SDK AWS SDK for .NET Other 100+ Services Visual Studio AWS Toolkit for Visual Studio
    • 9. AWS SDK for .NET © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS SDK for .NET .NET assemblies to make it easier to program against the AWS APIs. §.NET Framework 3.5 and later §.NET Core 2.1 §Install the packages with NuGet (recommended) §Available as .MSI installer (includes Toolkit) §In NuGet, look for packages named AWSSDK. *
    • 10. AWS SDK for .NET © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS SDK for .NET
    • 11. AWS Toolkit for Visual Studio 2017 © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Toolkit for Visual Studio 2017
    • 12. AWS Toolkit for Visual Studio © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Toolkit for Visual Studio •See your AWS resources •Launch VMs, databases, create DynamoDB tables, more •ASP.NET and Lambda deployment wizards •Scan DynamoDB tables •Test your Lambda functions •Manage CloudFormation stacks •More!
    • 13. AWS Toolkit for Visual Studio © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Toolkit for Visual Studio Lots of sample project templates in the New Project wizard.
    • 14. AWS Toolkit for Visual Studio © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Toolkit for Visual Studio
    • 15. VSTS and TFS integration © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. VSTS and TFS integration
    • 16. AWS Tools for Visual Studio Team Services © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Tools for Visual Studio Team Services Use Your Existing Microsoft VSTS Build/Release Process Deploy .NET Apps Directly to AWS Deploy Serverless .NET Applications to AWS Lambda Manage Infrastructure as Code Where do I get them? •AWS Website: https://aws.amazon.com/vsts •Visual Studio Marketplace: search “aws tools for visual studio team services” •https://github.com/aws/aws-vsts-tools ?
    • 17. What’s included in the VSTS tools? © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What’s included in the VSTS tools? Tasks for deployment: •AWS CodeDeploy •AWS CloudFormation •AWS Elastic Beanstalk •NET Core deployment to Lambda •Deployment of functions for all supported Lambda runtimes •EC2 Container Registry General purpose tasks: •Amazon S3 uploads/downloads •Invoking Lambda functions •Send SNS messages •Run cmdlets/scripts using the AWS PowerShell Tools Module •Run AWS CLI commands •Read parameter values from store into build variables •Run command remotely against Amazon EC2 and on-premise fleet AWS Elastic Beanstalk AWS Lambda AWS CloudFormation Amazon S3 AWS CodeDeploy AWS CLI AWS Tools for Windows PowerShell Amazon SNS Amazon ECR Systems Manager Parameter Store Systems Manager Run Command AWS Lambda Deployment
    • 18. Architectural choises for .NET applications on AWS © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Architectural choises for .NET applications on AWS VMs Containers Serverless
    • 19. Slide29 © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. “There is no server better than no server” – Werner Vogels, CTO Amazon
    • 20. AWS Lambda: Run code in response to events  © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Lambda: Run code in response to events FUNCTION Changes in data state Requests to endpoints Changes in resource state C# NodeJS Python Java EVENT SOURCE 2 + 2 = 4 {
    • 21. Common Lambda Use Cases © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Common Lambda Use Cases Web Applications •Static websites •Complex web apps •Packages for Flask and Express Data Processing •Real time •MapReduce •Batch Chatbots •Powering chatbot logic Backends •Apps & services •Mobile •IoT Amazon Alexa •Powering voice-enabled apps •Alexa Skills Kit Autonomous IT •Policy engines •Extending AWS services •Infrastructure management
    • 22. Building ML into your .NET app using the AWS .NET SDK © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Building ML into your .NET app using the AWS .NET SDK üThe AWS .NET SDK gives you full access to all AWS platform capabilities üNot just compute and storage üEmbedding ML capabilities such as Image analysis is easy // Fire up the AWS Rekognition client AmazonRekognitionClient rekognition = new AmazonRekognitionClient(Amazon.Region Endpoint.EUWest1); // Build the request object DetectLabelsRequest labelsRequest = new DetectLabelsRequest(); // Assign an image (as a byte stream) to the request … // Invoke the AWS Rekognition API DetectLabelsResponse labelsResponse = rekognition.DetectLabels(labelsReques t);
    • 23. Reduce costs using Serverless (C# Lambda) © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Reduce costs using Serverless (C# Lambda) MS SQL instance Auto Scaling Auto Scaling Web Tier Stateless Middle (Application) Tier Pay for Idle time across highly available configuration Database Tier MS SQL instance Auto Scaling Web Tier Stateless Middle (Application) Tier Pay per request 1m requests free pm from ~$0.000000208 per request thereafter Database Tier Lambda Function