© 2020, Amazon Web Services, Inc. or its Affiliates.
윤석찬 / AWS 수석 테크에반젤리스트
클라우드 기반 앱 현대화를 위한 5가지
체크리스트
© 2020, Amazon Web Services, Inc. or its Affiliates.
강연 중 질문하는 방법
오른쪽의 “Questions/질문” 창에 질문을 남겨주세요.
본인만 답변을 받고 싶으신 경우, (비공개)라고
하고 질문해 주시면 됩니다.
본 컨텐츠는 고객의 편의를 위해 AWS 서비스 설명을 위해 온라인 세미나용으로 별도로 제작, 제공된 것입니다. 만약 AWS
사이트와 컨텐츠 상에서 차이나 불일치가 있을 경우, AWS 사이트(aws.amazon.com)가 우선합니다. 또한 AWS 사이트
상에서 한글 번역문과 영어 원문에 차이나 불일치가 있을 경우(번역의 지체로 인한 경우 등 포함), 영어 원문이 우선합니다.
AWS는 본 컨텐츠에 포함되거나 컨텐츠를 통하여 고객에게 제공된 일체의 정보, 콘텐츠, 자료, 제품(소프트웨어 포함) 또는 서비스를 이용함으로 인하여 발생하는 여하한 종류의 손해에
대하여 어떠한 책임도 지지 아니하며, 이는 직접 손해, 간접 손해, 부수적 손해, 징벌적 손해 및 결과적 손해를 포함하되 이에 한정되지 아니합니다.
고지 사항(Disclaimer)
© 2020, Amazon Web Services, Inc. or its Affiliates.
Personalization
Customer tracking
New channels direct to customer
More things, more scale, rapid change
New Needs
© 2020, Amazon Web Services, Inc. or its Affiliates.
Modern application development
creates competitive differentiation
by enabling rapid innovation
© 2020, Amazon Web Services, Inc. or its Affiliates.
Capabilitiesofamodern application
Secure Resilient Elastic
Modular Automated Interoperable
© 2020, Amazon Web Services, Inc. or its Affiliates.
Assess and
prioritize,
app by app
Pick path to
modernization
Lift & shift:
data center → EC2
Re-platform:
VMs → containers
Refactor:
monolith → microservices
Re-invent:
host fleets → serverless
Modern application development: ajourney withmany
© 2020, Amazon Web Services, Inc. or its Affiliates.
OptionsAvailable
Re-platform
AWS Fargate
Re-invent
AWS Lambda
Re-factor
AWS Step Functions
Re-Host
Amazon EC2
© 2020, Amazon Web Services, Inc. or its Affiliates.
1
© 2020, Amazon Web Services, Inc. or its Affiliates.
Enablesecurityandcomplianceacrosstheentireapplifecycle
Securingthelifecycleaddresses blindspotswithout
slowingdown innovation
Authenticate
Prevent unauthorized
access with strong
access control
Authorize
Implement role-based
access control using
flexible policies
Audit & Govern
Evaluate app behavior &
ensure compliance
requirements are met
Validate
Verify each step to ensure
solutions work only as
intended
P
U
B
L
I
C
S
E
C
T
O
R
S
U
M
M
I
©
2
0
1
9
,
A
m
a
z
o
n
W
e
b
S
e
r
v
i
c
e
s
,
I
n
c
.
o
r
i
t
s
a
f
f
i
l
i
a
t
e
s
.
A
l
l
r
i
g
© 2020, Amazon Web Services, Inc. or its Affiliates.
Modern application - 5checklists
 Structure apps as collections of microservices
 Build with serverless technologies as much as possible
 Use code to model applications and infrastructure
 Rapidly release high-quality features with CI/CD
 Gain insights into application behavior with monitoring
