6. Learn From Amazon, Execute at AWS
아마존을 통해 혁신을 배우고, 아마존웹서비스에서 혁신을 실행
Digital Business
Digital
Innovation
Digital
Transformation
7. 혁신의 요소
1. 아키텍처
MicroServices
3. 메커니즘
DevOps&CI/CD
2. 방법론
Agile(Scrum)
민첩성 Agility, Time to Market 유연성 flexibility 지속성 sustainability
8. disrupted
비즈니스 모델의 혁신 사례
파괴적 혁신 (Disruption) 을 통한 비즈니스 모델의 증가
Hospitality Insurance Devices TradingMedia
9. 전통적인 기업 사례
“ Many of our c ustom er s are transf orm ing th eir worlds as well.”
We r n e r Vo g e l s
A m a z o n We b S e r v i c e s , C TO
데이터를 비즈니스 가치로 전환하고 데이터를
자산화하여 플랫폼 서비스로 만드는 것
디지탈 트랜스포메이션
10. 인프라 관리에
드는 부담 감소
실험 및 혁신에
리소스 투자 가능
신규 비즈니스
구현에 집중
핵심 비즈니스에 역량 집중
On-Premises
$ Millions Nearly $0
실패
= 막대한 비용 손실
잦은 실험적
시도 불가
혁신 시도에 대한
부담이 큰 환경
혁신을 촉진하는 환경
실패하더라도 적은
비용 / 시간만 손실
잦은 실험적 시도
Vs.
Cloud
기획 및 계획
실험과 테스트로!
14. 진화하는 아키텍쳐
DB
DB
클라이언트 - 서버
클라이언트 – 멀티티어 서버
(웹 – 어플리케이션 – DB)
마이크로서비스
메시징 기반 미들웨어
Client Server
Mobile/Web
Clients
Web
Tier
Application
Tier DB
Mobile/Web
Clients
Service
Service
Service
Publisher Subscriber
DB
17. Microservices at Amazon.com
마이크로서비스 개발팀은 기존 보다 작은 단위로 구성
2-pizza Amazon Development Teams ( 4-8 명)
• 모든 권한과 책임
• 결과에 따른 인센티브
• “DevOps”
2 – Pizza Team
typically 4-8 people
Micro-service
21. Servers서버의 물리적인 장애를
어플리케이션에서 어떻게 처리하지?
내 서버들에 대한 접근을
어떻게 통제할 수 있지?
서버의 수를 언제
늘려야 하지?
내 서버의 용량을
언제 늘려야 하지? 내 예산에 맞는
서버의 크기는?
내 서버들의 남아있는 용량은
얼마나 되지?
(AAHHHHHHHHH!!)
27. AWS Lambda : 서버리스 컴퓨팅
서버 프로비저닝/운영 없이 코드를 실행; 사용한 컴퓨팅 시간 만큼만 지불
이벤트로 실행:
• 직접 동기/비동기식 호출
• Amazon S3 버킷에 객체 저장
• Amazon API 게이트웨이를 통한 호출
• 그 외 다양한 이벤트…
다음의 작업을 손쉽게 수행:
• 실시간 데이터 처리 수행
• 유연한 백엔드 서비스 구축
29. AWS Lambda Function
• Bring your own code
Java, NodeJS, Python, C#
• 효과적인 권한 통제
AWS IAM Role을 사용한 실행
권한 설정
• 단순한 자원 모델
128MB부터 1.5GB까지
64MB 단위로 메모리 설정
A valid, complete
Lambda function
30. AWS Serverless 솔루션들
Storage DatabaseNetwork
Compute Content DeliveryMessaging and QueuesSecurity
Gateways
User Management Monitoring & Logging
Internet of Things
Machine Learning
Streaming Analytics
…
32. 웹 앱 : API Gateway + Lambda
정적 컨텐츠 제공 : S3
동적 컨텐츠 제공 : Lambda
HTTPS 억세스 및 인터페이스 : API Gateway
저장소 : DynamoDB
Dynamic Content
in AWS Lambda
Data Stored in
Amazon
DynamoDB
API GatewayStatic content in
Amazon S3
36. 트랜잭션 구현 방안
각 데이타 저장소는 eventual consistency
비동기 호출로 구성하되, 추가 작업이 필요한
경우 return 하고 이를 처리
이벤트 및 각 마이크로서비스의 순서 관리
예) Correlation ID 사용, ”rollback” 함수 구현 ERROR
STATE?
ROLLBACK?
correlation id:
“uuid-123”
39. DevOps
개발자 고객
개발 테스트 배포
계획 모니터링
Delivery Pipeline
Feedback Loop
소프트웨어 개발 사이클
DevOps
=
소프트웨어 개발 사이클을
빠르게 수행하기 위한 효율성
DevOps는 배포 및 피드백 절차를
빠른 속도로 무한대 반복 가능
40. DevOps - Agile
Provision Configure Orchestrate Deploy Report Monitor
DevOps
• Continuous Integration
• Continuous Deployment
• IT Automation
• Application Management
Business Case
Requirem
ents
Use Case Features Plan
Go to
market
기획/비지니스
Design Code Refactor Unit Test Bug Fix Deploy
개발자
운영자
Agile
Development
• Iterative development
• Scrum, sprints, stories
• Velocity
Business
Agility
IT
Agility
41. DevOps Principles
• Collaboration -협업
• Breakdown the barriers –장벽 구체화
• Work as one team end to end –팀으로 끝에서 끝까지 일하기
• Treat Infrastructure as code – 코드 인프라로 처리
• Support business and IT agility – IT민첩성 기반의 비즈니스 지원
• Automate everything – 모든 것 자동화
• Test everything – 모든 테스트
• Measure & monitor everything -모든 것 측정/모니터링
42. AWS Code* series
Commit Build Test Production
AWS CodeCommit
AWS CodePipeline
AWS CodeDeployAWS CodeBuild AWS CodeBuild
Software release steps:
Amazon EC2 On-Premises
43. Microservices & DevOps on AWS
Client Data
Store
DiscoveryGateway
Business
Domain
Version Control Repository
Continuous
Integration
Continuous
Delivery
API Gateway Elastic Load
Balancing
Amazon
ECS
DynamoDB RDS
Code
Commit
Code
Deploy
Code
Pipeline
Microservices
API
Amazon ECR
Elastic
Beanstalk
Lambda
Code
Build
44. MicroServices - 혁신의 구성요소
• 업무 프로세스 변화
• “Small-focused” 개발팀들로 구성
• 개발과 운영까지 (짧은 피드백 사이클, 정기적인 디플로이먼트)
• 애자일 방법론 (eg, Scrum, Kanban, XP, etc)
• 조직적 변화/참여
• 새로운 업무문화 수용
• 새로운 기술 요구 (Cloud, Infrastructure as Code, 협업툴)
• 새로운 인력의 채용