SlideShare a Scribd company logo
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
Amit Jha
Dev Advocate
.NET on AWS
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
Agenda
General Overview
AWS platform – Quick Overview
.NET/Windows on AWS - Journey
.NET on AWS - Developer Tools
DevSecOps
Q&A
Retail, Commercial
Banking & Payment
Wealth Management
Private Banking
Capital Market &
Investment Banking
Insurance
Online Banking Mobile Banking
Robo Advisor
Online Insurance
Mobile Insurance
Robo Advisor
Digital Marketing
Online Trading
Mobile Trading
Web Sites
Chat Bot
Customer Analytics
Sentiment Analytics
Digital Marketing Digital Marketing
Device Farm
Customer Analytics
Biometrics
Digital
ChannelAnalytics
AML
Dev & Test DR Cybersecurity Storage VDI Data Warehouse
Risk Calculation Stress Test Fraud DetectionPricing Calculation Core Systems
Infra
HPC
Core
IoT
Representative sample of uses cases
Customer Analytics
Adoption is accelerating
Typical Use Cases
AWS Platform : Breadth and Depth of Services
More services and more functionality within those services
From Regions to Amazon EC2 Instances
Performance
DR, Global Needs
HA, DR
AWS Cloud
AWS Region
AWS Availability Zone
AWS Data Center
Physical Server
1
24 + 3 announced
1
1
1
2...n
2...*
x...z (e.g. 80,000+)
EC2 Instances
1
1
1... n
Build once, run globally245 Countries & Territories Served
216 POP (Point of presence)
97 Direct Connect Locations
https://zkresearch.com/blog/2018/11/comparing-sql-server-deployments-on-microsoft-azure-and-amazon-web-services
Reliable & Secure
Number of regions with
multiple Availability Zones
2x
Security, compliance,
and governance key features,
40 more than Azure
210
Stockholm
Hong Kong
Announced Regions
THE NEXT LARGEST CLOUD PROVIDER HAD 7X MORE
DOWNTIME HOURS THAN AWS IN 2018
https://zkresearch.com/blog/2018/11/comparing-sql-server-deployments-on-microsoft-azure-and-amazon-web-services
MOST CAPABILITIES
AWS has the more capabilities than any other cloud provider, including 48
services where comparable options are simply not available on the next
largest cloud provider.
ECO SYSTEM SUPPORT
AWS supports a full range of business-critical services for Microsoft
Workloads like Visual Studio, Active Directory, Windows Server, SQL Server,
AWS SDK for .NET, AWS Elastic Beanstalk, and AWS Database Migration
Service.
AWS also offers the first and only fully managed native-Windows file service,
Amazon FSx for Windows File Server, which is built on Windows and
integrates with Active Directory.
AWS services where
the next largest cloud
provider does not
have comparable
options
48
Breadth & Depth
43% 57% 28% 113%
M O R E C O M P U T E
S E R V I C E S
M O R E D A T A B A S E
S E R V I C E S
M O R E N E T W O R K I N G
S E R V I C E S
M O R E M A N A G E M E N T
S E R V I C E S
T H A N T H E N E X T L A R G E S T C L O U D P R O V I D E R
What do I have in my environment?
How do I get started?
How do I move these workloads?
What do we do after we migrate?
What are we hearing from our customers with
.NET/Windows/SQL/AD workloads ?
What should I move to the cloud?
Can I move my existing License?
Is AWS more expensive than Azure?
How does Microsoft licensing work on AWS?
If it is a Windows workload, shouldn’t I consider Azure first?
How can I lower my TCO?
Does AWS support my on-premises workloads?
How can I bring my .NET Applications onto AWS?
How do I modernize my legacy .NET App on AWS?
How do I leverage AI-ML services in my existing .NET App?
© 2020, Amazon Web Services, Inc. or its Affiliates.
12 years of innovation for .NET on AWS
SQL Server 2005
Windows Deep Learning AMI
Hyper-V support in SMS
Application-consistent Snapshots through VSS
WS 2008 & SQL Server 2008 Toolkit for Visual Studio
Microsoft SCOM plug-in release
AWS Directory Service
EC2 Dedicated Hosts (BYOL)
Microsoft SharePoint 2016 (Marketplace)
.NET SDK
Microsoft SCVMM Plug-in
Windows Server 2012
AWS Tools for Windows PowerShell
Amazon RDS adds SQL Server
EC2 Run Command
EC2 Systems Manager
SQL Server 2016
EC2 Dedicated
Instances (BYOL)
.NET on Lambda &
Codebuild
Trusted Advisor checks for Windows
SQL Server 2017
X-Ray .NET SDK
CustomerAdoption
Windows for Lightsail
.NET Core & PowerShell on AL2/Ubuntu
2008 Today
.NET Core 2.1 on Lambda
EC2 Windows on Bare Metal/Hyper-V AMI
SQL 2017 AMI AL2/Ubuntu
.NET Core 2.1 Linux
AMIs
DynamoDB Accelerator SDK for .NET
Sessions Manager AWS X-Ray .NET Core Support
Windows Server
2019
Dedicated Host
Enhancement Tag-On
Lambda Support
for PowerShell
Core
instance types, 33 instance families275
different AMIs for Windows workloads200
2010 2012 2014 2016 2018
Windows Server 2016
Amazon ECS for Windows Containers
Windows Server &
EC2
SQL Server
.NET
App Modernization
Windows
Server 2003
SQL Server 2008 R2
Windows
Server 2008 R2
SQL Server 2012
Lambda Layers
SQL Server 2019
Windows Server
1803
.NET Core 3.1 on Lambda
Toolkit for Visual Studio Code
Toolkit for Rider
App2Container
Porting
Assistant
for .NET
AWS Elastic
Beanstalk with
.NET Core 3.1
Amplify CLI .NET
support
AWS CDK with .NET
different Linux AMIs with .NET Core or SQL
Server pre-configured
22
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS hosts nearly two times as many Windows Server
instances in the cloud as Microsoft
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
What are the needs of a typical .NET developer?
Rich IDE and editor support Full featured, easily
consumable SDK
Easy debugging and testing
Intellisense
“Don’t make us leave the IDE”
“Getting started” project templates
Command-line support CI/CD integration Support for cross platform
development with .NET CorePowerShell and Windows cmd.exe
‘dotnet CLI’ integration for .NET Core
© 2020, Amazon Web Services, Inc. or its Affiliates.
Development Tools
IDE
integration
AWS Toolkit for
Visual Studio
AWS Toolkit for
Visual Studio Code
Programmable
SDK
Command
line tools
AWS Tools for
PowerShell
AWS SAM for
Windows
AWS CLI
‘dotnet’ CLI
extensions
CI/CD
integration
AWS Tools for
Azure DevOps
AWS CodePipline/
CodeBuildAWS CDK
for .NET
AWS Toolkit for
Rider
AWS SDK
for .NET
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.© 2019, Amazon Web Services, Inc. or its Affiliates.
IDE integration
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Toolkit for Visual Studio
AWS Toolkit for
Visual Studio
“Publish to AWS Lambda” wizard also available (not shown)
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Toolkit for Visual Studio Code
AWS Toolkit for
Visual Studio Code
Open source plug-in for the Rider IDE that makes it easier to create, debug, and
deploy .NET applications on Amazon Web Services:
“Getting started”
project template
Step-through
debugging
Deployment
from the IDE
https://aws.amazon.com/rider/
https://github.com/aws/aws-toolkit-jetbrains
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Toolkit for Rider
AWS Toolkit for
Rider
Integrated experience targeting development of serverless applications in Node.js,
Python and .NET:
Select a quickstart
serverless application template.
Step-through
debugging
Deployment
from the IDE
https://aws.amazon.com/visualstudiocode/
https://github.com/aws/aws-toolkit-vscode
Access CloudWatch
From the IDE
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
AWS Tools for Visual Studio Team Services
Supports online Azure DevOps (VSTS) and
on-prem Azure DevOps Server (TFS)
https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.aws-vsts-tools
Collection of tasks for working with
Elastic Beanstalk CloudFormation CodeDeploy Elastic Container Registry
S3
(upload and download)
Secrets Manager Parameter Store Lambda
(all languages and .NET Core specific task)
+ AWS CLI and AWS Tools for Windows PowerShell tasks also available
AWS Tools for
Azure DevOps
© 2020, Amazon Web Services, Inc. or its Affiliates.
Programmable SDK
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS SDK for .NET
AWS SDK
for .NET
Various extension
libraries cover
‘higher level’
functionality
Central home for all SDK
and extension libraries
https://github.com/aws/dotnet
Programmatic access to all AWS services
‱ Updates almost daily (in sync with
service updates and launches)
‱ Simple programming model
Distributed
via NuGet
Support .NET cross platforms
‱ Supports .NET Framework, .NET Core,
and Xamarin development
‱ Open source
© 2020, Amazon Web Services, Inc. or its Affiliates.
Core Enabling Technology
AWS SDK
for .NET
AWS SDK for .NET
AWS Service Clients & interfaces
Amazon S3
TransferUtility
Amazon DynamoDB
Object Persistence