© 2020, Amazon Web Services, Inc. or its Affiliates.
© 2020, Amazon Web Services, Inc. or its Affiliates.
Structureappsascollectionsofmicroservices
When theimpact ofchangeissmall,
releasevelocitycan increase
Monolithic application
Does everything
Shared release pipeline
Rigid scaling
High impact of change
Hard to adopt new technologies
Microservices
Does one thing
Independent deployments
Independent scaling
Small impact of change
Choice of technology
© 2020, Amazon Web Services, Inc. or its Affiliates.
Structureappsascollectionsofmicroservices
Properties ofmicroservices
• Independent
• Individually Deployed & Scaled
• Polyglot
• Modular - Easily Replaced
• Decentralized
Microservices
© 2020, Amazon Web Services, Inc. or its Affiliates.
Structureappsascollectionsofmicroservices
DesignConcepts
• Use managed services
• Focus on writing your business logic
(not on maintaining infrastructure)
• Loosely coupled & event driven
• Simplify delivery and discovery
AWS Lambda
AWS Fargate
© 2020, Amazon Web Services, Inc. or its Affiliates.
Structureappsascollectionsofmicroservices
APIsanddecoupled communications enable
automation andimproves reliability
FUNCTION
API
API
MICROSERVICE
FUNCTION
EVENT
MICROSERVICE
EVENT
API
MICROSERVICE
APPLICATION
© 2020, Amazon Web Services, Inc. or its Affiliates.
Commondatacategoriesandusecases
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
© 2020, Amazon Web Services, Inc. or its Affiliates.
2
© 2020, Amazon Web Services, Inc. or its Affiliates.
Buildwithserverlesstechnologiesasmuchaspossible
Automation andabstraction frees you
No infrastructure to
provision or manage
Automatically scales
by unit of consumption
Pay for value
billing model
Highly available
and durable
© 2020, Amazon Web Services, Inc. or its Affiliates.
Buildwithserverlesstechnologiesasmuchaspossible
Choiceofcomputeiscoretothetransformation
Serverless Containers
Long-running
Abstracts theOS
Fully-managed orchestration
Fully-managed cluster scaling
AWS Fargate
Serverless Functions
Event-driven
Many language runtimes
Data source integrations
No server management
AWS Lambda
© 2020, Amazon Web Services, Inc. or its Affiliates.
Buildwithserverlesstechnologiesasmuchaspossible
AWScontainerserviceslandscape
Management
Deployment, Scheduling,
Scaling & Management of
containerized applications
Hosting
Where the containers run
Amazon Elastic
Container Service
Amazon Elastic
Container Service
for Kubernetes
Amazon EC2AWS Fargate
Image Registry
Container Image Repository
Amazon Elastic
Container Registry
© 2020, Amazon Web Services, Inc. or its Affiliates.
Buildwithserverlesstechnologiesasmuchaspossible
Choiceofcomputeiscoretothetransformation
Serverless Containers
Long-running
Abstracts theOS
Fully-managed orchestration
Fully-managed cluster scaling
AWS Fargate
Serverless Functions
Event-driven
Many language runtimes
Data source integrations
No server management
AWS Lambda
© 2020, Amazon Web Services, Inc. or its Affiliates.
Buildwithserverlesstechnologiesasmuchaspossible
Comparison ofoperational responsibility
AWS Lambda
Serverless functions
AWS Fargate
Serverless containers
ECS/EKS
Container-management as a service
EC2
Infrastructure-as-a-Service
More opinionated
Less opinionated
AWS manages Customer manages
• Data source integrations
• Physical hardware, software, networking,
and facilities
• Provisioning
• Application code
• Container orchestration, provisioning
• Cluster scaling
• Physical hardware, host OS/kernel,
networking, and facilities
• Application code
• Data source integrations
• Security config and updates, network config,
management tasks
• Container orchestration control plane
• Physical hardware software,
networking, and facilities
• Application code
• Data source integrations
• Work clusters
• Security config and updates, network config,
firewall, management tasks
• Physical hardware software,
networking, and facilities
• Application code
• Data source integrations
• Scaling
• Security config and updates, network config,
management tasks
• Provisioning, managing scaling and
patching of servers
© 2020, Amazon Web Services, Inc. or its Affiliates.
Buildwithserverlesstechnologiesasmuchaspossible
Serverless architecturesprovide thegreatestagility
withtheleasteffort
business value
serverless everything
CUSTOMER
AWS
Business logic
API
Messaging & Orchestration
Storage & Databases
Compute
Physical Infrastructure
© 2020, Amazon Web Services, Inc. or its Affiliates.
Buildwithserverlesstechnologiesasmuchaspossible
AmazonAPIGateway
Fully managed service that makes it easy for
developers to publish, maintain, monitor, and
secureAPIs at any scale
• NativeAWS Service Integration
• Stage and version management
• API Authentication
• WebSockets support
© 2020, Amazon Web Services, Inc. or its Affiliates.
Buildwithserverlesstechnologiesasmuchaspossible
Coordinating multipleserviceswithworkflows increases
agility,productivityandflexibility
Track status of data
and execution
Remove
redundant code
© 2020, Amazon Web Services, Inc. or its Affiliates.
3
© 2020, Amazon Web Services, Inc. or its Affiliates.
Usecodetomodelapplicationsandinfrastructure
Treatingeverythingassoftwareincreases thespeedand
agilityofinfrastructuredeployments
Design
Write application
code
Create infrastructure
templates
Create stacks Iterate
© 2020, Amazon Web Services, Inc. or its Affiliates.
Usecodetomodelapplicationsandinfrastructure
Infrastructureascode
Declarative
I tell you
what I need
I tell you
what to do
Imperative
© 2020, Amazon Web Services, Inc. or its Affiliates.
Usecodetomodelapplicationsandinfrastructure
Infrastructureascodegoals
1. Make infrastructure changes repeatable and predictable
2. Release infrastructure changes using the same tools as code changes
3. Replicate production environment in a staging environment to enable
continuous testing
© 2020, Amazon Web Services, Inc. or its Affiliates.
Usecodetomodelapplicationsandinfrastructure
Model function environments withAWS
ServerlessApplication Model (SAM)
• Open source framework for building serverless
applications on AWS
• Shorthand syntax to express functions, APIs,
databases, and event source mappings
• Transforms and expands SAM syntax into AWS
CloudFormation syntax on deployment
• Supports all AWS CloudFormation resource types
https://aws.amazon.com/serverless/sam/
© 2020, Amazon Web Services, Inc. or its Affiliates.
Usecodetomodelapplicationsandinfrastructure
SAMtemplate
AWSTemplateFormatVersion: '2010-09-09’
Transform: AWS::Serverless-2016-10-31
Resources:
GetFunction:
Type: AWS::Serverless::Function
Properties:
Handler:
Runtime:
CodeUri:
index.get
nodejs8.10
src/
Policies:
- DynamoDBReadPolicy:
TableName: !Ref MyTable
Events:
GetResource:
Type: Api
Properties:
Path: /resource/{resourceId}
Method: get
MyTable:
Type: AWS::Serverless::SimpleTable
Just 20 lines to create:
• Lambda function
• IAM role
• API Gateway
• DynamoDB table
© 2020, Amazon Web Services, Inc. or its Affiliates.
Usecodetomodelapplicationsandinfrastructure
UseSAMCLItopackageanddeploySAMtemplates
sam build (--use-container)
sam package
sam deploy
sam publish
New
pip install --user aws-sam-cli
sam
sam
logs
validate
sam local
sam init
© 2020, Amazon Web Services, Inc. or its Affiliates.
R © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Usecodetomodelapplicationsandinfrastructure
Nestedapps tosimplifysolvingrecurring problems
Standard
Component
TweetSource:
Type: AWS::Serverless::Application
Properties:
Location:
ApplicationId: arn:aws:serverlessrepo:...
SemanticVersion: 2.0.0
Parameters:
Custom
Business
Logic
TweetProcessorFunctionName: !Ref MyFunction
SearchText: '#serverless -filter:nativeretweets’
© 2020, Amazon Web Services, Inc. or its Affiliates.
4
© 2020, Amazon Web Services, Inc. or its Affiliates.
Rapidlyreleasehigh-qualityfeatureswithCI/CD
TeamsthatpracticeCI/CD
shipmore codefaster,andwithmoreconfidence
5x
Lower change
failure rate
440x
Faster from
commit to deploy
46x
More frequent
deployments
44%
More time spent on
new features & code
© 2020, Amazon Web Services, Inc. or its Affiliates.
Rapidlyreleasehigh-qualityfeatureswithCI/CD
Monolithdevelopment lifecycle
monitorreleasetestbuild
developers services
delivery pipelines
© 2020, Amazon Web Services, Inc. or its Affiliates.
developers services
monitor
delivery pipelines
test releasebuild
monitorreleasetestbuild
monitorreleasetestbuild
monitorreleasetestbuild
monitorreleasetestbuild
monitorreleasetestbuild
Rapidlyreleasehigh-qualityfeatureswithCI/CD
Monolithdevelopment lifecycle
© 2020, Amazon Web Services, Inc. or its Affiliates.
Rapidlyreleasehigh-qualityfeatureswithCI/CD
AWSCodeDeploy
• Automates code deployments to any instance and
Lambda
• Handles the complexity of updating your
applications
• Avoid downtime during application deployment
• Roll back automatically if failure detected
• Deploy to Amazon EC2, Lambda, or on-premises
servers
© 2020, Amazon Web Services, Inc. or its Affiliates.
Rapidlyreleasehigh-qualityfeatureswithCI/CD
CodeDeploy-Lambda deployments
• Shifts traffic using Lambda function weighted aliases
• Choose canary (“shift 10% of traffic for 10 minutes, then shift rest”) or
linear (“shift 10% more traffic every 10 minutes”)
• Validation “hooks” enable testing at each stage of the deployment
• Fast rollback in seconds if case of hook failure or CloudWatch alarms
• Monitor deployment status and history via console, API, Amazon Simple
Notification Service (Amazon SNS) notifications, and CloudWatch
Events
© 2020, Amazon Web Services, Inc. or its Affiliates.
Rapidlyreleasehigh-qualityfeatureswithCI/CD
CodeDeploy – Lambda deployments
Enable in your serverless application template
Resources:
GetFunction:
Type: AWS::Serverless::Function
Properties:
DeploymentPreference:
Type: Canary10Percent10Minutes
Alarms:
- !Ref ErrorsAlarm
Hooks:
PreTraffic: !Ref PreTrafficHook
Canary10Percent30Minutes
Canary10Percent5Minutes
Canary10Percent10Minutes
Canary10Percent15Minutes
Linear10PercentEvery10Minutes
Linear10PercentEvery1Minute
Linear10PercentEvery2Minutes
Linear10PercentEvery3Minutes
AllAtOnce
© 2020, Amazon Web Services, Inc. or its Affiliates.
5
© 2020, Amazon Web Services, Inc. or its Affiliates.
Usemonitoringtooptimizeenduserexperience
Thefasteryouidentify issues,thefastertheycan be
resolved
Metrics, logs
and traces
Monitoring,
debugging and
alerts
Resource and
application
visibility
Real-time
insights
MONITORING
OBSERVABILITY
© 2020, Amazon Web Services, Inc. or its Affiliates.
X-RayService
© 2020, Amazon Web Services, Inc. or its Affiliates.
Benefits of usingAWSX-RaywithLambda
• X-Ray agent is natively built into Lambda.
• Identify initialization and cold starts in Lambda
• Pinpoint issues in downstream services called from your AWS
Lambda function.
• Happens with low latency in real-time. Can see traces in
seconds.
© 2020, Amazon Web Services, Inc. or its Affiliates.
VisualizeServiceCallGraph (Lambda)
© 2020, Amazon Web Services, Inc. or its Affiliates.
Identifyinitialization& coldstarts(Lambda)
© 2020, Amazon Web Services, Inc. or its Affiliates.
Pinpoint errors (Lambda)
© 2020, Amazon Web Services, Inc. or its Affiliates.
Keeps track of all your application components,
their locations, attributes, and health status.
• Define convenient names for all cloud
resources
• Discover resources with specific attributes
• Ensure only healthy resources are discovered
• Use highly available DNS and Regional API.
New:AWSCloudMap
© 2020, Amazon Web Services, Inc. or its Affiliates.
Modern application - 5checklists
 Structure apps as collections of microservices
 Build with serverless technologies as much as possible
 Use code to model applications and infrastructure
 Rapidly release high-quality features with CI/CD
 Gain insights into application behavior with monitoring
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS 현대적 애플리케이션 개발 관련 자료를 원하시면…
• 현대적 어플리케이션 e-book
• AWS 여정 가속화: 마이그레이션과 현대화
• 서버리스 우선 보고서로의 여정
• AWS 컨테이너를 사용한 현대화
• 그 밖에 동영상, 기술 백서 등
https://tinyurl.com/aws-
modern-apps-KR
지금 방문하세요! »
새롭게 만들어진 기술 백서 및 전자책을 자세히 살펴
현대화 과정을 가속화 시키세요.
© 2020, Amazon Web Services, Inc. or its Affiliates.
현대화 과정을 가속화하세요.
IT 의사 결정자의 90 %가 클라우드 기술역량의 부족1 을 호소하고 있습니다.
클라우드 기술역량의 부족은 현대적 애플리케이션 개발에도 영향을 미칩니다.
AWS 교육 및 자격증과 함께 현대적 애플리케이션 개발 여정을 시작하시기 바랍니다.
현대적 애플리케이션의 설계, 구축 및 관리를 위한 기술역량을 개발하세요.
무료 디지털 교육 수강하기
AWS 무료 디지털 교육을 통해
약간의 시간과 노력으로
실질적인 클라우드 지식을
향상시킬 수 있습니다.
짧게는 10분부터 길게는 몇
시간까지 소요되는 다양한
온디맨드 교육 과정은 서버리스,
컨테이너 및 개발자 도구와 같은
특정 주제에 대한 이해를 넓히는
데 도움이 될 것입니다.
라이브, 실습, 강의실 교육 받기
대면 또는 가상 강의실 교육은
기술 역량을 심화하고자 하는
분들에게 보다 심층적인 교육을
제공합니다. 수업은 해당 분야의
전문가가 이끄는 프레젠테이션,
실습 랩 및 그룹 토론으로
구성되어 있습니다. 교육
과정에는 Developing on AWS 및
Advanced Developing on AWS가
있습니다.
현대적 애플리케이션 기술역량을
빠르게 램프업하기
자율적인 학습을 통해 지식
격차를 메우고 자신의 속도에
맞춰 새로운 주제를 학습할 수
있습니다. 특정한 기술에 대해
보다 깊이 알고자 하는 IT
전문가들을 위한 다양한 백서,
블로그 게시물, 영상, 웨비나,
모범 사례 등 다양한 리소스가
준비되어 있습니다. 더 알아보기.
1 451 Research, DemystifyingCloudTransformation:Where Enterprises Should Start, September 2019.
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS 앱 현대화 및 개발 특집 온라인 세미나에
참석해주셔서 대단히 감사합니다.
저희가 준비한 내용, 어떻게 보셨나요?
더 나은 세미나를 위하여 설문을 꼭 작성해 주시기 바랍니다.
aws-korea-marketing@amazon.com
twitter.com/AWSKorea
facebook.com/amazonwebservices.ko
youtube.com/user/AWSKorea
slideshare.net/awskorea
twitch.tv/aws
© 2020, Amazon Web Services, Inc. or its Affiliates.
Thank you!

