Run your Dockerized ASP.NET application on Windows and Linux!
S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice...
Transcript of S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice...
S U MM I TB e r l i n 2 0 1 9
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Cutting-Edge Architectures Based on AppSync, Lambda, and Fargate
Andreas Wittigcloudonaut.io
H a l l 5
Michael Wittigcloudonaut.io
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Agenda
• A brief history of AWS architectures
• Why cutting-edge architectures matter
• AppSync + Lambda + DynamoDB
• ALB + Fargate + Aurora
• Summary
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
A brief history of AWS architectures
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Goals
• Low operational effort
• Cost-effective
• Highly available
• Scalable
• Automated deployment
• Future proof
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
AppSync + Lambda + DynamoDB
AWS AppSync
Lambda function
Amazon DynamoDB
S3 Bucket
HTML, JS, CSS
Vue.js Apollo
AWS Cloud
GraphQL
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Your voice counts!
Vote for your favorite AWS architecture:
http://bit.ly/aws-berlin19
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Pitfalls + Limitations
• No customizable rate limits
• No built-in way to triggersubscriptions from externalsystems
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
ALB + Fargate + Aurora
AWS Cloud
Elastic Load Balancing
ALB
Container
Container
AWS Fargate
Amazon Aurora
Serverless
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Pitfalls + Limitations
• Aurora Serverless needsaround 20 seconds to startwhen stopped (optional)
• Offload background jobs(crons)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
• ECS/EKS with EC2 requires a lot of heavy lifting
• Fargate is the choice to run existing, dockerized applications on AWS
• AppSync is beginner friendly and much easier to use than API Gateway
• DynamoDB on-demand offers a maintenance free database
• Aurora Serverless solves the scalability challenge for relational databases
Summary
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
New book
• To the point
• Ready to use
• Low operational effort
Get your copy at cloudonaut.io!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
https://github.com/widdix/aws-cutting-edge-appsync/
https://github.com/widdix/aws-cutting-edge-fargate/
Examples
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Thank you!
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Andreas Wittigcloudonaut.io
Michael Wittig
cloudonaut.io
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMITSUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
GraphQL to AppSync to Lambda
type Services {
items: [String]
nextToken: String
}
type Query {
getServices(nextT: String): Services
}
type Mutation {
vote(service: String!): Boolean
}
ServicesDS:
Type: 'AWS::AppSync::DataSource'
Properties:
Type: AWS_LAMBDA
LambdaConfig:
LambdaFunctionArn: […]
ServicesResolver:
Type: 'AWS::AppSync::Resolver'
Properties:
TypeName: Query
DataSourceName: !GetAtt 'ServicesDS.Name‘
FieldName: getServices
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
AppSync
• Managed & scalableGraphQL endpoint
• Authentication with Cognitouser pool / IAM / OpenIdConnect / API keys
• First class DynamoDB, Elasticsearch, Lambda, Aurora Serverless, HTTP request integration
• Pay per request
AWS AppSync
Lambda function
Amazon DynamoDB
S3 Bucket
HTML, JS, CSS
AWS Cloud
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Lambda
• Managed & scalable codeexecution
• Node.js, Java, Python, .NET Core, Go, Ruby, ….
• Pay per request / computingtime AWS AppSync
Lambda function
Amazon DynamoDB
S3 Bucket
HTML, JS, CSS
AWS Cloud
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
DynamoDB
• Managed & scalable NoSQLdatabase
• Backups
• Multi Region support
• Pay per request & GB storedAWS AppSync
Lambda function
Amazon DynamoDB
S3 Bucket
HTML, JS, CSS
AWS Cloud
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
CI/CD
• CodeCommit
• CodePipeline
• CodeBuild
• CloudFormation