“Low-level”
service APIs
“Higher-level”
utility APIs
VM Import
AWS Tools for
PowerShell
AWS Toolkit for
Visual Studio
ASP.NET
Session Provider
Trace
Listener
.NET 3.5 .NET 4.5 Xamarin.NET Core
Your
application
NuGet packages targeting .NET Standard 1.3 and 2.0
© 2020, Amazon Web Services, Inc. or its Affiliates.
Consistent SDK Coding Pattern
AWS SDK
for .NET
using servicename;
using servicename.Model;
var client = new AmazonservicenameClient();
operationnameResponse response = await client.operationnameAsync(new operationnameRequest
{
RequestProperty1 = ‘some data’,
RequestProperty2 = new List<string> { ‘someother’, ‘data’ }
});
foreach (var element in response.OutputDataMember)
{
// do something
}
© 2020, Amazon Web Services, Inc. or its Affiliates.
Real-world example—list all objects in an S3 bucket
© 2020, Amazon Web Services, Inc. or its Affiliates.
Command Line Tools
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Tools for PowerShell
Available for Windows PowerShell and PowerShell 6+
Use to manage AWS resources and services
Over 5,000 cmdlets across 150+ services
Distributed on PowerShell Gallery
AWSPowerShell
‱ Windows PowerShell v2-v5.1
‱ Pre-installed on Amazon-provided
EC2 Windows images
If you can code something in an SDK, you can script it in PowerShell
AWSPowerShell.NetCore
‱ Windows PowerShell v3-5.1
‱ PowerShell 6+
(Windows, macOS & Linux)
AWS Tools for
PowerShell
© 2020, Amazon Web Services, Inc. or its Affiliates.
‘dotnet’ CLI extensions
Cross-platform
‘dotnet CLI’ extensions
‱ Replicate the deployment
wizards inside Visual Studio
‱ Tools for Lambda,
Elastic Beanstalk, and ECS
‱ Use on developer workstation
or in CI/CD scenarios
Round-trip capable with
Visual Studio integration
‱ ‘defaults’ file (json) carries
deployment settings
‱ Code shared between
CLI tools and IDE
Simple install: dotnet tool install –g toolname
‘dotnet’ CLI
extensions
© 2020, Amazon Web Services, Inc. or its Affiliates.
‘dotnet’ CLI extensions
© 2020, Amazon Web Services, Inc. or its Affiliates.
‘dotnet’ CLI tools - Lambda, ECS, and Elastic Beanstalk
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Compute Services for .NET
AWS LambdaAWS Elastic BeanstalkAmazon EC2 Amazon Elastic
Container Service
AWS Fargate
.NET Framework
.NET Core
Amazon Elastic Container
Service for Kubernetes
Amazon Lightsail
© 2020, Amazon Web Services, Inc. or its Affiliates.
Hosting .NET applications on AWS
Amazon EC2
‱ Virtual Machines
(Linux/Windows)
‱ Secure
‱ Resizable
AWS Lambda
‱ Execute code without
provisioning or managing
servers
‱ Synchronous (request/response)
or Asynchronous execution
models
Containers
‱ Broad range of fully managed,
do-it-yourself and serverless
container options
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Shared Responsibility Model
VM - Infrastructure Services
Container type Services
Abstract Services
© 2020, Amazon Web Services, Inc. or its Affiliates.
Compute Resources: Where to Run Code
EC2 Instances: Windows/Linux (.NET Framework, .NET Core)
‒ Choose instance type/size, memory, disk, vCPUs
‒ You manage and patch
Containers: Windows, Linux (.NET Framework, .NET Core)
‒ Easy to package, deploy, reuse and scale
‒ Focus on development, not infrastructure
Lambda (.NET Core)
‒ Serverless platform for short-running tasks (< 15 min)
‒ Pay only for the time the code is executing
‒ Choose from C#, Node.js, Python, Java, Go, Ruby,
or bring your own runtime!
abstraction
© 2020, Amazon Web Services, Inc. or its Affiliates.
EC2 (VM) based
Lift & Shift or Move & Tune
‱ VM Snapshot, VM Export Import
‱ Golden AMI
‱ Cloud Endure – Bulk
‱ EC2 with Chef Puppet to configure apps
© 2020, Amazon Web Services, Inc. or its Affiliates.
.NET Framework vs .NET Core containers
© 2020, Amazon Web Services, Inc. or its Affiliates.
Windows Base Images
Windows Server Core
Nano Server
Windows (full)
docker pull mcr.microsoft.com/windows/nanoserver:2004
docker pull mcr.microsoft.com/windows/servercore:2004
docker pull mcr.microsoft.com/windows:2004
© 2020, Amazon Web Services, Inc. or its Affiliates.
Windows Server Core
‱Minimal installation of Windows Server 2016/2019
‱Windows PowerShell
‱.NET Core & .NET Framework
‱No Windows Shell Desktop
‱Great for migrating existing Windows applications to
containers
© 2020, Amazon Web Services, Inc. or its Affiliates.
Nano Server
‱Smallest base layer available for Windows
‱Only 64-bit applications
‱Headless; no local logon or GUI
‱No graphical applications
‱.NET Core
‱Only PowerShell Core is available
‱PowerShell Core not included by default
(version 1709 onwards)
© 2020, Amazon Web Services, Inc. or its Affiliates.
.NET Application
Migration
Target VM or
Container ?
.NET
Framework
or
.NET Core ?
AWS Managed
or Self-Managed ?
Target
Serverless
Functions ?.NET
Core
Yes
No
Container
Yes
VM
.NET Framework
Amazo
n EC2
Choose
AWS
Lambda
No
Orchestration
by
Kubernetes ?
N
o
Amazon EC2
hosting Docker
with Windows
Container
Yes
Amazon EKS
hosting managed
Windows Container
Amazon ECS
hosting managed
Windows Container
VM or
Containers ?
Yes
No
Serverless
Containers ?
Orchestration
by
Kubernetes ?
Orchestration
by
Kubernetes ?
Amazon ECS
hosting managed
Linux Container
Amazon EKS
hosting managed
Linux Container
AWS Fargate
with ECS
Managed Linux
container
Yes
VM
No
No
No
No
Yes
Yes
Migrating .NET workloads to AWS
Rehost
Replatfor
m
Refactor
Linux or
Windows ?
Windows
Linux AWS Elastic
Beanstalk
managed EC2
with Linux
AWS Elastic
Beanstalk
managed EC2
with
Windows
AWS Fargate
with EKS
Managed Linux
container
AWS Managed
or Self-Managed?
© 2020, Amazon Web Services, Inc. or its Affiliates.
Porting Assistant for .NET :
https://aws.amazon.com/blogs/aws/announcing-the-porting-
assistant-for-net/
App2Container : https://aws.amazon.com/app2container/
Couple of recent AWS launches to help bring you apps to AWS
© 2020, Amazon Web Services, Inc. or its Affiliates.
Typical App Journey (Migrate + Modernize)
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
API
DB
WEBStorage
Identity
Active
Directory
SAN
Typical Application Journey
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
API
DB
WEBStorage
Identity
Active
Directory
Instances
Instances
Auto Scaling
Auto Scaling
Monitor
Amazon CloudWatch
RDS DB
instance
RDSDB
standby
Availability
Zone
Availability
Zone
Amazon VPC
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
API
DB
WEBStorage
Identity
Instances
Auto Scaling
Auto Scaling
Monitor
Amazon CloudWatch
RDS DB
instance
RDSDB
standby
Availability
Zone
Availability
Zone
Web Bucket
AWS Directory Service
IAM
Amazon S3
Amazon VPC
Distribution
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
API
DB
WEBStorage
Identity
Monitor
Amazon CloudWatch
RDS DB
instance
RDSDB
standby
Availability
Zone
Availability
Zone
AWS Directory Service
IAM
Amazon S3 Web Bucket Distribution
LambdaAPI Gateway
SQS Queue SNS Topic
© 2019, Amazon Web Services, Inc. or its Affiliates.
AWS service rainbow
ESB
© 2020, Amazon Web Services, Inc. or its Affiliates.
Other AWS Services of Interest
PowerShell support
throughout Systems Manager
Monitoring, insights
into deployed code
Extension libs to publish
logs to CloudWatch
High-level
SDK libraries
Amazon
DynamoDB
AWS Systems
Manager
Amazon
Cognito
AWS
X-Ray
Amazon
CloudWatch
Amazon
RDS
Amazon
SageMaker
AWS Step
Functions
AWS Batch
Oracle DB2
SQL Server
MySQL
PostgreSQL
DynamoDB
Redis
Neptune
Cassandra
Aurora
1970 1980 1990 2000 2010
MongoDB
Elasticsearch
Amazon Redshift
Evolution of databases
Edgar Frank Codd – 1970
The Relational Model for Databases
As of today,
DB-Engines is tracking
340+ databases
Common data categories and use cases
Relational
Referential
integrity, ACID
transactions,
schema-
on-write
Lift and shift, ERP,
CRM, finance
Key-value
High
throughput, low-
latency reads
and writes, endless
scale
Real-time bidding,
shopping cart, social,
product catalog,
customer preferences
Document
Store documents
and quickly
access querying
on any attribute
Content
management,
personalization,
mobile
In-memory
Query by key
with
microsecond
latency
Leaderboards,
real-time analytics,
caching
Graph
Quickly and
easily create and
navigate
relationships
between
data
Fraud detection,
social networking,
recommendation
engine
Time-series
Collect, store,
and process data
sequenced by
time
IoT applications,
event tracking
Ledger
Complete,
immutable, and
verifiable history of
all changes to
application data
Systems
of record, supply
chain, health care,
registrations,
financial
Aurora, RDS DynamoDB DocumentDB ElastiCache Neptune Timestream QLDB
AWS
Service(s)
Common Use
Cases
© 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates.
Modern Applications
‱ Use independently
scalable microservices
(serverless, containers...)
‱ Connect through APIs
‱ Deliver updates
continuously
‱ Adapt quickly to change
‱ Scale globally
‱ Are fault tolerant
‱ Carefully mange state
and persistence
‱ Have security built-in
© 2020, Amazon Web Services, Inc. or its Affiliates.
releasetestbuild
releasetestbuild
Microservices - Focused agile teams – End to end ownership,
COE
2-pizza
team
delivery pipeline service
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
Secure Development Environments in AWS
CI/CD Tools Monitoring & Tracing
SDKs
IDE
IDE and DevOps Toolkits CLI and Scripting Tools
Infrastructure as Code
AWS Cloud Dev.
Kit (CDK)
Web Apps
Mobile
AWS
Amplify
Amazon
Corretto
Languages
AWS Chicago user group: AWS Platform for .NET Developers
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Help validate code quality and function repeatedly with predefined
results
Lots of options: self hosted, open source, closed source, and SaaS
Monitoring, testing, validation
Plugins
Continuous Integration / Continuous Delivery
CodeCommit
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Different aspects of .NET App Development
‱ Authentication
‱ Encryption
‱ Tracing
‱ Caching
‱ 

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Getting started with the CDK
Prerequisites
‱ .NET Framework 4.6.1 or .NET Core 3.1
‱ NodeJs 10.3+
‱ CDK (npm install –g aws-cdk)
Create your CDK project
C:Projects>mkdir my-project
C:Projectsmy-project>cd my-project
C:Projectsmy-project>cdk init app --language csharp
C:Projectsmy-project>dotnet add package Amazon.CDK.AWS.S3
C:Projectsmy-project>cdk deploy
MyProjectStack: deploying...
MyProjectStack: creating CloudFormation changeset...
MyProjectStack: deploying...
<< CloudFormation events will appear... >>
Stack ARN:
arn:aws:cloudformation:us-east-1:982831078337:stack/MyProjectStack/10228520-b171-11ea-9bf3-1271b8f35690
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CDK Example: Create an S3 Bucket
using Amazon.CDK;
using Amazon.CDK.AWS.S3;
namespace MyProject
{
public class MyProjectStack : Stack
{
internal MyProjectStack(Construct scope, string id, IStackProps props = null) :
base(scope, id, props)
{
new Bucket(this, "S3Bucket", new BucketProps
{
BucketName = "myuniquebucketname",
PublicReadAccess = false,
RemovalPolicy = RemovalPolicy.DESTROY // NOT recommended for production code
});
}
}
}
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How it works
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Usage example
using Amazon.XRay.Recorder.Handlers.AwsSdk;
using Amazon.XRay.Recorder.Handlers.SqlServer;
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
AWSSDKHandler.RegisterXRayForAllServices();
app.UseXRay("SampleApp"); // name of the app
// rest of app configuration
}
public void RunSqlQuery(string connectionString)
{
using (var connection = new SqlConnection(connectionString))
{
var query = "SELECT * FROM Products FOR XML AUTO, ELEMENTS";
var command = new TraceableSqlCommand(query, connection);
command.Connection.Open();
await command.ExecuteXmlReaderAsync();
}
}
Capture AWS service
calls
Capture incoming API calls
Capture SQL query
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Service map
RDS database
DynamoDb table
ECS
Cluster
SNS
SQS
API Gateway
Lambda
function
S3 bucket
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Assuming Role Using AWS SDK for .NET
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Encrypting with AWS KMS
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Decrypting with AWS KMS
If the ciphertext blob or the encryption context is changed, requests to
decrypt the data will fail
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Using Amazon ElastiCache with Microsoft
RedisSessionStateProvider
‱ In the ASP.NET project, Update “RedisSessionStateProvider”
configuration in the “web.config” file. Update the “host” with the
cluster endpoint address.
<sessionState mode="Custom" customProvider="MySessionStateStore">
<providers>
<add name="MySessionStateStore"
type="Microsoft.Web.Redis.RedisSessionStateProvider"
host=“<Endpoint_Address>" accessKey="" ssl="false" />
</providers>
</sessionState>
© 2020, Amazon Web Services, Inc. or its Affiliates.
The AWS Machine Learning Stack
Broadest and most complete set of ML capabilities
VISION SPEECH TEXT SEARCH CHATBOTS PERSONALIZATION FORECASTING FRAUD DEVELOPMENT CONTACT CENTERS
Ground
Truth
AWS
Marketplace
for ML
Neo Augmented
AIBuilt-in
algorithms
Notebooks Experiments Processing
Model
training &
tuning
Debugger Autopilot
Model
hosting
Model Monitor
Deep Learning
AMIs & Containers
GPUs &
CPUs
Elastic
Inference
Inferentia FPGA
Amazon
Rekognition
Amazon
Polly
Amazon
Transcribe
+Medical
Amazon
Comprehend
+Medical
Amazon
Translate
Amazon
Lex
Amazon
Personalize
Amazon
Forecast
Amazon
Fraud Detector
Amazon
CodeGuru
AI SERVICES
ML SERVICES
ML FRAMEWORKS & INFRASTRUCTURE
Amazon
Textract
Amazon
Kendra
Contact Lens
For Amazon Connect
SageMaker Studio IDE
Amazon SageMaker
DeepGraphLibrary
© 2020, Amazon Web Services, Inc. or its Affiliates.
‱ Image and Video Analysis: Amazon Rekognition
‱ Document Translation: Amazon Translate
‱ Speech to Text: Amazon Transcribe
‱ Text to Speech: Amazon Polly
‱ Sentiment Analysis and NLP: Amazon Comprehend
‱ Chatbots: Amazon Lex
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS SDK for .NET – Common Pattern for Calling Services
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon Rekognition – AWS SDK for .NET
Detect real-world entities in an image
[Console output]
Car with confidence 99%
Vehicle with confidence 99%
Automobile with confidence 99%
Transportation with confidence 99%
Sedan with confidence 98%
Bumper with confidence 91%
Suv with confidence 67%
Parking Lot with confidence 64%
Parking with confidence 64%
Coupe with confidence 57%
Sports Car with confidence 57%
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon Translate – AWS SDK for .NET
[Console output]
Hola, ÂżcĂłmo estĂĄs?
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon Transcribe – AWS SDK for .NET
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon Polly – AWS SDK for .NET
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
The Value of .NET / Windows Workloads on AWS
Lower Cost/TCOBetter PerformanceGreater Reliability More ExperienceMore InnovationGreater Security
.NET/Windows on AWS
o AWS provides
nearly 2x the
number of regions
with multiple
availability zones
vs next cloud
provider
o In 2018, the next
cloud provider had
7x more downtime
hours than AWS
o AWS has a 2X-3X
performance
advantage running
SQL Server,
including storage,
compute and
networking vs next
cloud provider
o AWS has at least 2x
better price,
performance
running SQL vs
next cloud provider
o AWS offers 210
security,
compliance, and
governance services
which is ~40 more
than next provider.
o AWS supports 89
security standards
and compliance
certify which is
meaningfully more
than any other
cloud provider.
o AWS helps lower
their overall
Windows Server
costs with a
comprehensive
family of EC2
instances and pricing
models
o Over the past
several years, AWS
has reduced pricing
77 times
o 56% lower TCO over
5 years
o AWS includes 48
services where
comparable
options are simply
not available in
next cloud provider
o AWS offer
innovative options
to run managed
AD, and managed
SQL and has robust
license mgmt. and
DevOps capabilities
o AWS has
unmatched
experience over the
last 11 years
deploying Microsoft
workloads
o Recognized by IDC
as the most
extensive library of
cases covering
thousands of
successful
migrations
o Ability to execute
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
Useful Links
AWS .NET homepage
https://aws.amazon.com/net
Open source .NET tools homepage
https://github.com/aws/dotnet
Developing and Deploying .NET Applications on AWS Whitepaper
https://bit.ly/2QCznmJ
Step Functions
https://amzn.to/2O8iChC
AWS Lambda Layers with .NET Core
https://amzn.to/2rhbx5a

