© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS 선택과 집중
스타트업 관점에서 본 AWS 선택과 집중
한승호 / 에멘탈 CTO
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
발표자 소개
한승호
han@hansh.kr
https://twitter.com/shilpe0304
• 에멘탈 CTO / 공통 창업자
• 전) A2Company
• AWSUG 아키텍처 모임
• AWSUG CLI 모임
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
스타트업에서 AWS 도입하기
대기업부터
스타트업 모두가
클라우드를
사용하는 시대
블록처럼
AWS 서비스를
쌓고 조립하여
개발하는 시대
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
스타트업에서 AWS 도입하기
하지만…
AWS 서비스가…
블록이 너무 많아요 ㅠㅠ
인프라 고민은 줄어들고
블록을 고민하는 시대
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
스타트업 with AWS
• ‘스타트업’이 아닌 사내 ‘신규 서비스’에도 적용되는 내용
• ‘에멘탈’ 서비스를 기준으로의 AWS와 함께한 3년을 공유
스타트업 관점에서 본
AWS 선택과 집중
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
목차
1. 시작단계에 적합한 AWS 서비스 찾기
2. 성장하는 팀을 위한 AWS 서비스 선택
3. AWS + @
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
시작단계에 적합한 AWS 서비스 찾기
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
‘에멘탈’ 서비스 특징 소개
‘비즈넵’ 서비스 특징
• 경영데이터/세무/회계 SaaS
• 개발 초기부터 AWS 중심으로
• B2B 중심 서비스
• 동시 접속자가 많지 않은 서비스
• 대규모 금융 데이터 관리
• 데이터레이크에 고민
• 강력한 데이터 보안이 필요
• 내부업무에 대한 정책 필요
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
스타트
AWS를 처음 접하는 개발자 1명 ~ 2명
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
스타트업 창업 초기
창업 초기
• 개발자가 없다
• 데이터가 없다
• 시간도 없다
• 돈도 없다
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
스타트업 초기 목표
비용을 절약하며
적은인력으로
빠르게 MVP 개발
MVP(minimal viable product, 최소 기능 제품)
MVP
빠른 완성
투자
인원 +
개발비
프로덕트 마켓핏 Product Market Fit
(개발인원 2명이하)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS 학습
MVP 단계에서는 최소단계로 학습하세요
• AWS 공식문서 / 백서
• AWS Youtube 채널
• AWS UserGroup
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
초기단계 아키텍처의 함정
MSA(MICROSERVICE ARCHITECTURE) 보다는 Monolithic
• 초기에는 전체 서비스 자체가 마이크로MSA의 가장 큰 장점인 독립성과 역할,
책임 구분에 의한 확장성은 개발자 수가 적은 초기에는 방해요소가 될 수 있다
Serverless(Lambda + API Gateway) 보다는 Server
• 운영이 고도화 됨에 따라 무시할 수 없는 러닝커브
• 초기단계의 MVP는 가장 익숙한 개발환경으로도 충분
• 다만 창업 전부터 serverless로만 개발하셨던 분들에게만 추천
초기단계에는 많은 이론이 다르게 작용한다
MSA, Serverless는 개발속도를 높여주지 않을 수 있다
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
적합한 데이터베이스 선택하기
목적에 맞는
데이터베이스 선택
• HotData, ColdData
• 데이터의 크기
• 용량
• 아이템의 크기
• 요청 건수
• 내구성
클라우드 기반 AWS 데이터베이스 선택하기 - 김일호 솔루션즈 아키텍트(AWS 코리아)
https://www.youtube.com/watch?v=GCCCyW6dkmI
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
시작단계에 데이터의 온도는?
목적에 맞는
데이터베이스 선택
• HotData, ColdData
• 데이터의 크기
• 용량
• 아이템의 크기
• 요청 건수
• 내구성
데이터가 매우 춥습니다.
VERY COLD
자신에게 가장
익숙한
데이터베이스으로
우선 개발하세요
마켓핏 이후에
마이그레이션
하면됩니다
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
MVP 개발단계에 추천하는 AWS 서비스
MVP 개발 = 자신에게 현재 가장 익숙한 환경
EC2, Serverless 보다는 AWS Beanstalk
• EC2 직접 제어 가능
• 간편한 ELB, RDB 연동
• 간편한 배포/관리 (cli, console 지원)
• 하나의 App 최소 한개의 EC2 인스턴스
DynamoDB 보다는 RDS
• 관계형 데이터베이스가 필요하다면
• DynamoDB는 경험이 없다면 제약이 많음
• SQL만으로 관리/개발/분석 가능
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
서비스 소개사이트 MVP
CloudFront + CerificateManager + S3
직접 개발 보다는 HTML static site 활용
• CLI를 이용한 간단한 배포 ($ aws s3 sync )
• CloudFront를 CDN 속도와 안전성
• https 사이트 구축
• 정적페이지 생성기(Hugo, hexo, Jekyll..) 이용
• SPA(single page apllication) 서버로도 활용가능
+
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
프로덕션 마켓핏 전략
최소 요구사항에 맞춰
익숙한 개발환경을 구축하여
MVP 개발에 집중
AWS Poor Practice
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
성장하는 팀을 위한 AWS 서비스 선택
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
MVP 이후 성장하는 팀
• 사용자 증가
• 개발자 증가
• 팀 개수 증가
• AWS 리소스 증가
• 고정비용 증가
효율적인 확장을
위한 준비가 필요
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
스타트업의 성장
마켓핏 Market Fit 전환 Transition 성장 Growth
• Alpha
• 인원 4명 이하
• 개발자 2명 이하
• Beta
• 인원 15명 이하
• 개발자 6명 이하
• 계약업체 100개 이하
• Release
• 인원 30명 이하
• 개발자 15명
• 계약업체 3000개 이하
2018.11
‘에멘탈’ 기준으로
스타트업 성장 3단계
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
성장하면서 선택한 AWS 서비스
데이터베이스API 서버 내부관리
AWS 서비스 만으로 API를
구축하는 방법이 몇가지
있을까요?
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
API를 구축하는 n가지 방법
1. EC2
2. AWS Beanstalk
3. API Gateway + Lambda
4. Cognito + AppSync
5. ECS
6. EKS
7. Lightsail
8. AWS + Google, IBM
9. AWS + IDC
AWS
Severless
EC2 with Container
EC2
VPS
AWS + @
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless, EC2, Container
• 뛰어난 확장성!
• 높은 내구성!
• 합리적인 가격
• 한정된 자유도
• Native 사용의 어려움
• 분산되는 로그
• 효율적인 성능 사용
• Container의 독립성
• 강력한 확장성
• 이미지 중심의 CI / CD
Serverless EC2 EC2 with Container
• Local server 유사
• 다양한 성능의 옵션
• 배포와 관련된 다양한
서비스
• Shell 중심의 관리
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
성장단계에서 활용한 컴퓨팅 서비스
• 로컬과 가장 유사하고
간편하게 개발 가능
• 컨테이너 독립성 = 확장성
• ALB 연동시 강력한 scale out
• 스케줄 기능 제공
마켓핏 Market Fit 전환 Transition
• AWS Lambda는 어느 시점이던 활용도가 높습니다
• 초기에 Function의 관리의 어려움이 있을 수 있습니다
• 중요한 ‘비즈니스 로직’ 보다는 보조적으로 활용했습니다
• MSA 지향
• 효율적인 CI / CD 고민
• 윈도우 서버는 Lightsail 사용
성장 Growth
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
데이터의 성장
마켓핏 Market Fit 전환 Transition 성장 Growth
• 운영 학습
• 데이터 특징 파악
• 쌓이기 시작
• 느려지기 시작
• 캐싱의 필요성
• 데이터클렌징
• 데이터 최적화
• 메타데이터 관리
• 데이터레이크 구축
• 데이터 분석에 대한 요구
• 효율적인 데이터 암호화
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
성장단계에 활용한 데이터베이스 / 분석
• SQL 데이터 분석 / 클랜징 • SQL을 통한 분석
• Elasticache를 활용한 캐싱
• Lambda를 통한 데이터 클랜징
마켓핏 Market Fit 전환 Transition
• AWS DynamoDB 모든 단계에서 활용도가 높습니다.
• 프로비저닝 용량 구입하면 더 저렴하게 활용 가능합니다.
• CloudFormation을 통한 Index관리하면 더 강력합니다
성장 Growth
• 데이터 레이크 구축
• 학습모델을 통한 분석
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
내부관리의 필요성
• AWS 리소스 증가
• 이벤트 증가
• IAM 증가
• 계정 증가
• 개발자 증가
• 민감한 데이터 증가
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
내부관리 정책과 IAM
• 스테이지 분리 • VPC, Network 정리
• Resource TAG 사용
• 애플리케이션 API key 관리
• Black list 방식의 IAM 관리
• Event에 따른 Slack 알림
• 민감한 데이터 KMS 암호화
마켓핏 Market Fit 전환 Transition
• AWS CloudTrail의 특정 이벤트를 slack 알림으로 활용 할 수 있습니다.
• 콘솔 로그인, API Key 생성, 인스턴스 생성, ECR 이미지 업데이트 등
• https://www.gorillastack.com/
성장 Growth
GoliaStackBot
• 모든 데이터에 암호화 활성화
• VPC 고도화
• AWS Account 분리
• White list 방식의 IAM 관리
• 구성원 별 AccessLevel 분리
• AWS 비용 감사
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
성장하는 조직에 적합한 아키텍처
서비스
아키텍처
AWS 서비스 선택
• AWS 서비스 선택, 아키텍처, 개발 문화는 밀접한 관계
• AWS Best Practice 차근차근 따라야하는 시기
개발 문화
성장하는 팀과 서비스를 위한
확장하기 편한 아키텍처 설계
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS + @
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS 다양하게 활용하기
AWS
Console
기능
AWS SDK & CLI 에서
사용 가능한 기능
AWS가 지원하지 않는 기능
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Wrap CLI 활용하기
AWS SDK에서 사용 가능한 기능
AWS CLI
• 부족한 기능은 CLI를 엮어 활용
• ECR 이미지업로드 + ECS 배포를 + SNS 알림 통합 CLI
AWS CLI + AWS-ECS CLI + DOCKER CLI + SDK
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Wrap SDK 만들기
AWS SDK에서 사용 가능한 기능
AWS SDK
@emmental/aws
AWS SDK wrap 하여
사용하세요
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Fully-Managed Service
• SaaS (Software as a Service)
• Serverless
• EC2를 내부적으로 사용하지 않는(요청당 과금)
AWS Fully-Managed 를 SDK를 조합하여 활용
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lambda Workflow
• AWS Step Functions 유사
• 민감한 데이터 마스킹
• 연속적인 람다 요청
• 사내 인증모델을 따름
• 컨스텀 작업 결과 및 에러 관리
Lambda + @
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
워커 스케줄러
• 메시지 유효성 검사
• 스케줄 기능
• 이벤트를 스테이지별로 관리 가능
• 스케줄 메시지 테스트 기능
Event (time-
based)
CloudWatchEvent + @
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Amplify
• 애플리케이션 개발자를 위한 라이브러리
• 각종 Boilerplate 사용가능
• Angular, React, Vue 지원
• Cognito, S3, Pinpoint, DynamoDB, AppSync
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
사내 console에 인증 절차 추가하기
• 2차 인증 MFA + SMS 구현 가능
• 민감한 데이터 분리
• 믿음직한 AWS 보안
• 12월 AWSUG CLI 모임
MFA token AWS STS
사내 console + Amplify
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS + @ = <3
AWS Fully-Managed
+
SDK or CLI
+
Web Interface
with Amplify
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
:)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS 서비스 선택 전략
AWS + @익숙한 인프라 AWS
처음부터 새로운 서비스가 아닌 익숙한 개발 환경의
서비스를 선택하고 하나씩 차근차근 쌓아가세요
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Best Practice를 위한 지속적 개선
AWS Best PracticeAWS Poor Practice
부족한 자원을 핑계로 AWS Best Practice를 놓치면 안되요
늦더라도 단계별로 준비하세요
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
에멘탈로 이직하세요
채용 분야
#DevOps
#BackEnd
#FrontEnd
#DataEngineer
job@emmental.co.kr
더 큰 성장을 위해
많은 개발자 분들이
필요합니다!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Q&A
• 세션 후, 설문에 참여해 주시면 행사 후 소정의 선물을 드립니다.
• #AWSDevDay 해시 태그로 의견을 남겨주세요!

