우리의 코드는

어디에서 동작할까?

8퍼센트 이호성

와이프에게만 알려주는
AWS

8퍼센트 이호성

소개

  • KAIST 전산과 (2001 입학)
  • 아이뉴정보통신(병특) (2006~2008)
  • 엔써즈 (2008~2015) DevOps Team Lead
  • Gracenote (2015) DevOps and Operations Director
  • 8퍼센트 (2015~현재) CTO

저는 왜 여기에?

AWS를 둘러 보자

코드는 어디에서 동작할까?

데이터 센터

한개의 서버

서버 안은 어떻게 생겼나?

Infra 는 어떻게 변화되고
있는가?

On-premise
고성능 서버 (메인프레임)

On-premise
분산화 (Hadoop)

On-premise
 가상화(vmware)

Public Cloud
 Computing (EC2)

Public Cloud
 Managed Service
(Elastic Beanstalk)

Public Cloud
 Docker based
(ECS)

Cloud
 Serverless
(Lambda)

인프라 관리를 최소화 하는 방향으로
비지니스로직에 집중하는 방향으로
스케일에 자유로운 방향으로
비용이 적은 방향으로

EC2

웹서비스 띄우기

EC2

  • Instance 는 무엇인가요? (가상화)
  • Instance Type은 무엇인가요?
  • 얼마죠? 

 

그래서 우리의 서버는 어디에 있나요?

EC2

Network

  • VPC
  • Subnet
  • Security Group

방화벽을 열어 주세요!

VPC

서버 확장하기

Elastic 이란 무엇인가?

ELB(Load Balancer)

Auto scaling

Amazon ECS

Docker

모르겠어요.
무서워요.

Docker  꼭 써야 하나요?

Docker의 용어를 배워보자

ECS

잠깐 여기서

CI/CD가 무엇인가요?

 CI / CD

Continuous Integration & Delivery

비지니스 코드만 짜면 고객에게 까지 전달된다.

MSA는 뭐죠?

Micro Service Architecture

S3에 파일 저장하기

Lambda 로 함수 실행하기

Serverless Architecture

Pub/Sub
구조는 뭐야?

Publish–subscribe pattern

앗 그런데 Database는?

RDS

RDS - Aurora

클라이언트 측에서 차이는 없어요

DynamoDB

RDMS vs NoSQL

RDMS의 장점
 

명확하게 정의 된 스키마

 데이터 무결성 보장

 NoSQL 의 장점
 

스키마가 없기때문에, 훨씬 더 유연
 언제든지 저장된 데이터를 조정하고 새로운 "필드"를 추가 할 수 있음

데이터는 애플리케이션이 필요로 하는 형식으로 저장
데이터를 읽어오는 속도가 빨라짐

RDMS vs NoSQL

RDMS의 단점
 

데이터 구조 변경이 어려움
구조가 복잡한 경우 많은 JOIN으로 성능 하락

 NoSQL 의 단점
 

데이터의 중복으로 무결성 보장의 어려움
데이터 업데이트 할때 여러곳을 업데이트 해야함
 

RDMS vs NoSQL

RDMS의 단점
 

변경될 여지가 없고, 명확한 스키마가 사용자와 데이터에게 중요한 경우

 NoSQL 의 단점
 

정확한 데이터 구조를 알 수 없거나 변경 / 확장 될 수 있는 경우
읽기가 많고 업데이트 적은 경우

언제쓸까?

데이터양이 1억개 미만으로
예상되면 대부분 RDMS가 좋다

Redshift

Redshift

 QA

 감사합니다

Made with Slides.com