More Related Content

What's hot (10)

PPTX
AWS User Group 5/12 meetup - ECS
Shimon Tolts
 
PPTX
AWS Data Immersion Webinar Week - Entenda como ampliar suas possibilidades de...
Amazon Web Services LATAM
 
PDF
AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...
lanfranf
 
PDF
Crio.do - Deployment on AWS Masterclass
Dhaval Nagar
 
PDF
Tech Talks On Site- Edição de Maio- AutoScaling
Amazon Web Services LATAM
 
PDF
Deploy Golang WebApp dengan AWS App Runner
Rio Astamal
 
PDF
Leveraging Elastic Web Scale Computing with AWS
Shiva Narayanaswamy
 
PDF
AWS êł ê°ì‚Źë„Œ 위한 ‘AWS 컚테읎너 ê”ìœĄâ€™ - ìœ ìžŹì„, AWS ì†”ëŁšì…˜ìŠˆ 아킀텍튞
Amazon Web Services Korea
 
PPTX
AWS Migration Day - Windows Workloads
Amazon Web Services LATAM
 
PDF
Aws summit 2014 redshift
Amazon Web Services LATAM
 
AWS User Group 5/12 meetup - ECS
Shimon Tolts
 
AWS Data Immersion Webinar Week - Entenda como ampliar suas possibilidades de...
Amazon Web Services LATAM
 
AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...
lanfranf
 
Crio.do - Deployment on AWS Masterclass
Dhaval Nagar
 
Tech Talks On Site- Edição de Maio- AutoScaling
Amazon Web Services LATAM
 
Deploy Golang WebApp dengan AWS App Runner
Rio Astamal
 
Leveraging Elastic Web Scale Computing with AWS
Shiva Narayanaswamy
 
AWS êł ê°ì‚Źë„Œ 위한 ‘AWS 컚테읎너 ê”ìœĄâ€™ - ìœ ìžŹì„, AWS ì†”ëŁšì…˜ìŠˆ 아킀텍튞
Amazon Web Services Korea
 
AWS Migration Day - Windows Workloads
Amazon Web Services LATAM
 
Aws summit 2014 redshift
Amazon Web Services LATAM
 

Similar to AWS Chicago user group: AWS Platform for .NET Developers (12)

PDF
AWS Cloud Experience CA: ¿Porqué Correr WorkLoads Microsoft & Oracle en AWS?
Amazon Web Services LATAM
 
PPTX
Windows Azure
Murali Krishna Alluri
 
PDF
Blur the boundaries between your on-premises to AWS cloud by embracing VMWare...
AWS Summits
 
PDF
AWS Serverless Introduction (Lambda)
Ashish Kushwaha
 
PDF
Azure Edge IoT vs. AWS Lambda, competition or global soluce for IoT?
Estelle Auberix
 
PPTX
The Windows Azure Platform (MSDN Events Series)
Dave Bost
 
PDF
Serverless Development To Production Pipeline
Chase Douglas
 
PPTX
Serverless Generative AI on AWS, AWS User Groups of Florida
CloudHesive
 
PPTX
AWS SSA Webinar 7 - Getting Started on AWS
Cobus Bernard
 
PPTX
Microsoft Azure
Mohab El-Shishtawy
 
PDF
20180111 we bde-bs - serverless url shortener
Luca Bianchi
 
PPTX
Migrating Apps To Azure
Harish Ranganathan
 
AWS Cloud Experience CA: ¿Porqué Correr WorkLoads Microsoft & Oracle en AWS?
Amazon Web Services LATAM
 
Windows Azure
Murali Krishna Alluri
 
Blur the boundaries between your on-premises to AWS cloud by embracing VMWare...
AWS Summits
 
AWS Serverless Introduction (Lambda)
Ashish Kushwaha
 
Azure Edge IoT vs. AWS Lambda, competition or global soluce for IoT?
Estelle Auberix
 
The Windows Azure Platform (MSDN Events Series)
Dave Bost
 
Serverless Development To Production Pipeline
Chase Douglas
 
Serverless Generative AI on AWS, AWS User Groups of Florida
CloudHesive
 
AWS SSA Webinar 7 - Getting Started on AWS
Cobus Bernard
 
Microsoft Azure
Mohab El-Shishtawy
 
20180111 we bde-bs - serverless url shortener
Luca Bianchi
 
Migrating Apps To Azure
Harish Ranganathan
 
Ad

More from AWS Chicago (20)

PDF
Edwin Moedano - Monitoring and Observability of Lambdas with Cloudwatch and P...
AWS Chicago
 
PPTX
Alec MacEachern - Scaling Enterprise Agents
AWS Chicago
 
PDF
Ben Blair - Operating Safely in a Vibe Coding World
AWS Chicago
 
PPTX
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and ...
AWS Chicago
 
