우리의 코드는
어디에서 동작할까?
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
감사합니다
우리의 코드는 어디에서 동작할까?
By Ho Sung Lee
우리의 코드는 어디에서 동작할까?
SKT
- 671