클라우드 기반 앱 현대화를 위한 5가지 체크리스트 - 윤석찬 :: AWS 현대적 애플리케이션 개발

  • 1.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. 윤석찬 / AWS 수석 테크에반젤리스트 클라우드 기반 앱 현대화를 위한 5가지 체크리스트
  • 2.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. 강연 중 질문하는 방법 오른쪽의 “Questions/질문” 창에 질문을 남겨주세요. 본인만 답변을 받고 싶으신 경우, (비공개)라고 하고 질문해 주시면 됩니다. 본 컨텐츠는 고객의 편의를 위해 AWS 서비스 설명을 위해 온라인 세미나용으로 별도로 제작, 제공된 것입니다. 만약 AWS 사이트와 컨텐츠 상에서 차이나 불일치가 있을 경우, AWS 사이트(aws.amazon.com)가 우선합니다. 또한 AWS 사이트 상에서 한글 번역문과 영어 원문에 차이나 불일치가 있을 경우(번역의 지체로 인한 경우 등 포함), 영어 원문이 우선합니다. AWS는 본 컨텐츠에 포함되거나 컨텐츠를 통하여 고객에게 제공된 일체의 정보, 콘텐츠, 자료, 제품(소프트웨어 포함) 또는 서비스를 이용함으로 인하여 발생하는 여하한 종류의 손해에 대하여 어떠한 책임도 지지 아니하며, 이는 직접 손해, 간접 손해, 부수적 손해, 징벌적 손해 및 결과적 손해를 포함하되 이에 한정되지 아니합니다. 고지 사항(Disclaimer)
  • 3.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Personalization Customer tracking New channels direct to customer More things, more scale, rapid change New Needs
  • 4.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Modern application development creates competitive differentiation by enabling rapid innovation
  • 5.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Capabilitiesofamodern application Secure Resilient Elastic Modular Automated Interoperable
  • 6.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Assess and prioritize, app by app Pick path to modernization Lift & shift: data center → EC2 Re-platform: VMs → containers Refactor: monolith → microservices Re-invent: host fleets → serverless Modern application development: ajourney withmany
  • 7.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. OptionsAvailable Re-platform AWS Fargate Re-invent AWS Lambda Re-factor AWS Step Functions Re-Host Amazon EC2
  • 8.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. 1
  • 9.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Enablesecurityandcomplianceacrosstheentireapplifecycle Securingthelifecycleaddresses blindspotswithout slowingdown innovation Authenticate Prevent unauthorized access with strong access control Authorize Implement role-based access control using flexible policies Audit & Govern Evaluate app behavior & ensure compliance requirements are met Validate Verify each step to ensure solutions work only as intended P U B L I C S E C T O R S U M M I © 2 0 1 9 , A m a z o n W e b S e r v i c e s , I n c . o r i t s a f f i l i a t e s . A l l r i g
  • 10.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Modern application - 5checklists  Structure apps as collections of microservices  Build with serverless technologies as much as possible  Use code to model applications and infrastructure  Rapidly release high-quality features with CI/CD  Gain insights into application behavior with monitoring
  • 11.
    © 2020, AmazonWeb Services, Inc. or its Affiliates.
  • 12.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Structureappsascollectionsofmicroservices When theimpact ofchangeissmall, releasevelocitycan increase Monolithic application Does everything Shared release pipeline Rigid scaling High impact of change Hard to adopt new technologies Microservices Does one thing Independent deployments Independent scaling Small impact of change Choice of technology
  • 13.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Structureappsascollectionsofmicroservices Properties ofmicroservices • Independent • Individually Deployed & Scaled • Polyglot • Modular - Easily Replaced • Decentralized Microservices
  • 14.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Structureappsascollectionsofmicroservices DesignConcepts • Use managed services • Focus on writing your business logic (not on maintaining infrastructure) • Loosely coupled & event driven • Simplify delivery and discovery AWS Lambda AWS Fargate
  • 15.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Structureappsascollectionsofmicroservices APIsanddecoupled communications enable automation andimproves reliability FUNCTION API API MICROSERVICE FUNCTION EVENT MICROSERVICE EVENT API MICROSERVICE APPLICATION
  • 16.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Commondatacategoriesandusecases 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
  • 17.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. 2
  • 18.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Buildwithserverlesstechnologiesasmuchaspossible Automation andabstraction frees you No infrastructure to provision or manage Automatically scales by unit of consumption Pay for value billing model Highly available and durable
  • 19.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Buildwithserverlesstechnologiesasmuchaspossible Choiceofcomputeiscoretothetransformation Serverless Containers Long-running Abstracts theOS Fully-managed orchestration Fully-managed cluster scaling AWS Fargate Serverless Functions Event-driven Many language runtimes Data source integrations No server management AWS Lambda
  • 20.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Buildwithserverlesstechnologiesasmuchaspossible AWScontainerserviceslandscape Management Deployment, Scheduling, Scaling & Management of containerized applications Hosting Where the containers run Amazon Elastic Container Service Amazon Elastic Container Service for Kubernetes Amazon EC2AWS Fargate Image Registry Container Image Repository Amazon Elastic Container Registry
  • 21.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Buildwithserverlesstechnologiesasmuchaspossible Choiceofcomputeiscoretothetransformation Serverless Containers Long-running Abstracts theOS Fully-managed orchestration Fully-managed cluster scaling AWS Fargate Serverless Functions Event-driven Many language runtimes Data source integrations No server management AWS Lambda
  • 22.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Buildwithserverlesstechnologiesasmuchaspossible Comparison ofoperational responsibility AWS Lambda Serverless functions AWS Fargate Serverless containers ECS/EKS Container-management as a service EC2 Infrastructure-as-a-Service More opinionated Less opinionated AWS manages Customer manages • Data source integrations • Physical hardware, software, networking, and facilities • Provisioning • Application code • Container orchestration, provisioning • Cluster scaling • Physical hardware, host OS/kernel, networking, and facilities • Application code • Data source integrations • Security config and updates, network config, management tasks • Container orchestration control plane • Physical hardware software, networking, and facilities • Application code • Data source integrations • Work clusters • Security config and updates, network config, firewall, management tasks • Physical hardware software, networking, and facilities • Application code • Data source integrations • Scaling • Security config and updates, network config, management tasks • Provisioning, managing scaling and patching of servers
  • 23.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Buildwithserverlesstechnologiesasmuchaspossible Serverless architecturesprovide thegreatestagility withtheleasteffort business value serverless everything CUSTOMER AWS Business logic API Messaging & Orchestration Storage & Databases Compute Physical Infrastructure
  • 24.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Buildwithserverlesstechnologiesasmuchaspossible AmazonAPIGateway Fully managed service that makes it easy for developers to publish, maintain, monitor, and secureAPIs at any scale • NativeAWS Service Integration • Stage and version management • API Authentication • WebSockets support
  • 25.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Buildwithserverlesstechnologiesasmuchaspossible Coordinating multipleserviceswithworkflows increases agility,productivityandflexibility Track status of data and execution Remove redundant code
  • 26.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. 3
  • 27.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Usecodetomodelapplicationsandinfrastructure Treatingeverythingassoftwareincreases thespeedand agilityofinfrastructuredeployments Design Write application code Create infrastructure templates Create stacks Iterate
  • 28.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Usecodetomodelapplicationsandinfrastructure Infrastructureascode Declarative I tell you what I need I tell you what to do Imperative
  • 29.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Usecodetomodelapplicationsandinfrastructure Infrastructureascodegoals 1. Make infrastructure changes repeatable and predictable 2. Release infrastructure changes using the same tools as code changes 3. Replicate production environment in a staging environment to enable continuous testing
  • 30.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Usecodetomodelapplicationsandinfrastructure Model function environments withAWS ServerlessApplication Model (SAM) • Open source framework for building serverless applications on AWS • Shorthand syntax to express functions, APIs, databases, and event source mappings • Transforms and expands SAM syntax into AWS CloudFormation syntax on deployment • Supports all AWS CloudFormation resource types https://aws.amazon.com/serverless/sam/
  • 31.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Usecodetomodelapplicationsandinfrastructure SAMtemplate AWSTemplateFormatVersion: '2010-09-09’ Transform: AWS::Serverless-2016-10-31 Resources: GetFunction: Type: AWS::Serverless::Function Properties: Handler: Runtime: CodeUri: index.get nodejs8.10 src/ Policies: - DynamoDBReadPolicy: TableName: !Ref MyTable Events: GetResource: Type: Api Properties: Path: /resource/{resourceId} Method: get MyTable: Type: AWS::Serverless::SimpleTable Just 20 lines to create: • Lambda function • IAM role • API Gateway • DynamoDB table
  • 32.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Usecodetomodelapplicationsandinfrastructure UseSAMCLItopackageanddeploySAMtemplates sam build (--use-container) sam package sam deploy sam publish New pip install --user aws-sam-cli sam sam logs validate sam local sam init
  • 33.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. R © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Usecodetomodelapplicationsandinfrastructure Nestedapps tosimplifysolvingrecurring problems Standard Component TweetSource: Type: AWS::Serverless::Application Properties: Location: ApplicationId: arn:aws:serverlessrepo:... SemanticVersion: 2.0.0 Parameters: Custom Business Logic TweetProcessorFunctionName: !Ref MyFunction SearchText: '#serverless -filter:nativeretweets’
  • 34.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. 4
  • 35.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Rapidlyreleasehigh-qualityfeatureswithCI/CD TeamsthatpracticeCI/CD shipmore codefaster,andwithmoreconfidence 5x Lower change failure rate 440x Faster from commit to deploy 46x More frequent deployments 44% More time spent on new features & code
  • 36.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Rapidlyreleasehigh-qualityfeatureswithCI/CD Monolithdevelopment lifecycle monitorreleasetestbuild developers services delivery pipelines
  • 37.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. developers services monitor delivery pipelines test releasebuild monitorreleasetestbuild monitorreleasetestbuild monitorreleasetestbuild monitorreleasetestbuild monitorreleasetestbuild Rapidlyreleasehigh-qualityfeatureswithCI/CD Monolithdevelopment lifecycle
  • 38.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Rapidlyreleasehigh-qualityfeatureswithCI/CD AWSCodeDeploy • Automates code deployments to any instance and Lambda • Handles the complexity of updating your applications • Avoid downtime during application deployment • Roll back automatically if failure detected • Deploy to Amazon EC2, Lambda, or on-premises servers
  • 39.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Rapidlyreleasehigh-qualityfeatureswithCI/CD CodeDeploy-Lambda deployments • Shifts traffic using Lambda function weighted aliases • Choose canary (“shift 10% of traffic for 10 minutes, then shift rest”) or linear (“shift 10% more traffic every 10 minutes”) • Validation “hooks” enable testing at each stage of the deployment • Fast rollback in seconds if case of hook failure or CloudWatch alarms • Monitor deployment status and history via console, API, Amazon Simple Notification Service (Amazon SNS) notifications, and CloudWatch Events
  • 40.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Rapidlyreleasehigh-qualityfeatureswithCI/CD CodeDeploy – Lambda deployments Enable in your serverless application template Resources: GetFunction: Type: AWS::Serverless::Function Properties: DeploymentPreference: Type: Canary10Percent10Minutes Alarms: - !Ref ErrorsAlarm Hooks: PreTraffic: !Ref PreTrafficHook Canary10Percent30Minutes Canary10Percent5Minutes Canary10Percent10Minutes Canary10Percent15Minutes Linear10PercentEvery10Minutes Linear10PercentEvery1Minute Linear10PercentEvery2Minutes Linear10PercentEvery3Minutes AllAtOnce
  • 41.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. 5
  • 42.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Usemonitoringtooptimizeenduserexperience Thefasteryouidentify issues,thefastertheycan be resolved Metrics, logs and traces Monitoring, debugging and alerts Resource and application visibility Real-time insights MONITORING OBSERVABILITY
  • 43.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. X-RayService
  • 44.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Benefits of usingAWSX-RaywithLambda • X-Ray agent is natively built into Lambda. • Identify initialization and cold starts in Lambda • Pinpoint issues in downstream services called from your AWS Lambda function. • Happens with low latency in real-time. Can see traces in seconds.
  • 45.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. VisualizeServiceCallGraph (Lambda)
  • 46.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Identifyinitialization& coldstarts(Lambda)
  • 47.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Pinpoint errors (Lambda)
  • 48.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Keeps track of all your application components, their locations, attributes, and health status. • Define convenient names for all cloud resources • Discover resources with specific attributes • Ensure only healthy resources are discovered • Use highly available DNS and Regional API. New:AWSCloudMap
  • 49.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Modern application - 5checklists  Structure apps as collections of microservices  Build with serverless technologies as much as possible  Use code to model applications and infrastructure  Rapidly release high-quality features with CI/CD  Gain insights into application behavior with monitoring
  • 50.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. AWS 현대적 애플리케이션 개발 관련 자료를 원하시면… • 현대적 어플리케이션 e-book • AWS 여정 가속화: 마이그레이션과 현대화 • 서버리스 우선 보고서로의 여정 • AWS 컨테이너를 사용한 현대화 • 그 밖에 동영상, 기술 백서 등 https://tinyurl.com/aws- modern-apps-KR 지금 방문하세요! » 새롭게 만들어진 기술 백서 및 전자책을 자세히 살펴 현대화 과정을 가속화 시키세요.
  • 51.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. 현대화 과정을 가속화하세요. IT 의사 결정자의 90 %가 클라우드 기술역량의 부족1 을 호소하고 있습니다. 클라우드 기술역량의 부족은 현대적 애플리케이션 개발에도 영향을 미칩니다. AWS 교육 및 자격증과 함께 현대적 애플리케이션 개발 여정을 시작하시기 바랍니다. 현대적 애플리케이션의 설계, 구축 및 관리를 위한 기술역량을 개발하세요. 무료 디지털 교육 수강하기 AWS 무료 디지털 교육을 통해 약간의 시간과 노력으로 실질적인 클라우드 지식을 향상시킬 수 있습니다. 짧게는 10분부터 길게는 몇 시간까지 소요되는 다양한 온디맨드 교육 과정은 서버리스, 컨테이너 및 개발자 도구와 같은 특정 주제에 대한 이해를 넓히는 데 도움이 될 것입니다. 라이브, 실습, 강의실 교육 받기 대면 또는 가상 강의실 교육은 기술 역량을 심화하고자 하는 분들에게 보다 심층적인 교육을 제공합니다. 수업은 해당 분야의 전문가가 이끄는 프레젠테이션, 실습 랩 및 그룹 토론으로 구성되어 있습니다. 교육 과정에는 Developing on AWS 및 Advanced Developing on AWS가 있습니다. 현대적 애플리케이션 기술역량을 빠르게 램프업하기 자율적인 학습을 통해 지식 격차를 메우고 자신의 속도에 맞춰 새로운 주제를 학습할 수 있습니다. 특정한 기술에 대해 보다 깊이 알고자 하는 IT 전문가들을 위한 다양한 백서, 블로그 게시물, 영상, 웨비나, 모범 사례 등 다양한 리소스가 준비되어 있습니다. 더 알아보기. 1 451 Research, DemystifyingCloudTransformation:Where Enterprises Should Start, September 2019.
  • 52.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. AWS 앱 현대화 및 개발 특집 온라인 세미나에 참석해주셔서 대단히 감사합니다. 저희가 준비한 내용, 어떻게 보셨나요? 더 나은 세미나를 위하여 설문을 꼭 작성해 주시기 바랍니다. aws-korea-marketing@amazon.com twitter.com/AWSKorea facebook.com/amazonwebservices.ko youtube.com/user/AWSKorea slideshare.net/awskorea twitch.tv/aws
  • 53.
    © 2020, AmazonWeb Services, Inc. or its Affiliates. Thank you!