PDF
Steven Seaney - Simplifying and Streamlining AWS Control Tower Deployments
AWS Chicago
 
PPTX
Alex Gottemoller - Recreating Moviephone in 30 Min
AWS Chicago
 
PPTX
Abubakar Abdikadir - Driving AWS Savings Through Visibility and Automation
AWS Chicago
 
PPTX
Nathan Hiscock - Architecting secure, scalable, cost-efficient computer visio...
AWS Chicago
 
PPTX
Andy Hall Build verifiable explainability into financial services workflows w...
AWS Chicago
 
PDF
Chicago AWS Architectural Resilience Day 2024
AWS Chicago
 
PDF
David Michels: DevOps My AI at AWS Community Day Midwest 2024
AWS Chicago
 
PDF
Girish Bhatia: 2024 CommunityDay AWS Lambda develop locally with SAM, Docker ...
AWS Chicago
 
PDF
Julia Furst Morgado Managing EKS Clusters at Scale using Blueprints and Infra...
AWS Chicago
 
PDF
Max De Jong: Avoiding Common Pitfalls with Hosting Machine Learning Models
AWS Chicago
 
PDF
Jason Butz Building Testable Serverless Applications with the Hexagonal Archi...
AWS Chicago
 
PDF
Muthukumaran Ardhanary AWS Datasync to migrate objects from on-prem to s3
AWS Chicago
 
PDF
Jeff Maruschek: How does RAG REALLY work?
AWS Chicago
 
PDF
Jay Kahlon: Tagging Compliance The Tags are Coming!
AWS Chicago
 
PDF
Jason Wadsworth: Step Up Your SaaS Game: Serverless Orchestration and Automat...
AWS Chicago
 
PDF
Drake Pocsatko: We have HOW many documents? We have HOW many Documents? Archi...
AWS Chicago
 
Edwin Moedano - Monitoring and Observability of Lambdas with Cloudwatch and P...
AWS Chicago
 
Alec MacEachern - Scaling Enterprise Agents
AWS Chicago
 
Ben Blair - Operating Safely in a Vibe Coding World
AWS Chicago
 
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and ...
AWS Chicago
 
Steven Seaney - Simplifying and Streamlining AWS Control Tower Deployments
AWS Chicago
 
Alex Gottemoller - Recreating Moviephone in 30 Min
AWS Chicago
 
Abubakar Abdikadir - Driving AWS Savings Through Visibility and Automation
AWS Chicago
 
Nathan Hiscock - Architecting secure, scalable, cost-efficient computer visio...
AWS Chicago
 
Andy Hall Build verifiable explainability into financial services workflows w...
AWS Chicago
 
Chicago AWS Architectural Resilience Day 2024
AWS Chicago
 
David Michels: DevOps My AI at AWS Community Day Midwest 2024
AWS Chicago
 
Girish Bhatia: 2024 CommunityDay AWS Lambda develop locally with SAM, Docker ...
AWS Chicago
 
Julia Furst Morgado Managing EKS Clusters at Scale using Blueprints and Infra...
AWS Chicago
 
Max De Jong: Avoiding Common Pitfalls with Hosting Machine Learning Models
AWS Chicago
 
Jason Butz Building Testable Serverless Applications with the Hexagonal Archi...
AWS Chicago
 
Muthukumaran Ardhanary AWS Datasync to migrate objects from on-prem to s3
AWS Chicago
 
Jeff Maruschek: How does RAG REALLY work?
AWS Chicago
 
Jay Kahlon: Tagging Compliance The Tags are Coming!
AWS Chicago
 
Jason Wadsworth: Step Up Your SaaS Game: Serverless Orchestration and Automat...
AWS Chicago
 
Drake Pocsatko: We have HOW many documents? We have HOW many Documents? Archi...
AWS Chicago
 
Ad

Recently uploaded (20)

PPTX
Wondershare Filmora Crack Free Download 2025
josanj305
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
Modern Decentralized Application Architectures.pdf
Kalema Edgar
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PPTX
CapCut Pro PC Crack Latest Version Free Free
josanj305
 
PDF
Linux schedulers for fun and profit with SchedKit
Alessio Biancalana
 
PDF
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
PDF
Evolution: How True AI is Redefining Safety in Industry 4.0
vikaassingh4433
 
PDF
Next Generation AI: Anticipatory Intelligence, Forecasting Inflection Points ...
dleka294658677
 
PPTX
Essential Content-centric Plugins for your Website
Laura Byrne
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
“ONNX and Python to C++: State-of-the-art Graph Compilation,” a Presentation ...
Edge AI and Vision Alliance
 
PDF
Dev Dives: Accelerating agentic automation with Autopilot for Everyone
UiPathCommunity
 
PDF
Home Cleaning App Development Services.pdf
V3cube
 
PDF
[GDGoC FPTU] Spring 2025 Summary Slidess
minhtrietgect
 
PDF
Bitkom eIDAS Summit | European Business Wallet: Use Cases, Macroeconomics, an...
Carsten Stoecker
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Wondershare Filmora Crack Free Download 2025
josanj305
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Modern Decentralized Application Architectures.pdf
Kalema Edgar
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
CapCut Pro PC Crack Latest Version Free Free
josanj305
 
Linux schedulers for fun and profit with SchedKit
Alessio Biancalana
 
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
Evolution: How True AI is Redefining Safety in Industry 4.0
vikaassingh4433
 
Next Generation AI: Anticipatory Intelligence, Forecasting Inflection Points ...
dleka294658677
 
Essential Content-centric Plugins for your Website
Laura Byrne
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
“ONNX and Python to C++: State-of-the-art Graph Compilation,” a Presentation ...
Edge AI and Vision Alliance
 
Dev Dives: Accelerating agentic automation with Autopilot for Everyone
UiPathCommunity
 
Home Cleaning App Development Services.pdf
V3cube
 
[GDGoC FPTU] Spring 2025 Summary Slidess
minhtrietgect
 
Bitkom eIDAS Summit | European Business Wallet: Use Cases, Macroeconomics, an...
Carsten Stoecker
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 

AWS Chicago user group: AWS Platform for .NET Developers

  • 1. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. Amit Jha Dev Advocate .NET on AWS
  • 2. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. Agenda General Overview AWS platform – Quick Overview .NET/Windows on AWS - Journey .NET on AWS - Developer Tools DevSecOps Q&A
  • 3. Retail, Commercial Banking & Payment Wealth Management Private Banking Capital Market & Investment Banking Insurance Online Banking Mobile Banking Robo Advisor Online Insurance Mobile Insurance Robo Advisor Digital Marketing Online Trading Mobile Trading Web Sites Chat Bot Customer Analytics Sentiment Analytics Digital Marketing Digital Marketing Device Farm Customer Analytics Biometrics Digital ChannelAnalytics AML Dev & Test DR Cybersecurity Storage VDI Data Warehouse Risk Calculation Stress Test Fraud DetectionPricing Calculation Core Systems Infra HPC Core IoT Representative sample of uses cases Customer Analytics Adoption is accelerating