스타트업 관점에서 본 AWS 선택과 집중 (한승호, 에멘탈) :: AWS DevDay 2018

  • 1.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. AWS 선택과 집중 스타트업 관점에서 본 AWS 선택과 집중 한승호 / 에멘탈 CTO
  • 2.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 발표자 소개 한승호 han@hansh.kr https://twitter.com/shilpe0304 • 에멘탈 CTO / 공통 창업자 • 전) A2Company • AWSUG 아키텍처 모임 • AWSUG CLI 모임
  • 3.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 스타트업에서 AWS 도입하기 대기업부터 스타트업 모두가 클라우드를 사용하는 시대 블록처럼 AWS 서비스를 쌓고 조립하여 개발하는 시대
  • 4.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 스타트업에서 AWS 도입하기 하지만… AWS 서비스가… 블록이 너무 많아요 ㅠㅠ 인프라 고민은 줄어들고 블록을 고민하는 시대
  • 5.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 스타트업 with AWS • ‘스타트업’이 아닌 사내 ‘신규 서비스’에도 적용되는 내용 • ‘에멘탈’ 서비스를 기준으로의 AWS와 함께한 3년을 공유 스타트업 관점에서 본 AWS 선택과 집중
  • 6.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 목차 1. 시작단계에 적합한 AWS 서비스 찾기 2. 성장하는 팀을 위한 AWS 서비스 선택 3. AWS + @
  • 7.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 시작단계에 적합한 AWS 서비스 찾기
  • 8.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. ‘에멘탈’ 서비스 특징 소개 ‘비즈넵’ 서비스 특징 • 경영데이터/세무/회계 SaaS • 개발 초기부터 AWS 중심으로 • B2B 중심 서비스 • 동시 접속자가 많지 않은 서비스 • 대규모 금융 데이터 관리 • 데이터레이크에 고민 • 강력한 데이터 보안이 필요 • 내부업무에 대한 정책 필요
  • 9.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 스타트 AWS를 처음 접하는 개발자 1명 ~ 2명
  • 10.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 스타트업 창업 초기 창업 초기 • 개발자가 없다 • 데이터가 없다 • 시간도 없다 • 돈도 없다
  • 11.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 스타트업 초기 목표 비용을 절약하며 적은인력으로 빠르게 MVP 개발 MVP(minimal viable product, 최소 기능 제품) MVP 빠른 완성 투자 인원 + 개발비 프로덕트 마켓핏 Product Market Fit (개발인원 2명이하)
  • 12.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. AWS 학습 MVP 단계에서는 최소단계로 학습하세요 • AWS 공식문서 / 백서 • AWS Youtube 채널 • AWS UserGroup
  • 13.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 초기단계 아키텍처의 함정 MSA(MICROSERVICE ARCHITECTURE) 보다는 Monolithic • 초기에는 전체 서비스 자체가 마이크로MSA의 가장 큰 장점인 독립성과 역할, 책임 구분에 의한 확장성은 개발자 수가 적은 초기에는 방해요소가 될 수 있다 Serverless(Lambda + API Gateway) 보다는 Server • 운영이 고도화 됨에 따라 무시할 수 없는 러닝커브 • 초기단계의 MVP는 가장 익숙한 개발환경으로도 충분 • 다만 창업 전부터 serverless로만 개발하셨던 분들에게만 추천 초기단계에는 많은 이론이 다르게 작용한다 MSA, Serverless는 개발속도를 높여주지 않을 수 있다
  • 14.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 적합한 데이터베이스 선택하기 목적에 맞는 데이터베이스 선택 • HotData, ColdData • 데이터의 크기 • 용량 • 아이템의 크기 • 요청 건수 • 내구성 클라우드 기반 AWS 데이터베이스 선택하기 - 김일호 솔루션즈 아키텍트(AWS 코리아) https://www.youtube.com/watch?v=GCCCyW6dkmI
  • 15.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 시작단계에 데이터의 온도는? 목적에 맞는 데이터베이스 선택 • HotData, ColdData • 데이터의 크기 • 용량 • 아이템의 크기 • 요청 건수 • 내구성 데이터가 매우 춥습니다. VERY COLD 자신에게 가장 익숙한 데이터베이스으로 우선 개발하세요 마켓핏 이후에 마이그레이션 하면됩니다
  • 16.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. MVP 개발단계에 추천하는 AWS 서비스 MVP 개발 = 자신에게 현재 가장 익숙한 환경 EC2, Serverless 보다는 AWS Beanstalk • EC2 직접 제어 가능 • 간편한 ELB, RDB 연동 • 간편한 배포/관리 (cli, console 지원) • 하나의 App 최소 한개의 EC2 인스턴스 DynamoDB 보다는 RDS • 관계형 데이터베이스가 필요하다면 • DynamoDB는 경험이 없다면 제약이 많음 • SQL만으로 관리/개발/분석 가능
  • 17.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 서비스 소개사이트 MVP CloudFront + CerificateManager + S3 직접 개발 보다는 HTML static site 활용 • CLI를 이용한 간단한 배포 ($ aws s3 sync ) • CloudFront를 CDN 속도와 안전성 • https 사이트 구축 • 정적페이지 생성기(Hugo, hexo, Jekyll..) 이용 • SPA(single page apllication) 서버로도 활용가능 +
  • 18.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 프로덕션 마켓핏 전략 최소 요구사항에 맞춰 익숙한 개발환경을 구축하여 MVP 개발에 집중 AWS Poor Practice
  • 19.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 성장하는 팀을 위한 AWS 서비스 선택
  • 20.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. MVP 이후 성장하는 팀 • 사용자 증가 • 개발자 증가 • 팀 개수 증가 • AWS 리소스 증가 • 고정비용 증가 효율적인 확장을 위한 준비가 필요
  • 21.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 스타트업의 성장 마켓핏 Market Fit 전환 Transition 성장 Growth • Alpha • 인원 4명 이하 • 개발자 2명 이하 • Beta • 인원 15명 이하 • 개발자 6명 이하 • 계약업체 100개 이하 • Release • 인원 30명 이하 • 개발자 15명 • 계약업체 3000개 이하 2018.11 ‘에멘탈’ 기준으로 스타트업 성장 3단계
  • 22.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 성장하면서 선택한 AWS 서비스 데이터베이스API 서버 내부관리 AWS 서비스 만으로 API를 구축하는 방법이 몇가지 있을까요?
  • 23.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. API를 구축하는 n가지 방법 1. EC2 2. AWS Beanstalk 3. API Gateway + Lambda 4. Cognito + AppSync 5. ECS 6. EKS 7. Lightsail 8. AWS + Google, IBM 9. AWS + IDC AWS Severless EC2 with Container EC2 VPS AWS + @
  • 24.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Serverless, EC2, Container • 뛰어난 확장성! • 높은 내구성! • 합리적인 가격 • 한정된 자유도 • Native 사용의 어려움 • 분산되는 로그 • 효율적인 성능 사용 • Container의 독립성 • 강력한 확장성 • 이미지 중심의 CI / CD Serverless EC2 EC2 with Container • Local server 유사 • 다양한 성능의 옵션 • 배포와 관련된 다양한 서비스 • Shell 중심의 관리
  • 25.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 성장단계에서 활용한 컴퓨팅 서비스 • 로컬과 가장 유사하고 간편하게 개발 가능 • 컨테이너 독립성 = 확장성 • ALB 연동시 강력한 scale out • 스케줄 기능 제공 마켓핏 Market Fit 전환 Transition • AWS Lambda는 어느 시점이던 활용도가 높습니다 • 초기에 Function의 관리의 어려움이 있을 수 있습니다 • 중요한 ‘비즈니스 로직’ 보다는 보조적으로 활용했습니다 • MSA 지향 • 효율적인 CI / CD 고민 • 윈도우 서버는 Lightsail 사용 성장 Growth
  • 26.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 데이터의 성장 마켓핏 Market Fit 전환 Transition 성장 Growth • 운영 학습 • 데이터 특징 파악 • 쌓이기 시작 • 느려지기 시작 • 캐싱의 필요성 • 데이터클렌징 • 데이터 최적화 • 메타데이터 관리 • 데이터레이크 구축 • 데이터 분석에 대한 요구 • 효율적인 데이터 암호화
  • 27.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 성장단계에 활용한 데이터베이스 / 분석 • SQL 데이터 분석 / 클랜징 • SQL을 통한 분석 • Elasticache를 활용한 캐싱 • Lambda를 통한 데이터 클랜징 마켓핏 Market Fit 전환 Transition • AWS DynamoDB 모든 단계에서 활용도가 높습니다. • 프로비저닝 용량 구입하면 더 저렴하게 활용 가능합니다. • CloudFormation을 통한 Index관리하면 더 강력합니다 성장 Growth • 데이터 레이크 구축 • 학습모델을 통한 분석
  • 28.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 내부관리의 필요성 • AWS 리소스 증가 • 이벤트 증가 • IAM 증가 • 계정 증가 • 개발자 증가 • 민감한 데이터 증가
  • 29.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 내부관리 정책과 IAM • 스테이지 분리 • VPC, Network 정리 • Resource TAG 사용 • 애플리케이션 API key 관리 • Black list 방식의 IAM 관리 • Event에 따른 Slack 알림 • 민감한 데이터 KMS 암호화 마켓핏 Market Fit 전환 Transition • AWS CloudTrail의 특정 이벤트를 slack 알림으로 활용 할 수 있습니다. • 콘솔 로그인, API Key 생성, 인스턴스 생성, ECR 이미지 업데이트 등 • https://www.gorillastack.com/ 성장 Growth GoliaStackBot • 모든 데이터에 암호화 활성화 • VPC 고도화 • AWS Account 분리 • White list 방식의 IAM 관리 • 구성원 별 AccessLevel 분리 • AWS 비용 감사
  • 30.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 성장하는 조직에 적합한 아키텍처 서비스 아키텍처 AWS 서비스 선택 • AWS 서비스 선택, 아키텍처, 개발 문화는 밀접한 관계 • AWS Best Practice 차근차근 따라야하는 시기 개발 문화 성장하는 팀과 서비스를 위한 확장하기 편한 아키텍처 설계
  • 31.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. AWS + @
  • 32.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. AWS 다양하게 활용하기 AWS Console 기능 AWS SDK & CLI 에서 사용 가능한 기능 AWS가 지원하지 않는 기능
  • 33.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Wrap CLI 활용하기 AWS SDK에서 사용 가능한 기능 AWS CLI • 부족한 기능은 CLI를 엮어 활용 • ECR 이미지업로드 + ECS 배포를 + SNS 알림 통합 CLI AWS CLI + AWS-ECS CLI + DOCKER CLI + SDK
  • 34.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Wrap SDK 만들기 AWS SDK에서 사용 가능한 기능 AWS SDK @emmental/aws AWS SDK wrap 하여 사용하세요
  • 35.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. AWS Fully-Managed Service • SaaS (Software as a Service) • Serverless • EC2를 내부적으로 사용하지 않는(요청당 과금) AWS Fully-Managed 를 SDK를 조합하여 활용
  • 36.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Lambda Workflow • AWS Step Functions 유사 • 민감한 데이터 마스킹 • 연속적인 람다 요청 • 사내 인증모델을 따름 • 컨스텀 작업 결과 및 에러 관리 Lambda + @
  • 37.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 워커 스케줄러 • 메시지 유효성 검사 • 스케줄 기능 • 이벤트를 스테이지별로 관리 가능 • 스케줄 메시지 테스트 기능 Event (time- based) CloudWatchEvent + @
  • 38.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. AWS Amplify • 애플리케이션 개발자를 위한 라이브러리 • 각종 Boilerplate 사용가능 • Angular, React, Vue 지원 • Cognito, S3, Pinpoint, DynamoDB, AppSync
  • 39.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 사내 console에 인증 절차 추가하기 • 2차 인증 MFA + SMS 구현 가능 • 민감한 데이터 분리 • 믿음직한 AWS 보안 • 12월 AWSUG CLI 모임 MFA token AWS STS 사내 console + Amplify
  • 40.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. AWS + @ = <3 AWS Fully-Managed + SDK or CLI + Web Interface with Amplify
  • 41.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. :)
  • 42.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. AWS 서비스 선택 전략 AWS + @익숙한 인프라 AWS 처음부터 새로운 서비스가 아닌 익숙한 개발 환경의 서비스를 선택하고 하나씩 차근차근 쌓아가세요
  • 43.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. AWS Best Practice를 위한 지속적 개선 AWS Best PracticeAWS Poor Practice 부족한 자원을 핑계로 AWS Best Practice를 놓치면 안되요 늦더라도 단계별로 준비하세요
  • 44.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 에멘탈로 이직하세요 채용 분야 #DevOps #BackEnd #FrontEnd #DataEngineer job@emmental.co.kr 더 큰 성장을 위해 많은 개발자 분들이 필요합니다!
  • 45.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Q&A • 세션 후, 설문에 참여해 주시면 행사 후 소정의 선물을 드립니다. • #AWSDevDay 해시 태그로 의견을 남겨주세요!