net on aws · © 2018, amazon web services, inc. or its affiliates. all rights reserved..net 5...
TRANSCRIPT
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
.NET on AWS
Kirk Davis
Specialized Solutions Architect
April 2020
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
“.NET Core is the Future of .NET”
“.NET Framework 4.8 will be the last major version of .NET Framework”
“…all *new* .NET applications should be based on .NET Core”
“All future investment in .NET will be in .NET Core”
- Scott Hunter, Director Program Management for .NET, Microsoft
.NET Core Release schedule and naming:
.NET Core 3.1 December, 2019 Currently GA
.NET 5.0 November, 2020 Maintenance/Service
.NET 6.0 November, 2021 Long-Term Support (LTS)
.NET 7.0 November, 2022 Maintenance/Service
https://devblogs.microsoft.com/dotnet/net-core-is-the-future-of-net/ May 2019
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
.NET 5 – Unified platform, many targets
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
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!
ab
stra
ctio
n
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Toolkits for .NET IDEs
AWS Toolkit for Visual Studio
AWS Toolkit for VS Code
AWS Toolkit for JetBrains Rider
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Tools & SDKs for .NET and Windows
AWS CLICommand line
AWS Tools for PowerShellPowerShell
AWS SDK for .NETNuGet
AWS Tools for VSTSAzure DevOps
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS SDK for .NET
.NET assemblies make it easy to program against the AWS APIs.
.NET Standard API:
.NET Framework 3.5 and later
.NET Core 2.x, 3.x, etc
Install packages with NuGet
SDK packages are named AWSSDK.* Other useful packages at Amazon.* and AWS.*
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS SDK for .NET
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Patterns for .NET Coding for AWS Services
Using the low-level APIs:
Create a service-specific client.var client = new AmazonS3Client(…)
Create action-specific request.var request = new PutBucketRequest(…)
Invoke client method, passing request and receiving responsevar response = await client.PutBucketAsync(request)
High-level Abstractions & Utilities:
S3 TransferUtility – copy large files and entire folders to/from S3
DynamoDB Object Model – automatically store POCOs to DynamoDB
Logger Packages – ILogger implementations
DynamoDB Session Provider – ASP.NET Session to DynamoDB
© 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!
© 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.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Toolkit for Visual Studio
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Toolkit for Visual Studio Code
Create, deploy and
invoke new SAM
serverless apps
View, delete and get
information on AWS
CloudFormation
Stacks
Invoke, delete and get
information on AWS
Lambda functions
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Tools for Azure DevOps & TFS
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Tools for PowerShell & PowerShell Core
Manage AWS Resources and
Services from PowerShell
Perform many of the same
actions available in the AWS
SDK for .NET
Use scripts to automate
administrative tasks, and
take advantage of the range
of AWS services
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Elastic Beanstalk (EB)
Easily deploy, monitor, and scale three-tier web
applications and services.
Infrastructure provisioned and managed by EB – but you
maintain complete control.
Preconfigured application stacks that are easily
customizable.
Support for:
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Elastic Beanstalk
Your code
IIS Web Server
ASP.NET / App Pool
.NET Framework
Windows Server
Host
Elastic Beanstalk configures
each EC2 instance in your
environment with the
components necessary to run
applications for the selected
platform. No more worrying
about logging into instances to
install and configure you
application stack.
Focus on building
your application
Provided by you
Provided and managed by AWS Elastic Beanstalk (EB)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
.NET Framework Migration Strategies
Deploy .NET Framework apps “as is” to EC2 Every app can have custom server configuration, different .NET
Framework versions, IIS configuration, dependencies, etc.
Containerize in Windows Containers and orchestrate with ECS Supports different .NET Framework versions, IIS configurations,
dependencies
Leverage common CI/CD pipelines, consolidate servers
Port to .NET Core, and run in ECS, Fargate or Lambda No OS licensing costs, smaller containers
Enables deploying apps to Lambda
Le
ve
l of E
ffort
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
More Resources
AWS .NET Developer Centeraws.amazon.com/net/
AWS .NET Developer Blogaws.amazon.com/blogs/developer/category/programing-language/dot-net/
AWS Extensions for dotnet CLIgithub.com/aws/aws-extensions-for-dotnet-cli