SlideShare une entreprise Scribd logo
1  sur  76
Télécharger pour lire hors ligne
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
김필중, 솔루션즈 아키텍트
2017.11.02
AWS Startup Day
서버리스 마이크로서비스
스타트업이 고려하는 것들
큰 규모 기대 기능에 집중 Lean IT
부서
저렴한 비용 ==
비지니스 지속
우리가 고려하는 또 다른 것들
신뢰성 성능 비용 효율성 보안
목표를 위한 보통의 접근: 다양한 프레임워크 활용
목표를 위한 보통의 접근: Monolithic/N-티어 아키텍처
Data Center 1
Your infrastructure provider
Data Center 2
Load Balancer
DB Master DB Standby
App Server App Server
AWS에서 스타트업들의 접근법
git clone git://myrepo && cd myrepo
eb init
eb create prod
pg_restore –v –h mydb.rds.amazonaws.com latest.dump
eb setenv SHARED_KEY_OF_SOME_SORT=58dex..24513j
// changes
eb create test
git add . && git commit –m “profound change”
eb deploy
// test
eb switch prod && eb deploy
VM 기반의 N-티어 아키텍처
ExampleApp-Test
ExampleApp-Prod
Availability Zone
A
Availability Zone
B
Elastic Load
Balancing
EC2
RDS Standby
EC2
추가적인 중요한 이점들!
ExampleApp-Test
ExampleApp-Prod
Availability Zone
A
Availability Zone
B
Elastic Load
Balancing
EC2
RDS Standby
EC2
Amazon CloudWatch
• 서비스 차원의
리소스 모니터링
• 로그 관리
AWS 보안
• IAM
• VPC 네트워킹
전문 서비스
• 블록/오브젝트
저장소
• 캐싱
• DNS
AWS Elastic Beanstalk ­ 손 쉬운 N-티어 구축 및 운영
ExampleApp-Test
ExampleApp-Prod
Availability Zone
A
Availability Zone
B
Elastic Load
Balancing
EC2
RDS Standby
EC2
Amazon CloudWatch
• 서비스 차원의
리소스 모니터링
• 로그 관리
AWS 보안
• IAM
• VPC 네트워킹
전문 서비스
• 블록/오브젝트
저장소
• 캐싱
• DNS
모범 사례로 가는
가장 빠른 길
AWS Elastic Beanstalk
• 시작부터 클라우드 모범
사례로 구축 가능
• 개발자 워크플로우와
통합
• Elastic Beanstalk
명령행 인터페이스를
활용
성장하는 서비스에서 Monolith 앱의 단점
장기 개발 사이클
(다수개발자 공동 참여)
운영의 어려움
(특정 모듈 장애시)
애플리케이션
확장성 애로
신규 출시에
몇 달이 걸림
신규 기능 추가에
어려움
아키텍처 유지
진화의 어려움
혁신
저해
고객
불만족
민첩성
저해
성공을 위한 표준 패턴 확인
Monolithic
여러 서비스
내부 마이크로서비스 플랫폼
AWS 기반 마이크로서비스 아키텍처 사례
Building a Microservices
Gaming Platform for
Turbine Mobile Games
(2016)
From Monolithic to
Microservices Evolving
Architecture Patterns in
the Cloud (2016)
Developing Mobile Apps and
Serverless Microservices for
Enterprises using AWS
(2016)
Pure Play Video OTT- A
Microservices Architecture
(2015)
Nike's Journey into
Microservices (2014)
A Journey to
Microservices (2015)
마이크로서비스 기반 모바일
서비스 마이그레이션 (2016)
마이크로 서비스 아키텍처로
방송 서비스 진화 (2016)
삼성전자 IoT 서비스
마이크로서비스 구축 사례
서버리스 마이크로 서비스
전환 사례
추천 동영상: Netflix 마이크로서비스 아키텍처
https://www.youtube.com/watch?v=Oc
zG5FQIcXw
https://www.youtube.com/watch?v=-
mL3zT1iIKw
“service-oriented
architecture
composed of
loosely coupled
elements
that have
bounded contexts”
Adrian Cockcroft (VP of Cloud Architecture @
AWS, former Cloud Architect at Netflix)
마이크로서비스란?
다른 서비스의 내부 구조를
알지 못해도, 내 서비스
코드를 업데이트 할 수 있다.
서비스들이 네트워크를
통해 서로 API로 통신한다.
서비스는 독자적으로
업데이트하며, 서로 영향을
주지 않는다.
“service-oriented
architecture
composed of
loosely coupled
elements
that have
bounded contexts”
Adrian Cockcroft (VP of Cloud Architecture @
AWS, former Cloud Architect at Netflix)
Monolithic vs. SOA vs. Microservices
SOA
거친 입자
Microservices
고운 입자
Monolithic
하나의 입자
마이크로서비스 vs SOA
Microservices:
• 많은 작은 구성요소
• 단일 서비스 도메인 내에
비지니스 로직이 동작
• 간단한 와이어 프로토콜
(XML/JSON와 HTTP)
• SDK와 클라이언트와 함께 API
지향
SOA:
• 보다 정교한 구성요소 감소
• 여러 도메인에 걸쳐 비지니스
로직이 동작
• 서비스간 레이어와 같은
엔터프라이즈 서비스 버스
• 미들웨어
Monolithic 아키텍처
Order UI User UI
Shipping
UI
Order
Service
User
Service
Shipping
Service
Data
Access
Monolithic 아키텍처 - 확장
Monolith 개발 라이프사이클
개발
릴리즈테스트빌드
전달 파이프라인애플리케이션
마이크로서비스 아키텍처
Order UI User UI
Shipping
UI
Order
Service
User
Service
Shipping
Service
마이크로서비스 아키텍처 - 확장
Order UI User UI UI
Order
Service
Service
Shipping
Service
Order UI
Order UI
User UI UIShipping
UI
Order
ServiceOrder
Service
Service
Service
Service
Service
User
Service
Shipping
Service
마이크로서비스 개발 라이프사이클
개발 전달 파이프라인마이크로서비스
build pipeline
build pipeline
build pipeline
build pipeline
build pipeline
build pipeline
build pipeline
build pipeline
build pipeline
build pipeline
build pipeline
build pipeline
build pipeline
build pipeline
build pipeline
Build
Stage #1 Stage #2 … Stage #N Production
Build Build Build Build
Spring
Developer/
Team
Developer/
Team
Developer/
Team
Developer/
Team
Developer/
Team
Developer
Build
Stage #1 Stage #2 … Stage #N Production
Build Build Build Build
Bug!
Spring
Developer/
Team
Developer/
Team
Developer/
Team
Developer/
Team
Build
Build
Build
Stage #1 Stage #2 … Stage #N Production
Build Build Build Build
Build Build Build Build
Build Build Build Build
Spring
Node.js
Ruby
on Rails
Developer/
Team
Developer/
Team
Developer/
Team
Developer/
Team
Developer/
Team
Build
Build
Developer
Build
Stage #1 Stage #2 … Stage #N Production
Build Build Build Build
Bug!
Build Build Build Build
Build Build Build Build
Spring
Node.js
Ruby
onRails
Developer/
Team
Developer/
Team
Developer/
Team
Developer/
Team
마이크로서비스 아키텍처 특징
Do one
thing well
Independent
Decentralized
Black Box
Polyglot
You build it, you run it
마이크로서비스의 이점
• 복잡성 감소
https://www.nginx.com/resources/library/designing-deploying-microservices/
마이크로서비스의 이점
• 복잡성 감소
• 독립적인 개발
https://www.nginx.com/resources/library/designing-deploying-microservices/
Mock
Service
Tests
마이크로서비스의 이점
• 복잡성 감소
• 독립적인 개발
• 독립적인 배포
https://www.nginx.com/resources/library/designing-deploying-microservices/
v1.1 v1.2
마이크로서비스의 이점
• 복잡성 감소
• 독립적인 개발
• 독립적인 배포
• 독립적인 확장성
https://www.nginx.com/resources/library/designing-deploying-microservices/
마이크로서비스로의 전환
마이크로서비스로의 전환 단계 1
기능성 분리
Code Order
Code
Monolith ServiceMonolith Service
Custom
er Code
Monolith
DB
Monolith
DB
마이크로서비스로의 전환 단계 2
데이터 분리
Code
Order
Code
Monolith Service
Customer
Code
Order
Code
Monolith Service
Customer
Code
Monolith
DB
Order
DB
Customer
DB
데이터 캡슐화
Foreign Key가 필요하면? 서비스를 통한 데이터 접근
Order
Customer
Order
DB
Customer
DB
Order Customer
Order
DB
Customer
DB
데이터 캡슐화
공유된 데이터가 필요하면? 별도 서비스 생성
Address
Order Customer
데이터 캡슐화
단일 테이블이라면? 두개로 분리
Order Customer
이벤트 기반과 최종 일관성
Order Customer
Customer
DB
Topic
Order
DB
POST /Orders
(including address change)
마이크로서비스로의 전환 단계 3
배포 분리
Code
Order
Code
Microservice
Customer
Code
Monolith
DB
Order
DB
Customer
DB
Order
Code
Monolith Service
Customer
Code
Order
DB
Customer
DB
배포 분리
Order
Code
Microservice
Customer
Code
Microservice
Expose API
배포 분리
독립 CD 파이프라인
Compile
Unit
Test
Package Deploy
E2E
Test
ProdOrder
Compile
Unit
Test
Package Deploy
E2E
Test
Prod
Contract
Tests
Customer
마이크로서비스로의 진화
• 새로운 기능을 마이크로서비스로 구성
• 점진적으로 기능 단위 마이그레이션
• 올 인/완전 리빌드
마이크로서비스로의 진화
• 새로운 기능을 마이크로서비스로 구성
• 점진적으로 기능 단위 마이그레이션
• 올 인/완전 리빌드
새로운 기능을 마이크로서비스로 구성
• 새로운 기능이 필요할 때, 마이크로서비스를 첫 번째 접근
방식으로 사용
• Monolith에서의 종속성이 마이크로서비스에 미치는 영향을
고려
• ”if you find yourself in a hole, stop digging”, 문제 발생 시
새로운 방법 및 접근법을 고려
Amazon
EC2
Amazon
ECS
AWS
Lambda
서버에서 작동하는
애플리케이션
컨테이너로
동작하는 서비스
클라우드에서
동작하는 함수
Amazon
EC2
Amazon
ECS
AWS
Lambda
서버에서 작동하는
애플리케이션
컨테이너로
동작하는 서비스
클라우드에서
동작하는 함수
• 머신 단위의 확장
• 하드웨어 추상화
• 머신, 스토리지,
네트워킹, OS를
직접 구성하고 싶을
때 선택
• 앱 단위의 확장
• OS 추상화
• 서버를 구동,
애플리케이션 구성,
확장을 제어하고
싶을 때
• 함수 단위의 확장
• 언어 런타임 추상화
• 필요할 때 코드가
실행되도록 하고
싶을 때
Amazon
EC2
Amazon
ECS
AWS
Lambda
서버에서 작동하는
애플리케이션
컨테이너로
동작하는 서비스
클라우드에서
동작하는 함수
• 머신 단위의 확장
• 하드웨어 추상화
• 머신, 스토리지,
네트워킹, OS를
직접 구성하고 싶을
때 선택
• 앱 단위의 확장
• OS 추상화
• 서버를 구동,
애플리케이션 구성,
확장을 제어하고
싶을 때
• 함수 단위의 확장
• 언어 런타임 추상화
• 필요할 때 코드가
실행되도록 하고
싶을 때
AWS Lambda
서버리스, 이벤트 처리 방식의 컴퓨팅 서비스
Lambda = 서버리스 마이크로서비스
Lambda : 동작 원리
Bring your own code
• Node.js, Java, Python
• Java = Scala, Clojure 등의
어떠한 JVM기반 언어.
• Bring your own libraries
유연한 호출 경로
• Event 혹은
Request/Response 호출
옵션
• 여러 AWS 서비스들과
통합
단순한 자원 모델
• 128MB부터 1.5GB까지
64MB 단위로 메모리 설정
• 할당된 메모리에 비례하여
CPU 및 네트웍 자원 할당
• 실제 사용량 내역 보고
효과적인 권한 통제
• AWS IAM (Identity and
Access Management)
Role을 사용한 실행 권한
설정
• AWS 이벤트 소스에 대한
자원 정책
Lambda : 동작 원리
제작 기능
• AWS SDK 포함
• 인바운드 네트웍 처리
• 프로세스, 쓰레드, /tmp,
소켓 …
배포 옵션
• 콘솔의 WYSIWIG
편집기를 사용하여 직접
제작/배포
• 코드를 zip 파일로 묶어
Lambda 서비스 혹은
S3로 전송
Stateless 기능
• S3/Amazon
DynamoDB/Amazon
ElastiCache를 사용한 저장
• 인프라스트럭쳐와의
연관성 없음 (로그인 불가)
모니터링 및 로깅
• Amazon CloudWatch
메트릭 – 요청 수, 에러 수,
처리 시간, 처리량
• Amazon CloudWatch
Log를 사용하여 로깅
Lambda 사용 이점
• 서버 용량 자동 확장
• API를 통한 실행 트리거
• 함수의 병렬 실행 및 확장을 보장
• 로깅, 모니터링 등
• 만족할만한 가격
서버리스 웹 애플리케이션 아키텍처
Images/Video
HTML/CSS/JS
정적 요청
Angular/SPA
Amazon
CloudFront/
Amazon S3
Desktop
*aaS
Mobile
서버리스 웹 애플리케이션 아키텍처
Images/Video
HTML/CSS/JS
정적 요청
동적 요청AWS Lambda
Angular/SPA
Amazon
API Gateway
api.example.com
Desktop
*aaS
Mobile
Amazon
CloudFront/
Amazon S3
api.example.com
서버리스 웹 애플리케이션 아키텍처
Images/Video
HTML/CSS/JS
정적 요청
동적 요청AWS Lambda
Amazon
DynamoDB
지속성 데이터베이스
Angular/SPA
api.example.com
Desktop
*aaS
Mobile
Amazon
CloudFront/
Amazon S3
Amazon
API Gateway
서버리스 마이크로서비스 구현 사례
(c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
Elastic
Load Balancer AWS Opsworks
www.vingle.net
api1.vingle.net
EC2
.
.
.
DB / Cache
EC2
EC2
기존 서비스 및 인프라 구조
Web server /
Background Worker /
REST API /
ORM /
Business logic
….
Feed
Search
Card Writing
Admin
Spam
….
(c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
API Gateway
Lambda
DynamoDB
(List of spam keywords)
POST /api/validates
Body: {
data: “ABCDEFG”
}
서버리스 마이크로서비스 테스트 - 스팸 필터
(c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
서버리스 마이크로서비스 이전- 6개월 뒤…
§ Netflix와 같은 Strangler Pattern
Architecture
§ 모든 요청을 받는 기존 API서버가 있
고, 해당 API서버에서 필요로 하는
마이크로서비스를 REST HTTP기반
통신으로 사용
§ 모니터링을 위해 Cloudwatch를 사
용하여 알림 자동화
§ 서비스들 간의 Dependency를
모니터링 툴을 만들어 관리
§ 각 서비스를 독립적으로
개발 / 배포 / 모니터링
(c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
Lesson Learned- Microservice Migration
1. 새로 추가/변경 필요한 기능부터 분리
• 잘 돌아가고 있는 오래된 기능 재작성은 리스크 높음
• 리스크가 작은 것부터 시작해서 팀 단위 운영/개발 노하우 축적
2. Business Domain 단위 서비스 구성
• Team(X), End-Point(X), # of APIs
• Cache (X), Database (X)
• Feed (O), Notification(O)
3. 서비스 존재 목적은 사용 되어지는 것
• 다른 개발자 / 시스템에서 쓰기 쉽도록 API 인터페이스 필수
• REST API라면 Swagger등을 통해 적극적으로 문서화
(c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
1. AWS에서 제공하는 Fully-managed service 적극 활용
• Search Microservice ▶ Lambda + Cloudsearch
• Feed Microservice ▶ Lambda + DynamoDB + Kinesis Stream
2. Infrastructure-as-a-Code (AWS CloudFormation)
• 시간이 조금만 지나면, AWS내 많은 리소스 관리하기 어려워짐
• AWS CloudFormation을 통해 리소스들을 코드화 / 데이터화
Lesson Learned - Cloud Infrastructure
(c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
배포를 위한 AWS Serverless Application Model (SAM)
1. SAM 파일을 사용하여 Lambda 함수, API 게이트웨이 (Swagger 파일 사용) 및 DynamoDB
테이블을 사용하여 서버리스 애플리케이션을 기술
2. AWS 리소스 배포를 위해 CloudFormation을 사용
Lambda 콘솔에서 SAM 파일 내보내기 SAM 파일 예제
개발 문화 베스트 프랙티스
마이크로서비스 아키텍처를 위한 개발 문화
Microservices
작은 서비스 개발
단위로 쪼개 API로
연동하여 개발 민첩성
및 독립적 배포 가능
Two-Pizza Team
서비스 개발 및 배포
운영 등을 모두 맡는
자율적이고 오너쉽을
가진 팀 구성 및 문화
Automation
개별팀이 자신의
서비스 개발 에만
집중할 수 있는
자동화 도구 제공
“Any organization that designs a system
will inevitably produce a design whose
structure is a copy of the organization’s
communication structure.”
Melvin E. Conway, 1967
Conway’s Law
지속적인 서비스 모니터링 도구 개발 투자
• API 외부적인 요소 모니터링
• Latency, RPS, Error rate
• API 내부적인 요소 모니터링
• CloudWatch, OS, Application
• AWS 기반 모니터링 및 분석 도구 활용
• CloudWatch 및 CloudWatchLogs
다양한 오픈소스 프레임워크 활용
Chalice
Framework
Serverless Java
Container
예: 서버리스 서비스 개발 및 배포를 위한 오픈 소스 확산
외부 API 서비스를 통한 생태계 확산
https://aws.amazon.com/ko/blogs/compute/gener
ate-your-own-api-gateway-developer-portal/
https://aws.amazon.com/ko/blogs/compute/monetize-
your-apis-in-aws-marketplace-using-api-gateway/
API Gateway Developer Portal
Serverless Application Model (SAM) 기반의
오픈 소스 키 발급 및 관리 백엔드
API Monetization in Marketplace
AWS Marketplace를 통해 API 서비스 판매 및
수익화 가능
손 쉬운 배포: AWS CodeStar
Source Build Test Production
Third Party
Tooling
AWS 데브옵스를 위한 지속적
통합(CI) 전달(CD) 및 프로젝트 운영
AWS CodeCommit AWS CodeBuild
AWS CodeDeploy
AWS Elastic Beanstalk
AWS CloudFormation
AWS CodePipeline
AWS CodeStar
AWS IAM
Amazon
CloudWathch
3rd Party Extensions
https://www.slideshare.net/awskorea/aws-80047474
빠른 빌드/테스트/배포
가능
명확한 오너쉽 및
자율적 운영
개별 마이크로
서비스 확장 가능
몇 분만에
배포 가능
신규 기능
빠르게
추가 가능
빠른 운영 및
개선
빠른 혁신
고객 만족
높은
민첩성
마이크로 서비스의 이점
이 모든 것으로 좋아진 점
• 새벽 3시에 일어날 필요가 없어졌어요
• 배포가 너무 쉬워요
• 일찍 그리고 자주 배포해요
• 혼자서도 서비스를 동작 시킬 수 있어요
• 버그가 많이 줄어들었고 (옆 시스템에 의한 영향)이 적어졌어요
• 어떻게 확장하는지 잘 알고 있어요
• SSH는 이제 필요 없어요
• 문제 발견 시 해결도 손 쉬워요
• 모듈 식 솔루션을 구축할 수 있었어요
AWS의 수많은 Serverless 옵션
스토리지
데이터베이스
네트워크
컴퓨팅
콘텐츠 전송
메시징 및 대기열보안
게이트웨이
사용자 관리
모니터링 및 로깅
사물 인터넷
기계 학습
데이터 분석
AWS 활용 = Building Block 조립
작은 서비스 구축에 적절한
다양한 서비스들을 유연하게 조립하여 활용
Q&A
감사합니다!

Contenu connexe

Tendances

AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)
AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)
AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)
Amazon Web Services Korea
 
Data Center to Cloud - AWS 마이그레이션 자동화 방법 및 도구 - AWS Summit Seoul 2017
Data Center to Cloud - AWS 마이그레이션 자동화 방법 및 도구 - AWS Summit Seoul 2017Data Center to Cloud - AWS 마이그레이션 자동화 방법 및 도구 - AWS Summit Seoul 2017
Data Center to Cloud - AWS 마이그레이션 자동화 방법 및 도구 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
찾아가는 AWS 세미나(구로,가산,판교) - AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) -  AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)찾아가는 AWS 세미나(구로,가산,판교) -  AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) - AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)
Amazon Web Services Korea
 
