AWS를 이용해 1차 프로젝트를 배포하자.
AWS란
1) 전통적인 방식
회사에서 물리적인 데이터 서버를 가지고 있음
문제점
- datacenter 렌트 비용 지불
- Power supply, cooling, maintenance 비용을 지불 - 컴퓨터 관련 비용
- 새로운 하드웨어(서버)를 추가하거나 교체할 때 큰 시간 소모
- 확장하는데 제한사항이 많음
- 현재 유지되고 있는 인프라를 24/7 모니터링 할 인원을 고용 필수
- 천재지변에 대응하기 어려움(지진, 화재, power shutdown 등)
2) Cloud Computing
전통적인 방식의 문제점을 해결하고자 만든 것이 cloud computing
의미
- 인터넷(cloud)을 통해 on-demand로 제공해주는 서비스
- cloud 서비스를 이용하면 사용한만큼만 지불하면 되는 pay-as-you-go pricing 적용
- 정확하게 필요한 타입과 크기의 리소스를 지정하여 사용할 수 있다.
(시스템 엔지니어의 업무를 개발자가 할 수 있게 됌)
- 필요한 만큼의 리소스를 바로 사용 가능하다. (필요할 때, 즉시 서버 이용 가능)
- 기존보다 간편하게 서버, 스토리지, 데이터베이스 등에 접근가능한 솔루션을 제공
예시
gmail, netflix(AWS 기반 서비스) , dropbox
3) Amazon Web Service
AWS는 클라우드 서비스 중 가장 오래된 서비스
(아마존의 주가가 비싸지는 이유: AWS 때문!)
Why AWS?
- clouding computing의 장점
- 간단한 가입 프로세스
- 브랜드 벨류
- 엄청난 규모와 안정적인 서비스(stability)
- 다양하게 제공되는 서비스들 - 기업형, 웹서비스, 게임 등
key Service
- EC2(elastic computer cloud) - 몇 분안에 구동 가능한 가상 서버
- VPC(Virtual Private Cloud) - AWS 네트워크 망안의 사용자 전용의 사설 네트워크 망
- S3(Simple Storage Service) - 파일 업로드 및 공유 => 가볍게 프론트 서버를 배포할 때 사용
- RDS(Relational Database Service) - 클라우드에서 데이터베이스 관리
- ELB(Elastic Load Balancing) - 서버로 들어오는 트래픽을 골고루 여러개의 머신으로 전달
(서버가 커질 때: 1) scale up 2) scale out(서버 분산) - elb)
4) 실습
- 공통: EC2 서버 생성하기
- 프론트앤드: 영상을 보고~ 해보기~ (주말)