25
SUMMIT Berlin 2019

S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

S U MM I TB e r l i n 2 0 1 9

Page 2: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 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

Page 3: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 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

Page 4: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

A brief history of AWS architectures

Page 5: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Page 6: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 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

Page 7: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Page 8: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 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

Page 9: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Page 10: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 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

Page 11: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 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

Page 12: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Page 13: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 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

Page 14: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Page 15: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 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)

Page 16: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 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

Page 17: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 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!

Page 18: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 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

Page 19: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 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

Page 20: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMITSUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Page 21: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

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

Page 22: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 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

Page 23: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 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

Page 24: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 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

Page 25: S U M M I T - aws-de-marketing.s3-eu-central-1.amazonaws.com Mark… · • Fargate is the choice to run existing, dockerized applications on AWS • AppSync is beginner friendly

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

CI/CD

• CodeCommit

• CodePipeline

• CodeBuild

• CloudFormation