AWS 엣지 서비스를 통한 글로벌 서비스 관리 전략 - AWS Summit Seoul 2017
 AWS 엣지 서비스를 통한 글로벌 서비스 관리 전략 - AWS Summit Seoul 2017 AWS 엣지 서비스를 통한 글로벌 서비스 관리 전략 - AWS Summit Seoul 2017
AWS 엣지 서비스를 통한 글로벌 서비스 관리 전략 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
AWS CLOUD 2017 - AWS 신규 서비스를 통해 본 클라우드의 미래 (김봉환 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS 신규 서비스를 통해 본 클라우드의 미래 (김봉환 솔루션즈 아키텍트)AWS CLOUD 2017 - AWS 신규 서비스를 통해 본 클라우드의 미래 (김봉환 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS 신규 서비스를 통해 본 클라우드의 미래 (김봉환 솔루션즈 아키텍트)
Amazon Web Services Korea
 
인프라 자동 배포를 위한 AWS CloudFormation 고급 활용법 - AWS Summit Seoul 2017
인프라 자동 배포를 위한 AWS CloudFormation 고급 활용법 - AWS Summit Seoul 2017인프라 자동 배포를 위한 AWS CloudFormation 고급 활용법 - AWS Summit Seoul 2017
인프라 자동 배포를 위한 AWS CloudFormation 고급 활용법 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
AWS CLOUD 2018- 인공지능 보안 위협 감지 서비스 Amazon GuardDuty를 포함한 AWS 보안 신규 기능 업데이트 (임기...
AWS CLOUD 2018- 인공지능 보안 위협 감지 서비스 Amazon GuardDuty를 포함한 AWS 보안 신규 기능 업데이트 (임기...AWS CLOUD 2018- 인공지능 보안 위협 감지 서비스 Amazon GuardDuty를 포함한 AWS 보안 신규 기능 업데이트 (임기...
AWS CLOUD 2018- 인공지능 보안 위협 감지 서비스 Amazon GuardDuty를 포함한 AWS 보안 신규 기능 업데이트 (임기...
Amazon Web Services Korea
 
멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017
멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017
멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017
AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017
AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
AWS CLOUD 2018- AWS 네트워크 신규 기능 업데이트  (강동환 솔루션즈 아키텍트)
AWS CLOUD 2018- AWS 네트워크 신규 기능 업데이트  (강동환 솔루션즈 아키텍트)AWS CLOUD 2018- AWS 네트워크 신규 기능 업데이트  (강동환 솔루션즈 아키텍트)
AWS CLOUD 2018- AWS 네트워크 신규 기능 업데이트  (강동환 솔루션즈 아키텍트)
Amazon Web Services Korea
 

Tendances (20)

AWS 12월 웨비나 │클라우드 마이그레이션을 통한 성공사례
AWS 12월 웨비나 │클라우드 마이그레이션을 통한 성공사례AWS 12월 웨비나 │클라우드 마이그레이션을 통한 성공사례
AWS 12월 웨비나 │클라우드 마이그레이션을 통한 성공사례
 
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
 
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive [2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
 
AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)
AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)
AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)
 
[AWSome Day온라인 컨퍼런스] 강의 2: 클라우드 시작하기 - 장기웅, AWS 테크니컬 트레이너
[AWSome Day온라인 컨퍼런스] 강의 2: 클라우드 시작하기 - 장기웅, AWS 테크니컬 트레이너[AWSome Day온라인 컨퍼런스] 강의 2: 클라우드 시작하기 - 장기웅, AWS 테크니컬 트레이너
[AWSome Day온라인 컨퍼런스] 강의 2: 클라우드 시작하기 - 장기웅, AWS 테크니컬 트레이너
 
Data Center to Cloud - AWS 마이그레이션 자동화 방법 및 도구 - AWS Summit Seoul 2017
Data Center to Cloud - AWS 마이그레이션 자동화 방법 및 도구 - AWS Summit Seoul 2017Data Center to Cloud - AWS 마이그레이션 자동화 방법 및 도구 - AWS Summit Seoul 2017
Data Center to Cloud - AWS 마이그레이션 자동화 방법 및 도구 - AWS Summit Seoul 2017
 
AWS 9월 웨비나 | AWS와 함께 하는 클라우드 컴퓨팅
AWS 9월 웨비나 |  AWS와 함께 하는 클라우드 컴퓨팅AWS 9월 웨비나 |  AWS와 함께 하는 클라우드 컴퓨팅
AWS 9월 웨비나 | AWS와 함께 하는 클라우드 컴퓨팅
 
찾아가는 AWS 세미나(구로,가산,판교) - AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) -  AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)찾아가는 AWS 세미나(구로,가산,판교) -  AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) - AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)
 
