SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Developing serverless applications
with .NET using AWS SDK & tools
Steve Roberts
Senior Technical Evangelist
Amazon Web Services
M A D 3 1 1
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
What is CloudMosaic?
+ =
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
What does the application illustrate?
• Developing modern, serverless .NET applications on AWS
• Using the AWS SDK and tools for .NET to work with AWS services
• AWS Lambda
• AWS Batch
• AWS Step Functions
• Amazon DynamoDB
• Amazon Cognito
• AWS Systems Manager
• Deploying to services using the tools that you are familiar with
• AWS Toolkit for Visual Studio
• AWS extensions for the dotnet CLI
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Overall architecture
Tile gallery
Tile data
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
What does tile ingestion do?
• It accepts a user’s .zip file that contains multiple images
• The .zip file is unpacked, and each image is analyzed to determine the average
color
• Each image is then resized and saved as a tile in a named gallery
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
How tile ingestion works
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Why did we choose AWS Batch?
• To take advantage of serverless
It manages the compute capacity for us
• Work can be queued for
asynchronous processing
Tile creation is not a time-critical task
• Cost savings
• No charge for idle compute environments
• Ability to use Amazon EC2 spot instances
Spot
instance(s)
On-demand
instance(s)
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Tile gallery ingestion review
• Using dead-letter queues (DLQs) to help detect and diagnose failures
• Using the AWS .NET Mock Lambda Test Tool to replay and debug failed events
in a DLQ
• Using AWS Batch
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
What does the mosaic rendering workflow do?
• Accepts an image file from the user plus the name of a tile gallery
• Analyzes the image against the tile data in the gallery
• Builds a new mosaic image using the matched tiles
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
How mosaic rendering works
Select
tiles
(F#)
Small
render
Medium
render
Large
render
Completion
notification
Color
map
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Mosaic rendering workflow review
• How to use AWS Step Functions to orchestrate a workflow
• Deploying multiple projects with a single serverless template
• Using the dotnet lambda CLI global tool to deploy
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
What is the web front end responsible for?
• Allowing user registration and authentication
• Enabling signed-in users to
• Create new tile galleries
• Upload an image to create a mosaic
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
How the front end works
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Web front end review
• Using high-level libraries from AWS to handle
• Identity
• Data protection (anti-forgery tokens)
• Application configuration at runtime
• Calling AWS Batch and AWS Step Functions from application code
• Deploying containers to AWS Fargate from Visual Studio
Can also use the dotnet ecs CLI tool
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Select
tiles
(F#)
Small
Medium
Large
NotifyMap
colors
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Useful links
AWS .NET blog: https://aws.amazon.com/blogs/developer/tag/net/
AWS .NET Twitter handle: @awsfornet
GitHub
AWS .NET home: https://github.com/aws/dotnet
AWS SDK for .NET: https://github.com/aws/aws-sdk-net
AWS Lambda for .NET Core: https://github.com/aws/aws-lambda-dotnet
AWS .NET Global Tools: https://github.com/aws/aws-extensions-for-dotnet-cli
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Additional extension libraries on GitHub
ASP.NET Core identity provider for Amazon Cognito:
https://github.com/aws/aws-aspnet-cognito-identity-provider
IConfiguration provider for AWS Systems Manager Parameter Store:
https://github.com/aws/aws-dotnet-extensions-configuration
ASP.NET Core DataProtection provider for AWS Systems Manager:
https://github.com/aws/aws-ssm-data-protection-provider-for-aspnet
Thank you!
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Steve Roberts
Twitter: @bellevuesteve

Weitere ähnliche Inhalte

Was ist angesagt?

Searching for patterns: Log analytics using Amazon ES - ADB205 - New York AWS...
Searching for patterns: Log analytics using Amazon ES - ADB205 - New York AWS...Searching for patterns: Log analytics using Amazon ES - ADB205 - New York AWS...
Searching for patterns: Log analytics using Amazon ES - ADB205 - New York AWS...Amazon Web Services
 
AWS storage solutions for business-critical applications - STG301 - Chicago A...
AWS storage solutions for business-critical applications - STG301 - Chicago A...AWS storage solutions for business-critical applications - STG301 - Chicago A...
AWS storage solutions for business-critical applications - STG301 - Chicago A...Amazon Web Services
 
Build accurate training datasets with Amazon SageMaker Ground Truth - AIM305 ...
Build accurate training datasets with Amazon SageMaker Ground Truth - AIM305 ...Build accurate training datasets with Amazon SageMaker Ground Truth - AIM305 ...
Build accurate training datasets with Amazon SageMaker Ground Truth - AIM305 ...Amazon Web Services
 
Drive innovation in Financial Services with Amazon EC2 - CMP204 - New York AW...
Drive innovation in Financial Services with Amazon EC2 - CMP204 - New York AW...Drive innovation in Financial Services with Amazon EC2 - CMP204 - New York AW...
Drive innovation in Financial Services with Amazon EC2 - CMP204 - New York AW...Amazon Web Services
 
[NEW LAUNCH] Introducing AWS Deep Learning Containers
[NEW LAUNCH] Introducing AWS Deep Learning Containers[NEW LAUNCH] Introducing AWS Deep Learning Containers
[NEW LAUNCH] Introducing AWS Deep Learning ContainersAmazon Web Services
 
Why AWS for running Microsoft workloads - CMP202-I - New York AWS Summit
Why AWS for running Microsoft workloads - CMP202-I - New York AWS SummitWhy AWS for running Microsoft workloads - CMP202-I - New York AWS Summit
Why AWS for running Microsoft workloads - CMP202-I - New York AWS SummitAmazon Web Services
 
Open by design: Accelerating the enterprise cloud journey - DEM01-S - New Yor...
Open by design: Accelerating the enterprise cloud journey - DEM01-S - New Yor...Open by design: Accelerating the enterprise cloud journey - DEM01-S - New Yor...
Open by design: Accelerating the enterprise cloud journey - DEM01-S - New Yor...Amazon Web Services
 
Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AW...
Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AW...Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AW...
Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AW...Amazon Web Services
 
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...Amazon Web Services
 
Building ML platforms in Financial Services with serverless technology - FSV2...
Building ML platforms in Financial Services with serverless technology - FSV2...Building ML platforms in Financial Services with serverless technology - FSV2...
Building ML platforms in Financial Services with serverless technology - FSV2...Amazon Web Services
 
Tech deep dive: Cloud data management with Veeam and AWS - SVC216-S - New Yor...
Tech deep dive: Cloud data management with Veeam and AWS - SVC216-S - New Yor...Tech deep dive: Cloud data management with Veeam and AWS - SVC216-S - New Yor...
Tech deep dive: Cloud data management with Veeam and AWS - SVC216-S - New Yor...Amazon Web Services
 
Building AR/VR apps with AWS - SVC201 - Santa Clara AWS Summit.pdf
Building AR/VR apps with AWS - SVC201 - Santa Clara AWS Summit.pdfBuilding AR/VR apps with AWS - SVC201 - Santa Clara AWS Summit.pdf
Building AR/VR apps with AWS - SVC201 - Santa Clara AWS Summit.pdfAmazon Web Services
 
Studio in the Cloud: Producing Content on AWS - CMP202 - Anaheim AWS Summit
Studio in the Cloud: Producing Content on AWS - CMP202 - Anaheim AWS SummitStudio in the Cloud: Producing Content on AWS - CMP202 - Anaheim AWS Summit
Studio in the Cloud: Producing Content on AWS - CMP202 - Anaheim AWS SummitAmazon Web Services
 
Optimize deep learning training and inferencing using GPU and Amazon SageMake...
Optimize deep learning training and inferencing using GPU and Amazon SageMake...Optimize deep learning training and inferencing using GPU and Amazon SageMake...
Optimize deep learning training and inferencing using GPU and Amazon SageMake...Amazon Web Services
 
CI/CD best practices for building modern applications - MAD310 - New York AWS...
CI/CD best practices for building modern applications - MAD310 - New York AWS...CI/CD best practices for building modern applications - MAD310 - New York AWS...
CI/CD best practices for building modern applications - MAD310 - New York AWS...Amazon Web Services
 
Get hands-on with AWS DeepRacer and compete in the AWS DeepRacer League - AIM...
Get hands-on with AWS DeepRacer and compete in the AWS DeepRacer League - AIM...Get hands-on with AWS DeepRacer and compete in the AWS DeepRacer League - AIM...
Get hands-on with AWS DeepRacer and compete in the AWS DeepRacer League - AIM...Amazon Web Services
 
Amazon Redshift tips and tricks - Scaling storage and compute - ADB301 - Sant...
Amazon Redshift tips and tricks - Scaling storage and compute - ADB301 - Sant...Amazon Redshift tips and tricks - Scaling storage and compute - ADB301 - Sant...
Amazon Redshift tips and tricks - Scaling storage and compute - ADB301 - Sant...Amazon Web Services
 
Introduction to AWS App Mesh - MAD303 - Atlanta AWS Summit
Introduction to AWS App Mesh - MAD303 - Atlanta AWS SummitIntroduction to AWS App Mesh - MAD303 - Atlanta AWS Summit
Introduction to AWS App Mesh - MAD303 - Atlanta AWS SummitAmazon Web Services
 
Software delivery best practices: Lessons from Amazon and our customers - MAD...
Software delivery best practices: Lessons from Amazon and our customers - MAD...Software delivery best practices: Lessons from Amazon and our customers - MAD...
Software delivery best practices: Lessons from Amazon and our customers - MAD...Amazon Web Services
 

Was ist angesagt? (20)

Searching for patterns: Log analytics using Amazon ES - ADB205 - New York AWS...
Searching for patterns: Log analytics using Amazon ES - ADB205 - New York AWS...Searching for patterns: Log analytics using Amazon ES - ADB205 - New York AWS...
Searching for patterns: Log analytics using Amazon ES - ADB205 - New York AWS...
 
AWS storage solutions for business-critical applications - STG301 - Chicago A...
AWS storage solutions for business-critical applications - STG301 - Chicago A...AWS storage solutions for business-critical applications - STG301 - Chicago A...
AWS storage solutions for business-critical applications - STG301 - Chicago A...
 
Build accurate training datasets with Amazon SageMaker Ground Truth - AIM305 ...
Build accurate training datasets with Amazon SageMaker Ground Truth - AIM305 ...Build accurate training datasets with Amazon SageMaker Ground Truth - AIM305 ...
Build accurate training datasets with Amazon SageMaker Ground Truth - AIM305 ...
 
Drive innovation in Financial Services with Amazon EC2 - CMP204 - New York AW...
Drive innovation in Financial Services with Amazon EC2 - CMP204 - New York AW...Drive innovation in Financial Services with Amazon EC2 - CMP204 - New York AW...
Drive innovation in Financial Services with Amazon EC2 - CMP204 - New York AW...
 
[NEW LAUNCH] Introducing AWS Deep Learning Containers
[NEW LAUNCH] Introducing AWS Deep Learning Containers[NEW LAUNCH] Introducing AWS Deep Learning Containers
[NEW LAUNCH] Introducing AWS Deep Learning Containers
 
Why AWS for running Microsoft workloads - CMP202-I - New York AWS Summit
Why AWS for running Microsoft workloads - CMP202-I - New York AWS SummitWhy AWS for running Microsoft workloads - CMP202-I - New York AWS Summit
Why AWS for running Microsoft workloads - CMP202-I - New York AWS Summit
 
HK-AWS-Quick-Start-Workshop
HK-AWS-Quick-Start-WorkshopHK-AWS-Quick-Start-Workshop
HK-AWS-Quick-Start-Workshop
 
Open by design: Accelerating the enterprise cloud journey - DEM01-S - New Yor...
Open by design: Accelerating the enterprise cloud journey - DEM01-S - New Yor...Open by design: Accelerating the enterprise cloud journey - DEM01-S - New Yor...
Open by design: Accelerating the enterprise cloud journey - DEM01-S - New Yor...
 
Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AW...
Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AW...Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AW...
Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AW...
 
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...
 
Building ML platforms in Financial Services with serverless technology - FSV2...
Building ML platforms in Financial Services with serverless technology - FSV2...Building ML platforms in Financial Services with serverless technology - FSV2...
Building ML platforms in Financial Services with serverless technology - FSV2...
 
Tech deep dive: Cloud data management with Veeam and AWS - SVC216-S - New Yor...
Tech deep dive: Cloud data management with Veeam and AWS - SVC216-S - New Yor...Tech deep dive: Cloud data management with Veeam and AWS - SVC216-S - New Yor...
Tech deep dive: Cloud data management with Veeam and AWS - SVC216-S - New Yor...
 
Building AR/VR apps with AWS - SVC201 - Santa Clara AWS Summit.pdf
Building AR/VR apps with AWS - SVC201 - Santa Clara AWS Summit.pdfBuilding AR/VR apps with AWS - SVC201 - Santa Clara AWS Summit.pdf
Building AR/VR apps with AWS - SVC201 - Santa Clara AWS Summit.pdf
 
Studio in the Cloud: Producing Content on AWS - CMP202 - Anaheim AWS Summit
Studio in the Cloud: Producing Content on AWS - CMP202 - Anaheim AWS SummitStudio in the Cloud: Producing Content on AWS - CMP202 - Anaheim AWS Summit
Studio in the Cloud: Producing Content on AWS - CMP202 - Anaheim AWS Summit
 
Optimize deep learning training and inferencing using GPU and Amazon SageMake...
Optimize deep learning training and inferencing using GPU and Amazon SageMake...Optimize deep learning training and inferencing using GPU and Amazon SageMake...
Optimize deep learning training and inferencing using GPU and Amazon SageMake...
 
CI/CD best practices for building modern applications - MAD310 - New York AWS...
CI/CD best practices for building modern applications - MAD310 - New York AWS...CI/CD best practices for building modern applications - MAD310 - New York AWS...
CI/CD best practices for building modern applications - MAD310 - New York AWS...
 
Get hands-on with AWS DeepRacer and compete in the AWS DeepRacer League - AIM...
Get hands-on with AWS DeepRacer and compete in the AWS DeepRacer League - AIM...Get hands-on with AWS DeepRacer and compete in the AWS DeepRacer League - AIM...
Get hands-on with AWS DeepRacer and compete in the AWS DeepRacer League - AIM...
 
Amazon Redshift tips and tricks - Scaling storage and compute - ADB301 - Sant...
Amazon Redshift tips and tricks - Scaling storage and compute - ADB301 - Sant...Amazon Redshift tips and tricks - Scaling storage and compute - ADB301 - Sant...
Amazon Redshift tips and tricks - Scaling storage and compute - ADB301 - Sant...
 
Introduction to AWS App Mesh - MAD303 - Atlanta AWS Summit
Introduction to AWS App Mesh - MAD303 - Atlanta AWS SummitIntroduction to AWS App Mesh - MAD303 - Atlanta AWS Summit
Introduction to AWS App Mesh - MAD303 - Atlanta AWS Summit
 
Software delivery best practices: Lessons from Amazon and our customers - MAD...
Software delivery best practices: Lessons from Amazon and our customers - MAD...Software delivery best practices: Lessons from Amazon and our customers - MAD...
Software delivery best practices: Lessons from Amazon and our customers - MAD...
 

Ähnlich wie Developing serverless applications with .NET using AWS SDK & tools - MAD311 - New York AWS Summit

Developing with .NET Core on AWS - What's new - MAD306 - Santa Clara AWS Summit
Developing with .NET Core on AWS - What's new - MAD306 - Santa Clara AWS SummitDeveloping with .NET Core on AWS - What's new - MAD306 - Santa Clara AWS Summit
Developing with .NET Core on AWS - What's new - MAD306 - Santa Clara AWS SummitAmazon Web Services
 
Enable Agile Development with Amazon Linux WorkSpaces and WorkLink - SVC203 -...
Enable Agile Development with Amazon Linux WorkSpaces and WorkLink - SVC203 -...Enable Agile Development with Amazon Linux WorkSpaces and WorkLink - SVC203 -...
Enable Agile Development with Amazon Linux WorkSpaces and WorkLink - SVC203 -...Amazon Web Services
 
Serverless data prep with AWS Glue - ADB306 - New York AWS Summit
Serverless data prep with AWS Glue - ADB306 - New York AWS SummitServerless data prep with AWS Glue - ADB306 - New York AWS Summit
Serverless data prep with AWS Glue - ADB306 - New York AWS SummitAmazon Web Services
 
Well Archictecture Framework dotNET.pdf
Well Archictecture Framework dotNET.pdfWell Archictecture Framework dotNET.pdf
Well Archictecture Framework dotNET.pdfConradoDeBiasi
 
Boost your AWS Infrastructure with CDK
Boost your AWS Infrastructure with CDKBoost your AWS Infrastructure with CDK
Boost your AWS Infrastructure with CDKphilippgarbe
 
Developing with .NET Core on AWS: What's New (DEV318-R1) - AWS re:Invent 2018
Developing with .NET Core on AWS: What's New (DEV318-R1) - AWS re:Invent 2018Developing with .NET Core on AWS: What's New (DEV318-R1) - AWS re:Invent 2018
Developing with .NET Core on AWS: What's New (DEV318-R1) - AWS re:Invent 2018Amazon Web Services
 
Breaking Up the Monolith with Containers
Breaking Up the Monolith with ContainersBreaking Up the Monolith with Containers
Breaking Up the Monolith with ContainersAmazon Web Services
 
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...Amazon Web Services
 
DevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayDevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayAmazon Web Services
 
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...Amazon Web Services
 
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...Amazon Web Services
 
Favorire l'innovazione passando da applicazioni monolitiche ad architetture m...
Favorire l'innovazione passando da applicazioni monolitiche ad architetture m...Favorire l'innovazione passando da applicazioni monolitiche ad architetture m...
Favorire l'innovazione passando da applicazioni monolitiche ad architetture m...Amazon Web Services
 
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...CI/CD best practices for building modern applications - MAD301 - Santa Clara ...
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...Amazon Web Services
 
CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019
CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019
CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019Bhuvaneswari Subramani
 
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...Amazon Web Services
 
Move desktops & applications to AWS with Amazon WorkSpaces & AppStream 2.0 - ...
Move desktops & applications to AWS with Amazon WorkSpaces & AppStream 2.0 - ...Move desktops & applications to AWS with Amazon WorkSpaces & AppStream 2.0 - ...
Move desktops & applications to AWS with Amazon WorkSpaces & AppStream 2.0 - ...Amazon Web Services
 
Twelve-factor serverless applications - MAD302 - Santa Clara AWS Summit
Twelve-factor serverless applications - MAD302 - Santa Clara AWS SummitTwelve-factor serverless applications - MAD302 - Santa Clara AWS Summit
Twelve-factor serverless applications - MAD302 - Santa Clara AWS SummitAmazon Web Services
 
Modern Applications Development on AWS
Modern Applications Development on AWSModern Applications Development on AWS
Modern Applications Development on AWSBoaz Ziniman
 
Running Amazon Elastic Compute Cloud (Amazon EC2) workloads at scale - CMP202...
Running Amazon Elastic Compute Cloud (Amazon EC2) workloads at scale - CMP202...Running Amazon Elastic Compute Cloud (Amazon EC2) workloads at scale - CMP202...
Running Amazon Elastic Compute Cloud (Amazon EC2) workloads at scale - CMP202...Amazon Web Services
 

Ähnlich wie Developing serverless applications with .NET using AWS SDK & tools - MAD311 - New York AWS Summit (20)

Developing with .NET Core on AWS - What's new - MAD306 - Santa Clara AWS Summit
Developing with .NET Core on AWS - What's new - MAD306 - Santa Clara AWS SummitDeveloping with .NET Core on AWS - What's new - MAD306 - Santa Clara AWS Summit
Developing with .NET Core on AWS - What's new - MAD306 - Santa Clara AWS Summit
 
Enable Agile Development with Amazon Linux WorkSpaces and WorkLink - SVC203 -...
Enable Agile Development with Amazon Linux WorkSpaces and WorkLink - SVC203 -...Enable Agile Development with Amazon Linux WorkSpaces and WorkLink - SVC203 -...
Enable Agile Development with Amazon Linux WorkSpaces and WorkLink - SVC203 -...
 
Serverless data prep with AWS Glue - ADB306 - New York AWS Summit
Serverless data prep with AWS Glue - ADB306 - New York AWS SummitServerless data prep with AWS Glue - ADB306 - New York AWS Summit
Serverless data prep with AWS Glue - ADB306 - New York AWS Summit
 
Well Archictecture Framework dotNET.pdf
Well Archictecture Framework dotNET.pdfWell Archictecture Framework dotNET.pdf
Well Archictecture Framework dotNET.pdf
 
Boost your AWS Infrastructure with CDK
Boost your AWS Infrastructure with CDKBoost your AWS Infrastructure with CDK
Boost your AWS Infrastructure with CDK
 
Developing with .NET Core on AWS: What's New (DEV318-R1) - AWS re:Invent 2018
Developing with .NET Core on AWS: What's New (DEV318-R1) - AWS re:Invent 2018Developing with .NET Core on AWS: What's New (DEV318-R1) - AWS re:Invent 2018
Developing with .NET Core on AWS: What's New (DEV318-R1) - AWS re:Invent 2018
 
Breaking Up the Monolith with Containers
Breaking Up the Monolith with ContainersBreaking Up the Monolith with Containers
Breaking Up the Monolith with Containers
 
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...
 
DevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayDevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon Way
 
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
 
.NET on AWS
.NET on AWS.NET on AWS
.NET on AWS
 
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...
 
Favorire l'innovazione passando da applicazioni monolitiche ad architetture m...
Favorire l'innovazione passando da applicazioni monolitiche ad architetture m...Favorire l'innovazione passando da applicazioni monolitiche ad architetture m...
Favorire l'innovazione passando da applicazioni monolitiche ad architetture m...
 
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...CI/CD best practices for building modern applications - MAD301 - Santa Clara ...
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...
 
CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019
CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019
CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019
 
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
 
Move desktops & applications to AWS with Amazon WorkSpaces & AppStream 2.0 - ...
Move desktops & applications to AWS with Amazon WorkSpaces & AppStream 2.0 - ...Move desktops & applications to AWS with Amazon WorkSpaces & AppStream 2.0 - ...
Move desktops & applications to AWS with Amazon WorkSpaces & AppStream 2.0 - ...
 
Twelve-factor serverless applications - MAD302 - Santa Clara AWS Summit
Twelve-factor serverless applications - MAD302 - Santa Clara AWS SummitTwelve-factor serverless applications - MAD302 - Santa Clara AWS Summit
Twelve-factor serverless applications - MAD302 - Santa Clara AWS Summit
 
Modern Applications Development on AWS
Modern Applications Development on AWSModern Applications Development on AWS
Modern Applications Development on AWS
 
Running Amazon Elastic Compute Cloud (Amazon EC2) workloads at scale - CMP202...
Running Amazon Elastic Compute Cloud (Amazon EC2) workloads at scale - CMP202...Running Amazon Elastic Compute Cloud (Amazon EC2) workloads at scale - CMP202...
Running Amazon Elastic Compute Cloud (Amazon EC2) workloads at scale - CMP202...
 

Mehr von Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Mehr von Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Developing serverless applications with .NET using AWS SDK & tools - MAD311 - New York AWS Summit

  • 1. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Developing serverless applications with .NET using AWS SDK & tools Steve Roberts Senior Technical Evangelist Amazon Web Services M A D 3 1 1
  • 2. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T What is CloudMosaic? + =
  • 4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T What does the application illustrate? • Developing modern, serverless .NET applications on AWS • Using the AWS SDK and tools for .NET to work with AWS services • AWS Lambda • AWS Batch • AWS Step Functions • Amazon DynamoDB • Amazon Cognito • AWS Systems Manager • Deploying to services using the tools that you are familiar with • AWS Toolkit for Visual Studio • AWS extensions for the dotnet CLI
  • 5. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 6. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Overall architecture Tile gallery Tile data
  • 8. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 9. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T What does tile ingestion do? • It accepts a user’s .zip file that contains multiple images • The .zip file is unpacked, and each image is analyzed to determine the average color • Each image is then resized and saved as a tile in a named gallery
  • 10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T How tile ingestion works
  • 11. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Why did we choose AWS Batch? • To take advantage of serverless It manages the compute capacity for us • Work can be queued for asynchronous processing Tile creation is not a time-critical task • Cost savings • No charge for idle compute environments • Ability to use Amazon EC2 spot instances Spot instance(s) On-demand instance(s)
  • 12. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Tile gallery ingestion review • Using dead-letter queues (DLQs) to help detect and diagnose failures • Using the AWS .NET Mock Lambda Test Tool to replay and debug failed events in a DLQ • Using AWS Batch
  • 14. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T What does the mosaic rendering workflow do? • Accepts an image file from the user plus the name of a tile gallery • Analyzes the image against the tile data in the gallery • Builds a new mosaic image using the matched tiles
  • 16. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T How mosaic rendering works Select tiles (F#) Small render Medium render Large render Completion notification Color map
  • 17. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 18. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Mosaic rendering workflow review • How to use AWS Step Functions to orchestrate a workflow • Deploying multiple projects with a single serverless template • Using the dotnet lambda CLI global tool to deploy
  • 19. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T What is the web front end responsible for? • Allowing user registration and authentication • Enabling signed-in users to • Create new tile galleries • Upload an image to create a mosaic
  • 21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T How the front end works
  • 22. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Web front end review • Using high-level libraries from AWS to handle • Identity • Data protection (anti-forgery tokens) • Application configuration at runtime • Calling AWS Batch and AWS Step Functions from application code • Deploying containers to AWS Fargate from Visual Studio Can also use the dotnet ecs CLI tool
  • 24. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Useful links AWS .NET blog: https://aws.amazon.com/blogs/developer/tag/net/ AWS .NET Twitter handle: @awsfornet GitHub AWS .NET home: https://github.com/aws/dotnet AWS SDK for .NET: https://github.com/aws/aws-sdk-net AWS Lambda for .NET Core: https://github.com/aws/aws-lambda-dotnet AWS .NET Global Tools: https://github.com/aws/aws-extensions-for-dotnet-cli
  • 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Additional extension libraries on GitHub ASP.NET Core identity provider for Amazon Cognito: https://github.com/aws/aws-aspnet-cognito-identity-provider IConfiguration provider for AWS Systems Manager Parameter Store: https://github.com/aws/aws-dotnet-extensions-configuration ASP.NET Core DataProtection provider for AWS Systems Manager: https://github.com/aws/aws-ssm-data-protection-provider-for-aspnet
  • 28. Thank you! S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Steve Roberts Twitter: @bellevuesteve