Typical Use Cases
  • 4. AWS Platform : Breadth and Depth of Services More services and more functionality within those services
  • 5. From Regions to Amazon EC2 Instances Performance DR, Global Needs HA, DR AWS Cloud AWS Region AWS Availability Zone AWS Data Center Physical Server 1 24 + 3 announced 1 1 1 2...n 2...* x...z (e.g. 80,000+) EC2 Instances 1 1 1... n Build once, run globally245 Countries & Territories Served 216 POP (Point of presence) 97 Direct Connect Locations
  • 6. https://zkresearch.com/blog/2018/11/comparing-sql-server-deployments-on-microsoft-azure-and-amazon-web-services Reliable & Secure Number of regions with multiple Availability Zones 2x Security, compliance, and governance key features, 40 more than Azure 210 Stockholm Hong Kong Announced Regions THE NEXT LARGEST CLOUD PROVIDER HAD 7X MORE DOWNTIME HOURS THAN AWS IN 2018
  • 7. https://zkresearch.com/blog/2018/11/comparing-sql-server-deployments-on-microsoft-azure-and-amazon-web-services MOST CAPABILITIES AWS has the more capabilities than any other cloud provider, including 48 services where comparable options are simply not available on the next largest cloud provider. ECO SYSTEM SUPPORT AWS supports a full range of business-critical services for Microsoft Workloads like Visual Studio, Active Directory, Windows Server, SQL Server, AWS SDK for .NET, AWS Elastic Beanstalk, and AWS Database Migration Service. AWS also offers the first and only fully managed native-Windows file service, Amazon FSx for Windows File Server, which is built on Windows and integrates with Active Directory. AWS services where the next largest cloud provider does not have comparable options 48 Breadth & Depth 43% 57% 28% 113% M O R E C O M P U T E S E R V I C E S M O R E D A T A B A S E S E R V I C E S M O R E N E T W O R K I N G S E R V I C E S M O R E M A N A G E M E N T S E R V I C E S T H A N T H E N E X T L A R G E S T C L O U D P R O V I D E R
  • 8. What do I have in my environment? How do I get started? How do I move these workloads? What do we do after we migrate? What are we hearing from our customers with .NET/Windows/SQL/AD workloads ? What should I move to the cloud? Can I move my existing License? Is AWS more expensive than Azure? How does Microsoft licensing work on AWS? If it is a Windows workload, shouldn’t I consider Azure first? How can I lower my TCO? Does AWS support my on-premises workloads? How can I bring my .NET Applications onto AWS? How do I modernize my legacy .NET App on AWS? How do I leverage AI-ML services in my existing .NET App?
  • 9. © 2020, Amazon Web Services, Inc. or its Affiliates. 12 years of innovation for .NET on AWS SQL Server 2005 Windows Deep Learning AMI Hyper-V support in SMS Application-consistent Snapshots through VSS WS 2008 & SQL Server 2008 Toolkit for Visual Studio Microsoft SCOM plug-in release AWS Directory Service EC2 Dedicated Hosts (BYOL) Microsoft SharePoint 2016 (Marketplace) .NET SDK Microsoft SCVMM Plug-in Windows Server 2012 AWS Tools for Windows PowerShell Amazon RDS adds SQL Server EC2 Run Command EC2 Systems Manager SQL Server 2016 EC2 Dedicated Instances (BYOL) .NET on Lambda & Codebuild Trusted Advisor checks for Windows SQL Server 2017 X-Ray .NET SDK CustomerAdoption Windows for Lightsail .NET Core & PowerShell on AL2/Ubuntu 2008 Today .NET Core 2.1 on Lambda EC2 Windows on Bare Metal/Hyper-V AMI SQL 2017 AMI AL2/Ubuntu .NET Core 2.1 Linux AMIs DynamoDB Accelerator SDK for .NET Sessions Manager AWS X-Ray .NET Core Support Windows Server 2019 Dedicated Host Enhancement Tag-On Lambda Support for PowerShell Core instance types, 33 instance families275 different AMIs for Windows workloads200 2010 2012 2014 2016 2018 Windows Server 2016 Amazon ECS for Windows Containers Windows Server & EC2 SQL Server .NET App Modernization Windows Server 2003 SQL Server 2008 R2 Windows Server 2008 R2 SQL Server 2012 Lambda Layers SQL Server 2019 Windows Server 1803 .NET Core 3.1 on Lambda Toolkit for Visual Studio Code Toolkit for Rider App2Container Porting Assistant for .NET AWS Elastic Beanstalk with .NET Core 3.1 Amplify CLI .NET support AWS CDK with .NET different Linux AMIs with .NET Core or SQL Server pre-configured 22
  • 10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS hosts nearly two times as many Windows Server instances in the cloud as Microsoft
  • 11. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. What are the needs of a typical .NET developer? Rich IDE and editor support Full featured, easily consumable SDK Easy debugging and testing Intellisense “Don’t make us leave the IDE” “Getting started” project templates Command-line support CI/CD integration Support for cross platform development with .NET CorePowerShell and Windows cmd.exe ‘dotnet CLI’ integration for .NET Core
  • 12. © 2020, Amazon Web Services, Inc. or its Affiliates. Development Tools IDE integration AWS Toolkit for Visual Studio AWS Toolkit for Visual Studio Code Programmable SDK Command line tools AWS Tools for PowerShell AWS SAM for Windows AWS CLI ‘dotnet’ CLI extensions CI/CD integration AWS Tools for Azure DevOps AWS CodePipline/ CodeBuildAWS CDK for .NET AWS Toolkit for Rider AWS SDK for .NET
  • 13. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.© 2019, Amazon Web Services, Inc. or its Affiliates. IDE integration
  • 14. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Toolkit for Visual Studio AWS Toolkit for Visual Studio “Publish to AWS Lambda” wizard also available (not shown)
  • 15. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Toolkit for Visual Studio Code AWS Toolkit for Visual Studio Code Open source plug-in for the Rider IDE that makes it easier to create, debug, and deploy .NET applications on Amazon Web Services: “Getting started” project template Step-through debugging Deployment from the IDE https://aws.amazon.com/rider/ https://github.com/aws/aws-toolkit-jetbrains
  • 16. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Toolkit for Rider AWS Toolkit for Rider Integrated experience targeting development of serverless applications in Node.js, Python and .NET: Select a quickstart serverless application template. Step-through debugging Deployment from the IDE https://aws.amazon.com/visualstudiocode/ https://github.com/aws/aws-toolkit-vscode Access CloudWatch From the IDE
  • 17. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. AWS Tools for Visual Studio Team Services Supports online Azure DevOps (VSTS) and on-prem Azure DevOps Server (TFS) https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.aws-vsts-tools Collection of tasks for working with Elastic Beanstalk CloudFormation CodeDeploy Elastic Container Registry S3 (upload and download) Secrets Manager Parameter Store Lambda (all languages and .NET Core specific task) + AWS CLI and AWS Tools for Windows PowerShell tasks also available AWS Tools for Azure DevOps
  • 18. © 2020, Amazon Web Services, Inc. or its Affiliates. Programmable SDK
  • 19. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS SDK for .NET AWS SDK for .NET Various extension libraries cover ‘higher level’ functionality Central home for all SDK and extension libraries https://github.com/aws/dotnet Programmatic access to all AWS services ‱ Updates almost daily (in sync with service updates and launches) ‱ Simple programming model Distributed via NuGet Support .NET cross platforms ‱ Supports .NET Framework, .NET Core, and Xamarin development ‱ Open source
  • 20. © 2020, Amazon Web Services, Inc. or its Affiliates. Core Enabling Technology AWS SDK for .NET AWS SDK for .NET AWS Service Clients & interfaces Amazon S3 TransferUtility Amazon DynamoDB Object Persistence 
 “Low-level” service APIs “Higher-level” utility APIs VM Import AWS Tools for PowerShell AWS Toolkit for Visual Studio ASP.NET Session Provider Trace Listener .NET 3.5 .NET 4.5 Xamarin.NET Core Your application NuGet packages targeting .NET Standard 1.3 and 2.0
  • 21. © 2020, Amazon Web Services, Inc. or its Affiliates. Consistent SDK Coding Pattern AWS SDK for .NET using servicename; using servicename.Model; var client = new AmazonservicenameClient(); operationnameResponse response = await client.operationnameAsync(new operationnameRequest { RequestProperty1 = ‘some data’, RequestProperty2 = new List<string> { ‘someother’, ‘data’ } }); foreach (var element in response.OutputDataMember) { // do something }
  • 22. © 2020, Amazon Web Services, Inc. or its Affiliates. Real-world example—list all objects in an S3 bucket
  • 23. © 2020, Amazon Web Services, Inc. or its Affiliates. Command Line Tools
  • 24. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Tools for PowerShell Available for Windows PowerShell and PowerShell 6+ Use to manage AWS resources and services Over 5,000 cmdlets across 150+ services Distributed on PowerShell Gallery AWSPowerShell ‱ Windows PowerShell v2-v5.1 ‱ Pre-installed on Amazon-provided EC2 Windows images If you can code something in an SDK, you can script it in PowerShell AWSPowerShell.NetCore ‱ Windows PowerShell v3-5.1 ‱ PowerShell 6+ (Windows, macOS & Linux) AWS Tools for PowerShell
  • 25. © 2020, Amazon Web Services, Inc. or its Affiliates. ‘dotnet’ CLI extensions Cross-platform ‘dotnet CLI’ extensions ‱ Replicate the deployment wizards inside Visual Studio ‱ Tools for Lambda, Elastic Beanstalk, and ECS ‱ Use on developer workstation or in CI/CD scenarios Round-trip capable with Visual Studio integration ‱ ‘defaults’ file (json) carries deployment settings ‱ Code shared between CLI tools and IDE Simple install: dotnet tool install –g toolname ‘dotnet’ CLI extensions
  • 26. © 2020, Amazon Web Services, Inc. or its Affiliates. ‘dotnet’ CLI extensions
  • 27. © 2020, Amazon Web Services, Inc. or its Affiliates. ‘dotnet’ CLI tools - Lambda, ECS, and Elastic Beanstalk
  • 28. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Compute Services for .NET AWS LambdaAWS Elastic BeanstalkAmazon EC2 Amazon Elastic Container Service AWS Fargate .NET Framework .NET Core Amazon Elastic Container Service for Kubernetes Amazon Lightsail
  • 29. © 2020, Amazon Web Services, Inc. or its Affiliates. Hosting .NET applications on AWS Amazon EC2 ‱ Virtual Machines (Linux/Windows) ‱ Secure ‱ Resizable AWS Lambda ‱ Execute code without provisioning or managing servers ‱ Synchronous (request/response) or Asynchronous execution models Containers ‱ Broad range of fully managed, do-it-yourself and serverless container options
  • 30. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Shared Responsibility Model VM - Infrastructure Services Container type Services Abstract Services
  • 31. © 2020, Amazon Web Services, Inc. or its Affiliates. Compute Resources: Where to Run Code EC2 Instances: Windows/Linux (.NET Framework, .NET Core) ‒ Choose instance type/size, memory, disk, vCPUs ‒ You manage and patch Containers: Windows, Linux (.NET Framework, .NET Core) ‒ Easy to package, deploy, reuse and scale ‒ Focus on development, not infrastructure Lambda (.NET Core) ‒ Serverless platform for short-running tasks (< 15 min) ‒ Pay only for the time the code is executing ‒ Choose from C#, Node.js, Python, Java, Go, Ruby, or bring your own runtime! abstraction
  • 32. © 2020, Amazon Web Services, Inc. or its Affiliates. EC2 (VM) based Lift & Shift or Move & Tune ‱ VM Snapshot, VM Export Import ‱ Golden AMI ‱ Cloud Endure – Bulk ‱ EC2 with Chef Puppet to configure apps
  • 33. © 2020, Amazon Web Services, Inc. or its Affiliates. .NET Framework vs .NET Core containers
  • 34. © 2020, Amazon Web Services, Inc. or its Affiliates. Windows Base Images Windows Server Core Nano Server Windows (full) docker pull mcr.microsoft.com/windows/nanoserver:2004 docker pull mcr.microsoft.com/windows/servercore:2004 docker pull mcr.microsoft.com/windows:2004
  • 35. © 2020, Amazon Web Services, Inc. or its Affiliates. Windows Server Core ‱Minimal installation of Windows Server 2016/2019 ‱Windows PowerShell ‱.NET Core & .NET Framework ‱No Windows Shell Desktop ‱Great for migrating existing Windows applications to containers
  • 36. © 2020, Amazon Web Services, Inc. or its Affiliates. Nano Server ‱Smallest base layer available for Windows ‱Only 64-bit applications ‱Headless; no local logon or GUI ‱No graphical applications ‱.NET Core ‱Only PowerShell Core is available ‱PowerShell Core not included by default (version 1709 onwards)
  • 37. © 2020, Amazon Web Services, Inc. or its Affiliates. .NET Application Migration Target VM or Container ? .NET Framework or .NET Core ? AWS Managed or Self-Managed ? Target Serverless Functions ?.NET Core Yes No Container Yes VM .NET Framework Amazo n EC2 Choose AWS Lambda No Orchestration by Kubernetes ? N o Amazon EC2 hosting Docker with Windows Container Yes Amazon EKS hosting managed Windows Container Amazon ECS hosting managed Windows Container VM or Containers ? Yes No Serverless Containers ? Orchestration by Kubernetes ? Orchestration by Kubernetes ? Amazon ECS hosting managed Linux Container Amazon EKS hosting managed Linux Container AWS Fargate with ECS Managed Linux container Yes VM No No No No Yes Yes Migrating .NET workloads to AWS Rehost Replatfor m Refactor Linux or Windows ? Windows Linux AWS Elastic Beanstalk managed EC2 with Linux AWS Elastic Beanstalk managed EC2 with Windows AWS Fargate with EKS Managed Linux container AWS Managed or Self-Managed?
  • 38. © 2020, Amazon Web Services, Inc. or its Affiliates. Porting Assistant for .NET : https://aws.amazon.com/blogs/aws/announcing-the-porting- assistant-for-net/ App2Container : https://aws.amazon.com/app2container/ Couple of recent AWS launches to help bring you apps to AWS
  • 39. © 2020, Amazon Web Services, Inc. or its Affiliates. Typical App Journey (Migrate + Modernize)
  • 40. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. API DB WEBStorage Identity Active Directory SAN Typical Application Journey
  • 41. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. API DB WEBStorage Identity Active Directory Instances Instances Auto Scaling Auto Scaling Monitor Amazon CloudWatch RDS DB instance RDSDB standby Availability Zone Availability Zone Amazon VPC
  • 42. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. API DB WEBStorage Identity Instances Auto Scaling Auto Scaling Monitor Amazon CloudWatch RDS DB instance RDSDB standby Availability Zone Availability Zone Web Bucket AWS Directory Service IAM Amazon S3 Amazon VPC Distribution
  • 43. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. API DB WEBStorage Identity Monitor Amazon CloudWatch RDS DB instance RDSDB standby Availability Zone Availability Zone AWS Directory Service IAM Amazon S3 Web Bucket Distribution LambdaAPI Gateway SQS Queue SNS Topic
  • 44. © 2019, Amazon Web Services, Inc. or its Affiliates. AWS service rainbow ESB
  • 45. © 2020, Amazon Web Services, Inc. or its Affiliates. Other AWS Services of Interest PowerShell support throughout Systems Manager Monitoring, insights into deployed code Extension libs to publish logs to CloudWatch High-level SDK libraries Amazon DynamoDB AWS Systems Manager Amazon Cognito AWS X-Ray Amazon CloudWatch Amazon RDS Amazon SageMaker AWS Step Functions AWS Batch
  • 46. Oracle DB2 SQL Server MySQL PostgreSQL DynamoDB Redis Neptune Cassandra Aurora 1970 1980 1990 2000 2010 MongoDB Elasticsearch Amazon Redshift Evolution of databases Edgar Frank Codd – 1970 The Relational Model for Databases As of today, DB-Engines is tracking 340+ databases
  • 47. Common data categories and use cases Relational Referential integrity, ACID transactions, schema- on-write Lift and shift, ERP, CRM, finance Key-value High throughput, low- latency reads and writes, endless scale Real-time bidding, shopping cart, social, product catalog, customer preferences Document Store documents and quickly access querying on any attribute Content management, personalization, mobile In-memory Query by key with microsecond latency Leaderboards, real-time analytics, caching Graph Quickly and easily create and navigate relationships between data Fraud detection, social networking, recommendation engine Time-series Collect, store, and process data sequenced by time IoT applications, event tracking Ledger Complete, immutable, and verifiable history of all changes to application data Systems of record, supply chain, health care, registrations, financial Aurora, RDS DynamoDB DocumentDB ElastiCache Neptune Timestream QLDB AWS Service(s) Common Use Cases
  • 48. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates. Modern Applications ‱ Use independently scalable microservices (serverless, containers...) ‱ Connect through APIs ‱ Deliver updates continuously ‱ Adapt quickly to change ‱ Scale globally ‱ Are fault tolerant ‱ Carefully mange state and persistence ‱ Have security built-in
  • 49. © 2020, Amazon Web Services, Inc. or its Affiliates. releasetestbuild releasetestbuild Microservices - Focused agile teams – End to end ownership, COE 2-pizza team delivery pipeline service releasetestbuild releasetestbuild releasetestbuild releasetestbuild
  • 50. Secure Development Environments in AWS CI/CD Tools Monitoring & Tracing SDKs IDE IDE and DevOps Toolkits CLI and Scripting Tools Infrastructure as Code AWS Cloud Dev. Kit (CDK) Web Apps Mobile AWS Amplify Amazon Corretto Languages
  • 52. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Help validate code quality and function repeatedly with predefined results Lots of options: self hosted, open source, closed source, and SaaS Monitoring, testing, validation Plugins Continuous Integration / Continuous Delivery CodeCommit
  • 53. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Different aspects of .NET App Development ‱ Authentication ‱ Encryption ‱ Tracing ‱ Caching ‱ 

  • 54. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Getting started with the CDK Prerequisites ‱ .NET Framework 4.6.1 or .NET Core 3.1 ‱ NodeJs 10.3+ ‱ CDK (npm install –g aws-cdk) Create your CDK project C:Projects>mkdir my-project C:Projectsmy-project>cd my-project C:Projectsmy-project>cdk init app --language csharp C:Projectsmy-project>dotnet add package Amazon.CDK.AWS.S3 C:Projectsmy-project>cdk deploy MyProjectStack: deploying... MyProjectStack: creating CloudFormation changeset... MyProjectStack: deploying... << CloudFormation events will appear... >> Stack ARN: arn:aws:cloudformation:us-east-1:982831078337:stack/MyProjectStack/10228520-b171-11ea-9bf3-1271b8f35690
  • 55. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. CDK Example: Create an S3 Bucket using Amazon.CDK; using Amazon.CDK.AWS.S3; namespace MyProject { public class MyProjectStack : Stack { internal MyProjectStack(Construct scope, string id, IStackProps props = null) : base(scope, id, props) { new Bucket(this, "S3Bucket", new BucketProps { BucketName = "myuniquebucketname", PublicReadAccess = false, RemovalPolicy = RemovalPolicy.DESTROY // NOT recommended for production code }); } } }
  • 56. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. How it works
  • 57. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Usage example using Amazon.XRay.Recorder.Handlers.AwsSdk; using Amazon.XRay.Recorder.Handlers.SqlServer; public void Configure(IApplicationBuilder app, IHostingEnvironment env) { AWSSDKHandler.RegisterXRayForAllServices(); app.UseXRay("SampleApp"); // name of the app // rest of app configuration } public void RunSqlQuery(string connectionString) { using (var connection = new SqlConnection(connectionString)) { var query = "SELECT * FROM Products FOR XML AUTO, ELEMENTS"; var command = new TraceableSqlCommand(query, connection); command.Connection.Open(); await command.ExecuteXmlReaderAsync(); } } Capture AWS service calls Capture incoming API calls Capture SQL query
  • 58. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Service map RDS database DynamoDb table ECS Cluster SNS SQS API Gateway Lambda function S3 bucket
  • 59. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Assuming Role Using AWS SDK for .NET
  • 60. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Encrypting with AWS KMS
  • 61. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Decrypting with AWS KMS If the ciphertext blob or the encryption context is changed, requests to decrypt the data will fail
  • 62. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Using Amazon ElastiCache with Microsoft RedisSessionStateProvider ‱ In the ASP.NET project, Update “RedisSessionStateProvider” configuration in the “web.config” file. Update the “host” with the cluster endpoint address. <sessionState mode="Custom" customProvider="MySessionStateStore"> <providers> <add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host=“<Endpoint_Address>" accessKey="" ssl="false" /> </providers> </sessionState>
  • 63. © 2020, Amazon Web Services, Inc. or its Affiliates. The AWS Machine Learning Stack Broadest and most complete set of ML capabilities VISION SPEECH TEXT SEARCH CHATBOTS PERSONALIZATION FORECASTING FRAUD DEVELOPMENT CONTACT CENTERS Ground Truth AWS Marketplace for ML Neo Augmented AIBuilt-in algorithms Notebooks Experiments Processing Model training & tuning Debugger Autopilot Model hosting Model Monitor Deep Learning AMIs & Containers GPUs & CPUs Elastic Inference Inferentia FPGA Amazon Rekognition Amazon Polly Amazon Transcribe +Medical Amazon Comprehend +Medical Amazon Translate Amazon Lex Amazon Personalize Amazon Forecast Amazon Fraud Detector Amazon CodeGuru AI SERVICES ML SERVICES ML FRAMEWORKS & INFRASTRUCTURE Amazon Textract Amazon Kendra Contact Lens For Amazon Connect SageMaker Studio IDE Amazon SageMaker DeepGraphLibrary
  • 64. © 2020, Amazon Web Services, Inc. or its Affiliates. ‱ Image and Video Analysis: Amazon Rekognition ‱ Document Translation: Amazon Translate ‱ Speech to Text: Amazon Transcribe ‱ Text to Speech: Amazon Polly ‱ Sentiment Analysis and NLP: Amazon Comprehend ‱ Chatbots: Amazon Lex
  • 65. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS SDK for .NET – Common Pattern for Calling Services
  • 66. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon Rekognition – AWS SDK for .NET Detect real-world entities in an image [Console output] Car with confidence 99% Vehicle with confidence 99% Automobile with confidence 99% Transportation with confidence 99% Sedan with confidence 98% Bumper with confidence 91% Suv with confidence 67% Parking Lot with confidence 64% Parking with confidence 64% Coupe with confidence 57% Sports Car with confidence 57%
  • 67. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon Translate – AWS SDK for .NET [Console output] Hola, ÂżcĂłmo estĂĄs?
  • 68. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon Transcribe – AWS SDK for .NET
  • 69. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon Polly – AWS SDK for .NET
  • 70. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. The Value of .NET / Windows Workloads on AWS Lower Cost/TCOBetter PerformanceGreater Reliability More ExperienceMore InnovationGreater Security .NET/Windows on AWS o AWS provides nearly 2x the number of regions with multiple availability zones vs next cloud provider o In 2018, the next cloud provider had 7x more downtime hours than AWS o AWS has a 2X-3X performance advantage running SQL Server, including storage, compute and networking vs next cloud provider o AWS has at least 2x better price, performance running SQL vs next cloud provider o AWS offers 210 security, compliance, and governance services which is ~40 more than next provider. o AWS supports 89 security standards and compliance certify which is meaningfully more than any other cloud provider. o AWS helps lower their overall Windows Server costs with a comprehensive family of EC2 instances and pricing models o Over the past several years, AWS has reduced pricing 77 times o 56% lower TCO over 5 years o AWS includes 48 services where comparable options are simply not available in next cloud provider o AWS offer innovative options to run managed AD, and managed SQL and has robust license mgmt. and DevOps capabilities o AWS has unmatched experience over the last 11 years deploying Microsoft workloads o Recognized by IDC as the most extensive library of cases covering thousands of successful migrations o Ability to execute
  • 71. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. Useful Links AWS .NET homepage https://aws.amazon.com/net Open source .NET tools homepage https://github.com/aws/dotnet Developing and Deploying .NET Applications on AWS Whitepaper https://bit.ly/2QCznmJ Step Functions https://amzn.to/2O8iChC AWS Lambda Layers with .NET Core https://amzn.to/2rhbx5a