byc3***
2020-04-30

사실상 클라우드 업계 표준인 AWS는 제공하는 서비스와 기능이 방대하다. AWS 관리자가 EC2, S3 같은 개별 서비스 기능을 이해하는 것은 어렵지 않다. 하지만 각 서비스를 조합해 특정 요구 사항을 만족하는 시스템을 만드는 능력은 쉽게 길러지지 않는다. 이런 능력은 서비스를 완벽하게 이해해 거시적으로 통찰해야 갖출 수 있다.
[나의 한줄 추천사]
구글 클라우드 스터디하면서 느낌점은 좀 복잡하다는 생각을 많이 했다. 하지만 AWS 클라우드를 스터디하면서 클라우드가 이렇게 쉽게 사용할수 있구나 느끼게 해주었다. 그 중심에 ‘배워서 바로 쓰는 14가지 AWS 구축 패턴’ 책이 있다. 빠른 개발을 위해서 클라우드로 빠르게 셋업이 필요하면 AWS 쓰면 되고 각 비지니스 모델에 따라 클라우드 Best Practice 로 활용하기 딱 좋은 책이다.
[책을 구매한 이유]
빠르게 메이저 퍼블릭 클라우드를 사용하고 싶긴한데 기존에 정형화된 베스트 프랙티스가 궁금하였고,
MSA, IoT AI, 모바일 앱 시스템 구성 설계시 발생하는 문제점을 해결해 놓은 정답지이기에 많은 시행착오를 줄일 수 있게 해주었다.
[내가 찾고자 하는 했던 질문과 대답들]
클라우드로 옮기면 온프레미스 보다 싸질까?
빠른 구조화된 데이터 분석 시스템 구축은 어떻게 해야하는가?
- 아마존 레드시프트(Redshift) 에 분석 데이터 저장, 오픈데이터를 효과적으로 얻기 위해서 AWS 퍼블릭 데이터셋 이용, 플라이데이터 싱크 이용, BI 도구 태블로 도입
- Redshift 대용량 데이터를 열방향(컬럼) 으로 분석 및 집계하는 작업을 효율적으로 수앵하는 DB 임
빠른 비구조화된 데이터 분석 시스템 구축은 어떻게 해야하는가?
- 비구조화된 데이터 -> 정형화된 데이터 변환하는 전처리 과정이 위의 구성도에 추가 된다. (레드시프트는 구조화된 데이터만 넣을 수 있음)
- 플루언트디(Fluentd) 사용해서 비형정형 로그 수집 -> S3 넣고 -> 아마존 EMR (Amazon Elastic MapReduce) 사용. EMR 분산처리 기술인 하둡을 기반으로
관리형 서비스임
빠른 IoT AI 시스템 구축은 어떻게 해야하는가?
- 추론 모델 작성 및 트레이닝은 AWS SageMaker 이용(머신런이 개발환경 제공). 그린그래스(Greengrass) 을 통해서 모델으 배포하여. 람다로 서버리스의
API 를 제공하여 Edge 디바이스로 나오는 데이터를 추론할 수 있다.
- 세계 각국의 IoT 품질 로그 데이터를 수집하기 위해서는 가장 가까운 리죤을 통해서 데이터가 들어 와야하는데 이때 “다이렉트 커넥트 게이트웨이”를 통해서 제일 가까운 리죤을 알려준다.
- 에지 디바이스에 바로 RDS 연결하려면 접속 인증시 1초 정도 소요가 되므로 다이나모디비에 등록한다. 연결이 끊긴 상태에서 임시적인 데이터가 쌓이고 이 데이터가 나중에 RDS 옭겨진다.
빠른 웹 어플리케이션 시스템 구축은 어떻게 해야하는가?
- 코드파이프라인 이용 CI 구축(젠킨스), ECS ( Elastic Container Service / 관리형 컨테이너 관리 서비스) 에 디플로이, 블루-그린 배포 수행하고, 예약 인스턴스(RI) 이용 인프라 구축한다.
빠른 서버리스 시스템 구축은 어떻게 해야하는가?
- EC2 가상머신 설치 없이. 람다 와 API Gateway 를 통해서 동적 / 정적 콘텐츠 제공 (상태값 저장이 없는 것에 유리. 상태값 저장이 필요한 경우 EC2 설치 필요)
빠른 MSA 구축은 어떻게 해야하는가?
- ESK 와 파게이트(Fargate)로 워크 로드 실행
[AWS 용어 정리]
EC2 (Amazon Elastic Compute Cloud) : 가상머신(VM)
EBS (Amazon Elastic Block Store) : 가상 스토리지 볼륨
VPC (Virtual Private Cloud) : 가상 프라이빗 네트워크 구역
ELB (Amazon Elastic Load Balancing) : 로드 밸런싱
아마존 클라우드워치 : 아마존 모니터링 서비스. 인스턴스 감시하고 경보통지 -> 오토스케일링시 사용
클라우드 프론트 : CDN
관리형 서비스 : S3(아마존 심플 스토리지 서비스), RDS(데이터베이스 서비스 아마존), Route 53(서비스 아마존 라우트), Lambda(서버리스 코드 실행 서비스)
스케일 업 : 단일 노드의 하드웨어 스펙을 높이는 행위 (상한성 있음)
스케일 아웃 : 노드 수를 늘리는 행위 (상한성 없음)
SLA (Service Level Agreement) : 이 수치를 달성하지 못할 경우 환불해드린다는 약정서