AWS 엣지 서비스를 통한 글로벌 서비스 관리 전략 - AWS Summit Seoul 2017
 AWS 엣지 서비스를 통한 글로벌 서비스 관리 전략 - AWS Summit Seoul 2017 AWS 엣지 서비스를 통한 글로벌 서비스 관리 전략 - AWS Summit Seoul 2017
AWS 엣지 서비스를 통한 글로벌 서비스 관리 전략 - AWS Summit Seoul 2017
 
AWS CLOUD 2017 - AWS 신규 서비스를 통해 본 클라우드의 미래 (김봉환 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS 신규 서비스를 통해 본 클라우드의 미래 (김봉환 솔루션즈 아키텍트)AWS CLOUD 2017 - AWS 신규 서비스를 통해 본 클라우드의 미래 (김봉환 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS 신규 서비스를 통해 본 클라우드의 미래 (김봉환 솔루션즈 아키텍트)
 
인프라 자동 배포를 위한 AWS CloudFormation 고급 활용법 - AWS Summit Seoul 2017
인프라 자동 배포를 위한 AWS CloudFormation 고급 활용법 - AWS Summit Seoul 2017인프라 자동 배포를 위한 AWS CloudFormation 고급 활용법 - AWS Summit Seoul 2017
인프라 자동 배포를 위한 AWS CloudFormation 고급 활용법 - AWS Summit Seoul 2017
 
클라우드 뉴노멀 시대의 글로벌 혁신 기업들의 디지털 트랜스포메이션 :: 정우진 이사
클라우드 뉴노멀 시대의 글로벌 혁신 기업들의 디지털 트랜스포메이션 :: 정우진 이사클라우드 뉴노멀 시대의 글로벌 혁신 기업들의 디지털 트랜스포메이션 :: 정우진 이사
클라우드 뉴노멀 시대의 글로벌 혁신 기업들의 디지털 트랜스포메이션 :: 정우진 이사
 
엔터프라이즈 기업의 AWS 도입과 구축 그리고 이후 :: BD 윤기성:: AWS Summit Seoul 2016
엔터프라이즈 기업의 AWS 도입과 구축 그리고 이후 :: BD 윤기성:: AWS Summit Seoul 2016엔터프라이즈 기업의 AWS 도입과 구축 그리고 이후 :: BD 윤기성:: AWS Summit Seoul 2016
엔터프라이즈 기업의 AWS 도입과 구축 그리고 이후 :: BD 윤기성:: AWS Summit Seoul 2016
 
2017 AWSome Day Online Conference - 강의 3. AWS 보안 및 AWS Identity and Access Ma...
2017 AWSome Day Online Conference - 강의 3. AWS 보안 및 AWS Identity and Access Ma...2017 AWSome Day Online Conference - 강의 3. AWS 보안 및 AWS Identity and Access Ma...
2017 AWSome Day Online Conference - 강의 3. AWS 보안 및 AWS Identity and Access Ma...
 
AWS CLOUD 2018- 인공지능 보안 위협 감지 서비스 Amazon GuardDuty를 포함한 AWS 보안 신규 기능 업데이트 (임기...
AWS CLOUD 2018- 인공지능 보안 위협 감지 서비스 Amazon GuardDuty를 포함한 AWS 보안 신규 기능 업데이트 (임기...AWS CLOUD 2018- 인공지능 보안 위협 감지 서비스 Amazon GuardDuty를 포함한 AWS 보안 신규 기능 업데이트 (임기...
AWS CLOUD 2018- 인공지능 보안 위협 감지 서비스 Amazon GuardDuty를 포함한 AWS 보안 신규 기능 업데이트 (임기...
 
멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017
멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017
멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017
 
AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017
AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017
AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017
 
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
 
AWS Summit Seoul 2015 - AWS를 통한 클라우드 보안 이해하기
AWS Summit Seoul 2015 - AWS를 통한 클라우드 보안 이해하기AWS Summit Seoul 2015 - AWS를 통한 클라우드 보안 이해하기
AWS Summit Seoul 2015 - AWS를 통한 클라우드 보안 이해하기
 
AWS CLOUD 2018- AWS 네트워크 신규 기능 업데이트  (강동환 솔루션즈 아키텍트)
AWS CLOUD 2018- AWS 네트워크 신규 기능 업데이트  (강동환 솔루션즈 아키텍트)AWS CLOUD 2018- AWS 네트워크 신규 기능 업데이트  (강동환 솔루션즈 아키텍트)
AWS CLOUD 2018- AWS 네트워크 신규 기능 업데이트  (강동환 솔루션즈 아키텍트)
 

En vedette

En vedette (10)

[2017 AWS Startup Day] 인프라 관점에서 접근하는 리디스토리 개발기
[2017 AWS Startup Day] 인프라 관점에서 접근하는 리디스토리 개발기[2017 AWS Startup Day] 인프라 관점에서 접근하는 리디스토리 개발기
[2017 AWS Startup Day] 인프라 관점에서 접근하는 리디스토리 개발기
 
[Partner TechShift 2017] AWS 마켓플레이스를 통한 글로벌 소프트웨어 판매하기
[Partner TechShift 2017] AWS 마켓플레이스를 통한 글로벌 소프트웨어 판매하기[Partner TechShift 2017] AWS 마켓플레이스를 통한 글로벌 소프트웨어 판매하기
[Partner TechShift 2017] AWS 마켓플레이스를 통한 글로벌 소프트웨어 판매하기
 
[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트
[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트
[Partner TechShift 2017] AWS 마켓플레이스 등록을 위한 테크니컬 체크리스트
 
Apache MXNet으로 배워보는 딥러닝(Deep Learning) - 김무현 (AWS 솔루션즈아키텍트)
Apache MXNet으로 배워보는 딥러닝(Deep Learning) - 김무현 (AWS 솔루션즈아키텍트)Apache MXNet으로 배워보는 딥러닝(Deep Learning) - 김무현 (AWS 솔루션즈아키텍트)
Apache MXNet으로 배워보는 딥러닝(Deep Learning) - 김무현 (AWS 솔루션즈아키텍트)
 
[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업
[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업
[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업
 
[Partner TechShift 2017] EXEM의 AWS 마켓플레이스 실전 경험 공유
[Partner TechShift 2017] EXEM의 AWS 마켓플레이스 실전 경험 공유[Partner TechShift 2017] EXEM의 AWS 마켓플레이스 실전 경험 공유
[Partner TechShift 2017] EXEM의 AWS 마켓플레이스 실전 경험 공유
 
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
 
[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐
[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐
[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐
 
[2017 AWS Startup Day] VC가 바라보는 스타트업의 기술과 개발역량
[2017 AWS Startup Day] VC가 바라보는 스타트업의 기술과 개발역량[2017 AWS Startup Day] VC가 바라보는 스타트업의 기술과 개발역량
[2017 AWS Startup Day] VC가 바라보는 스타트업의 기술과 개발역량
 
2017 스타트업을 위한 AWS 브로셔
2017 스타트업을 위한 AWS 브로셔2017 스타트업을 위한 AWS 브로셔
2017 스타트업을 위한 AWS 브로셔
 

Similaire à [2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기

마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
Amazon Web Services Korea
 

Similaire à [2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기 (20)

마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
 
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
 
Serverless Architecture - 김현민
Serverless Architecture - 김현민Serverless Architecture - 김현민
Serverless Architecture - 김현민
 
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
 
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos
 
Deployment techniques for cloud native
Deployment techniques for cloud nativeDeployment techniques for cloud native
Deployment techniques for cloud native
 
Spring cloud on kubernetes
Spring cloud on kubernetesSpring cloud on kubernetes
Spring cloud on kubernetes
 
Openshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud NativeOpenshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud Native
 
AWS 클라우드 서비스 소개 및 사례 (방희란) - AWS 101 세미나
AWS 클라우드 서비스 소개 및 사례 (방희란) - AWS 101 세미나AWS 클라우드 서비스 소개 및 사례 (방희란) - AWS 101 세미나
AWS 클라우드 서비스 소개 및 사례 (방희란) - AWS 101 세미나
 
Session 1. 디지털 트렌스포메이션의 핵심, 클라우드 마이그레이션 A to Z - 베스핀글로벌 이근우 위원
Session 1. 디지털 트렌스포메이션의 핵심, 클라우드 마이그레이션 A to Z - 베스핀글로벌 이근우 위원Session 1. 디지털 트렌스포메이션의 핵심, 클라우드 마이그레이션 A to Z - 베스핀글로벌 이근우 위원
Session 1. 디지털 트렌스포메이션의 핵심, 클라우드 마이그레이션 A to Z - 베스핀글로벌 이근우 위원
 
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
 
[2017 Windows on AWS] AWS를 활용한 그룹웨어 구축 방안
[2017 Windows on AWS] AWS를 활용한 그룹웨어 구축 방안[2017 Windows on AWS] AWS를 활용한 그룹웨어 구축 방안
[2017 Windows on AWS] AWS를 활용한 그룹웨어 구축 방안
 
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...
 
DevOps를 위한 AWS 서비스 및 개발도구 -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나
DevOps를 위한 AWS 서비스 및 개발도구  -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나 DevOps를 위한 AWS 서비스 및 개발도구  -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나
DevOps를 위한 AWS 서비스 및 개발도구 -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나
 
AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트
AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트
AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트
 
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나- IBM Bluemix
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나- IBM Bluemix제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나- IBM Bluemix
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나- IBM Bluemix
 

Plus de Amazon Web Services Korea

Plus de Amazon Web Services Korea (20)

AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2
 
AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1
 
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
 
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
 
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
 
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
 
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
 
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
 
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
 
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
 
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
 
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
 
From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...
 
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
 
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
 
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
 
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
 
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
 
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
 
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
 

Dernier

Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
Wonjun Hwang
 

Dernier (7)

MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
 
[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 

[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 김필중, 솔루션즈 아키텍트 2017.11.02 AWS Startup Day 서버리스 마이크로서비스
  • 2. 스타트업이 고려하는 것들 큰 규모 기대 기능에 집중 Lean IT 부서 저렴한 비용 == 비지니스 지속
  • 3. 우리가 고려하는 또 다른 것들 신뢰성 성능 비용 효율성 보안
  • 4. 목표를 위한 보통의 접근: 다양한 프레임워크 활용
  • 5. 목표를 위한 보통의 접근: Monolithic/N-티어 아키텍처 Data Center 1 Your infrastructure provider Data Center 2 Load Balancer DB Master DB Standby App Server App Server
  • 6. AWS에서 스타트업들의 접근법 git clone git://myrepo && cd myrepo eb init eb create prod pg_restore –v –h mydb.rds.amazonaws.com latest.dump eb setenv SHARED_KEY_OF_SOME_SORT=58dex..24513j // changes eb create test git add . && git commit –m “profound change” eb deploy // test eb switch prod && eb deploy
  • 7. VM 기반의 N-티어 아키텍처 ExampleApp-Test ExampleApp-Prod Availability Zone A Availability Zone B Elastic Load Balancing EC2 RDS Standby EC2
  • 8. 추가적인 중요한 이점들! ExampleApp-Test ExampleApp-Prod Availability Zone A Availability Zone B Elastic Load Balancing EC2 RDS Standby EC2 Amazon CloudWatch • 서비스 차원의 리소스 모니터링 • 로그 관리 AWS 보안 • IAM • VPC 네트워킹 전문 서비스 • 블록/오브젝트 저장소 • 캐싱 • DNS
  • 9. AWS Elastic Beanstalk ­ 손 쉬운 N-티어 구축 및 운영 ExampleApp-Test ExampleApp-Prod Availability Zone A Availability Zone B Elastic Load Balancing EC2 RDS Standby EC2 Amazon CloudWatch • 서비스 차원의 리소스 모니터링 • 로그 관리 AWS 보안 • IAM • VPC 네트워킹 전문 서비스 • 블록/오브젝트 저장소 • 캐싱 • DNS 모범 사례로 가는 가장 빠른 길 AWS Elastic Beanstalk • 시작부터 클라우드 모범 사례로 구축 가능 • 개발자 워크플로우와 통합 • Elastic Beanstalk 명령행 인터페이스를 활용
  • 10. 성장하는 서비스에서 Monolith 앱의 단점 장기 개발 사이클 (다수개발자 공동 참여) 운영의 어려움 (특정 모듈 장애시) 애플리케이션 확장성 애로 신규 출시에 몇 달이 걸림 신규 기능 추가에 어려움 아키텍처 유지 진화의 어려움 혁신 저해 고객 불만족 민첩성 저해
  • 11. 성공을 위한 표준 패턴 확인 Monolithic 여러 서비스 내부 마이크로서비스 플랫폼
  • 12. AWS 기반 마이크로서비스 아키텍처 사례 Building a Microservices Gaming Platform for Turbine Mobile Games (2016) From Monolithic to Microservices Evolving Architecture Patterns in the Cloud (2016) Developing Mobile Apps and Serverless Microservices for Enterprises using AWS (2016) Pure Play Video OTT- A Microservices Architecture (2015) Nike's Journey into Microservices (2014) A Journey to Microservices (2015) 마이크로서비스 기반 모바일 서비스 마이그레이션 (2016) 마이크로 서비스 아키텍처로 방송 서비스 진화 (2016) 삼성전자 IoT 서비스 마이크로서비스 구축 사례 서버리스 마이크로 서비스 전환 사례
  • 13. 추천 동영상: Netflix 마이크로서비스 아키텍처 https://www.youtube.com/watch?v=Oc zG5FQIcXw https://www.youtube.com/watch?v=- mL3zT1iIKw
  • 14. “service-oriented architecture composed of loosely coupled elements that have bounded contexts” Adrian Cockcroft (VP of Cloud Architecture @ AWS, former Cloud Architect at Netflix) 마이크로서비스란?
  • 15. 다른 서비스의 내부 구조를 알지 못해도, 내 서비스 코드를 업데이트 할 수 있다. 서비스들이 네트워크를 통해 서로 API로 통신한다. 서비스는 독자적으로 업데이트하며, 서로 영향을 주지 않는다. “service-oriented architecture composed of loosely coupled elements that have bounded contexts” Adrian Cockcroft (VP of Cloud Architecture @ AWS, former Cloud Architect at Netflix)
  • 16. Monolithic vs. SOA vs. Microservices SOA 거친 입자 Microservices 고운 입자 Monolithic 하나의 입자
  • 17. 마이크로서비스 vs SOA Microservices: • 많은 작은 구성요소 • 단일 서비스 도메인 내에 비지니스 로직이 동작 • 간단한 와이어 프로토콜 (XML/JSON와 HTTP) • SDK와 클라이언트와 함께 API 지향 SOA: • 보다 정교한 구성요소 감소 • 여러 도메인에 걸쳐 비지니스 로직이 동작 • 서비스간 레이어와 같은 엔터프라이즈 서비스 버스 • 미들웨어
  • 18. Monolithic 아키텍처 Order UI User UI Shipping UI Order Service User Service Shipping Service Data Access
  • 21. 마이크로서비스 아키텍처 Order UI User UI Shipping UI Order Service User Service Shipping Service
  • 22. 마이크로서비스 아키텍처 - 확장 Order UI User UI UI Order Service Service Shipping Service Order UI Order UI User UI UIShipping UI Order ServiceOrder Service Service Service Service Service User Service Shipping Service
  • 23. 마이크로서비스 개발 라이프사이클 개발 전달 파이프라인마이크로서비스 build pipeline build pipeline build pipeline build pipeline build pipeline build pipeline build pipeline build pipeline build pipeline build pipeline build pipeline build pipeline build pipeline build pipeline build pipeline
  • 24. Build Stage #1 Stage #2 … Stage #N Production Build Build Build Build Spring Developer/ Team Developer/ Team Developer/ Team Developer/ Team Developer/ Team
  • 25. Developer Build Stage #1 Stage #2 … Stage #N Production Build Build Build Build Bug! Spring Developer/ Team Developer/ Team Developer/ Team Developer/ Team
  • 26. Build Build Build Stage #1 Stage #2 … Stage #N Production Build Build Build Build Build Build Build Build Build Build Build Build Spring Node.js Ruby on Rails Developer/ Team Developer/ Team Developer/ Team Developer/ Team Developer/ Team
  • 27. Build Build Developer Build Stage #1 Stage #2 … Stage #N Production Build Build Build Build Bug! Build Build Build Build Build Build Build Build Spring Node.js Ruby onRails Developer/ Team Developer/ Team Developer/ Team Developer/ Team
  • 28. 마이크로서비스 아키텍처 특징 Do one thing well Independent Decentralized Black Box Polyglot You build it, you run it
  • 29. 마이크로서비스의 이점 • 복잡성 감소 https://www.nginx.com/resources/library/designing-deploying-microservices/
  • 30. 마이크로서비스의 이점 • 복잡성 감소 • 독립적인 개발 https://www.nginx.com/resources/library/designing-deploying-microservices/ Mock Service Tests
  • 31. 마이크로서비스의 이점 • 복잡성 감소 • 독립적인 개발 • 독립적인 배포 https://www.nginx.com/resources/library/designing-deploying-microservices/ v1.1 v1.2
  • 32. 마이크로서비스의 이점 • 복잡성 감소 • 독립적인 개발 • 독립적인 배포 • 독립적인 확장성 https://www.nginx.com/resources/library/designing-deploying-microservices/
  • 34. 마이크로서비스로의 전환 단계 1 기능성 분리 Code Order Code Monolith ServiceMonolith Service Custom er Code Monolith DB Monolith DB
  • 35. 마이크로서비스로의 전환 단계 2 데이터 분리 Code Order Code Monolith Service Customer Code Order Code Monolith Service Customer Code Monolith DB Order DB Customer DB
  • 36. 데이터 캡슐화 Foreign Key가 필요하면? 서비스를 통한 데이터 접근 Order Customer Order DB Customer DB Order Customer Order DB Customer DB
  • 37. 데이터 캡슐화 공유된 데이터가 필요하면? 별도 서비스 생성 Address Order Customer
  • 38. 데이터 캡슐화 단일 테이블이라면? 두개로 분리 Order Customer
  • 39. 이벤트 기반과 최종 일관성 Order Customer Customer DB Topic Order DB POST /Orders (including address change)
  • 40. 마이크로서비스로의 전환 단계 3 배포 분리 Code Order Code Microservice Customer Code Monolith DB Order DB Customer DB Order Code Monolith Service Customer Code Order DB Customer DB
  • 42. 배포 분리 독립 CD 파이프라인 Compile Unit Test Package Deploy E2E Test ProdOrder Compile Unit Test Package Deploy E2E Test Prod Contract Tests Customer
  • 43. 마이크로서비스로의 진화 • 새로운 기능을 마이크로서비스로 구성 • 점진적으로 기능 단위 마이그레이션 • 올 인/완전 리빌드
  • 44. 마이크로서비스로의 진화 • 새로운 기능을 마이크로서비스로 구성 • 점진적으로 기능 단위 마이그레이션 • 올 인/완전 리빌드
  • 45. 새로운 기능을 마이크로서비스로 구성 • 새로운 기능이 필요할 때, 마이크로서비스를 첫 번째 접근 방식으로 사용 • Monolith에서의 종속성이 마이크로서비스에 미치는 영향을 고려 • ”if you find yourself in a hole, stop digging”, 문제 발생 시 새로운 방법 및 접근법을 고려
  • 47. Amazon EC2 Amazon ECS AWS Lambda 서버에서 작동하는 애플리케이션 컨테이너로 동작하는 서비스 클라우드에서 동작하는 함수 • 머신 단위의 확장 • 하드웨어 추상화 • 머신, 스토리지, 네트워킹, OS를 직접 구성하고 싶을 때 선택 • 앱 단위의 확장 • OS 추상화 • 서버를 구동, 애플리케이션 구성, 확장을 제어하고 싶을 때 • 함수 단위의 확장 • 언어 런타임 추상화 • 필요할 때 코드가 실행되도록 하고 싶을 때
  • 48. Amazon EC2 Amazon ECS AWS Lambda 서버에서 작동하는 애플리케이션 컨테이너로 동작하는 서비스 클라우드에서 동작하는 함수 • 머신 단위의 확장 • 하드웨어 추상화 • 머신, 스토리지, 네트워킹, OS를 직접 구성하고 싶을 때 선택 • 앱 단위의 확장 • OS 추상화 • 서버를 구동, 애플리케이션 구성, 확장을 제어하고 싶을 때 • 함수 단위의 확장 • 언어 런타임 추상화 • 필요할 때 코드가 실행되도록 하고 싶을 때
  • 49. AWS Lambda 서버리스, 이벤트 처리 방식의 컴퓨팅 서비스 Lambda = 서버리스 마이크로서비스
  • 50. Lambda : 동작 원리 Bring your own code • Node.js, Java, Python • Java = Scala, Clojure 등의 어떠한 JVM기반 언어. • Bring your own libraries 유연한 호출 경로 • Event 혹은 Request/Response 호출 옵션 • 여러 AWS 서비스들과 통합 단순한 자원 모델 • 128MB부터 1.5GB까지 64MB 단위로 메모리 설정 • 할당된 메모리에 비례하여 CPU 및 네트웍 자원 할당 • 실제 사용량 내역 보고 효과적인 권한 통제 • AWS IAM (Identity and Access Management) Role을 사용한 실행 권한 설정 • AWS 이벤트 소스에 대한 자원 정책
  • 51. Lambda : 동작 원리 제작 기능 • AWS SDK 포함 • 인바운드 네트웍 처리 • 프로세스, 쓰레드, /tmp, 소켓 … 배포 옵션 • 콘솔의 WYSIWIG 편집기를 사용하여 직접 제작/배포 • 코드를 zip 파일로 묶어 Lambda 서비스 혹은 S3로 전송 Stateless 기능 • S3/Amazon DynamoDB/Amazon ElastiCache를 사용한 저장 • 인프라스트럭쳐와의 연관성 없음 (로그인 불가) 모니터링 및 로깅 • Amazon CloudWatch 메트릭 – 요청 수, 에러 수, 처리 시간, 처리량 • Amazon CloudWatch Log를 사용하여 로깅
  • 52. Lambda 사용 이점 • 서버 용량 자동 확장 • API를 통한 실행 트리거 • 함수의 병렬 실행 및 확장을 보장 • 로깅, 모니터링 등 • 만족할만한 가격
  • 53. 서버리스 웹 애플리케이션 아키텍처 Images/Video HTML/CSS/JS 정적 요청 Angular/SPA Amazon CloudFront/ Amazon S3 Desktop *aaS Mobile
  • 54. 서버리스 웹 애플리케이션 아키텍처 Images/Video HTML/CSS/JS 정적 요청 동적 요청AWS Lambda Angular/SPA Amazon API Gateway api.example.com Desktop *aaS Mobile Amazon CloudFront/ Amazon S3 api.example.com
  • 55. 서버리스 웹 애플리케이션 아키텍처 Images/Video HTML/CSS/JS 정적 요청 동적 요청AWS Lambda Amazon DynamoDB 지속성 데이터베이스 Angular/SPA api.example.com Desktop *aaS Mobile Amazon CloudFront/ Amazon S3 Amazon API Gateway
  • 56. 서버리스 마이크로서비스 구현 사례 (c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
  • 57. Elastic Load Balancer AWS Opsworks www.vingle.net api1.vingle.net EC2 . . . DB / Cache EC2 EC2 기존 서비스 및 인프라 구조 Web server / Background Worker / REST API / ORM / Business logic …. Feed Search Card Writing Admin Spam …. (c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
  • 58. API Gateway Lambda DynamoDB (List of spam keywords) POST /api/validates Body: { data: “ABCDEFG” } 서버리스 마이크로서비스 테스트 - 스팸 필터 (c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
  • 59. 서버리스 마이크로서비스 이전- 6개월 뒤… § Netflix와 같은 Strangler Pattern Architecture § 모든 요청을 받는 기존 API서버가 있 고, 해당 API서버에서 필요로 하는 마이크로서비스를 REST HTTP기반 통신으로 사용 § 모니터링을 위해 Cloudwatch를 사 용하여 알림 자동화 § 서비스들 간의 Dependency를 모니터링 툴을 만들어 관리 § 각 서비스를 독립적으로 개발 / 배포 / 모니터링 (c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
  • 60. Lesson Learned- Microservice Migration 1. 새로 추가/변경 필요한 기능부터 분리 • 잘 돌아가고 있는 오래된 기능 재작성은 리스크 높음 • 리스크가 작은 것부터 시작해서 팀 단위 운영/개발 노하우 축적 2. Business Domain 단위 서비스 구성 • Team(X), End-Point(X), # of APIs • Cache (X), Database (X) • Feed (O), Notification(O) 3. 서비스 존재 목적은 사용 되어지는 것 • 다른 개발자 / 시스템에서 쓰기 쉽도록 API 인터페이스 필수 • REST API라면 Swagger등을 통해 적극적으로 문서화 (c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
  • 61. 1. AWS에서 제공하는 Fully-managed service 적극 활용 • Search Microservice ▶ Lambda + Cloudsearch • Feed Microservice ▶ Lambda + DynamoDB + Kinesis Stream 2. Infrastructure-as-a-Code (AWS CloudFormation) • 시간이 조금만 지나면, AWS내 많은 리소스 관리하기 어려워짐 • AWS CloudFormation을 통해 리소스들을 코드화 / 데이터화 Lesson Learned - Cloud Infrastructure (c) 이상현(빙글), Vingle의 AWS 기반 서버리스 마이크로 서비스 구현 사례
  • 62. 배포를 위한 AWS Serverless Application Model (SAM) 1. SAM 파일을 사용하여 Lambda 함수, API 게이트웨이 (Swagger 파일 사용) 및 DynamoDB 테이블을 사용하여 서버리스 애플리케이션을 기술 2. AWS 리소스 배포를 위해 CloudFormation을 사용 Lambda 콘솔에서 SAM 파일 내보내기 SAM 파일 예제
  • 63. 개발 문화 베스트 프랙티스
  • 64. 마이크로서비스 아키텍처를 위한 개발 문화 Microservices 작은 서비스 개발 단위로 쪼개 API로 연동하여 개발 민첩성 및 독립적 배포 가능 Two-Pizza Team 서비스 개발 및 배포 운영 등을 모두 맡는 자율적이고 오너쉽을 가진 팀 구성 및 문화 Automation 개별팀이 자신의 서비스 개발 에만 집중할 수 있는 자동화 도구 제공
  • 65. “Any organization that designs a system will inevitably produce a design whose structure is a copy of the organization’s communication structure.” Melvin E. Conway, 1967 Conway’s Law
  • 66. 지속적인 서비스 모니터링 도구 개발 투자 • API 외부적인 요소 모니터링 • Latency, RPS, Error rate • API 내부적인 요소 모니터링 • CloudWatch, OS, Application • AWS 기반 모니터링 및 분석 도구 활용 • CloudWatch 및 CloudWatchLogs
  • 67. 다양한 오픈소스 프레임워크 활용 Chalice Framework Serverless Java Container 예: 서버리스 서비스 개발 및 배포를 위한 오픈 소스 확산
  • 68. 외부 API 서비스를 통한 생태계 확산 https://aws.amazon.com/ko/blogs/compute/gener ate-your-own-api-gateway-developer-portal/ https://aws.amazon.com/ko/blogs/compute/monetize- your-apis-in-aws-marketplace-using-api-gateway/ API Gateway Developer Portal Serverless Application Model (SAM) 기반의 오픈 소스 키 발급 및 관리 백엔드 API Monetization in Marketplace AWS Marketplace를 통해 API 서비스 판매 및 수익화 가능
  • 69. 손 쉬운 배포: AWS CodeStar Source Build Test Production Third Party Tooling AWS 데브옵스를 위한 지속적 통합(CI) 전달(CD) 및 프로젝트 운영 AWS CodeCommit AWS CodeBuild AWS CodeDeploy AWS Elastic Beanstalk AWS CloudFormation AWS CodePipeline AWS CodeStar AWS IAM Amazon CloudWathch 3rd Party Extensions https://www.slideshare.net/awskorea/aws-80047474
  • 70.
  • 71. 빠른 빌드/테스트/배포 가능 명확한 오너쉽 및 자율적 운영 개별 마이크로 서비스 확장 가능 몇 분만에 배포 가능 신규 기능 빠르게 추가 가능 빠른 운영 및 개선 빠른 혁신 고객 만족 높은 민첩성 마이크로 서비스의 이점
  • 72. 이 모든 것으로 좋아진 점 • 새벽 3시에 일어날 필요가 없어졌어요 • 배포가 너무 쉬워요 • 일찍 그리고 자주 배포해요 • 혼자서도 서비스를 동작 시킬 수 있어요 • 버그가 많이 줄어들었고 (옆 시스템에 의한 영향)이 적어졌어요 • 어떻게 확장하는지 잘 알고 있어요 • SSH는 이제 필요 없어요 • 문제 발견 시 해결도 손 쉬워요 • 모듈 식 솔루션을 구축할 수 있었어요
  • 73. AWS의 수많은 Serverless 옵션 스토리지 데이터베이스 네트워크 컴퓨팅 콘텐츠 전송 메시징 및 대기열보안 게이트웨이 사용자 관리 모니터링 및 로깅 사물 인터넷 기계 학습 데이터 분석
  • 74. AWS 활용 = Building Block 조립 작은 서비스 구축에 적절한 다양한 서비스들을 유연하게 조립하여 활용
  • 75. Q&A