IT/세미나\컨퍼런스

AWS Innovate Online Conference 2019

개발자 두더지 2020. 4. 19. 23:36
728x90

Amazon AWS에서 열리는 온라인 컨퍼런스로 요즘 계속 IT 공부를 위해 구글링하다보니 자연스럽게 컨퍼런스 광고가 노출되어 알게 되었고 바로 이메일을 등록하여 참가 신청을 완료하였다. 온라인 컨퍼런스 참여는 처음이었기 때문에 처음에는 많이 헤맸는데, 등록한 이메일을 통해 온라인 컨퍼런스에 참가할 수 있는 링크를 전달았고 그 링크를 통해 온라인 컨퍼런스에 입장이 가능했다. 두 개의 시간대에 동일한 내용으로 진행되었는데, 두 개의 시간 모두 실시간으로 참석 가능한 시간이 아니었기 때문에 실시간 참여는 하지 못 하였다. 실시간으로 참여한 경우 발표자에게 직접 질문을 남기고 AWS 유저들끼리 대화할 수 있었을텐데 그러지 못해 더더욱 아쉬웠다. 그러나 제공된 링크로 컨퍼런스 종료된 후 3개월간 동안 컨퍼런스 영상 및 자료들이 등록한 이메일을 통해 제공된 사이트에 남아있기 때문에 실시간 참여가 불가능하더라도 AWS에 대한 관심이 있다면 등록하는 것이 좋을 것 같다.

온라인 컨퍼런스의 사이트는 위와 같다. 다양한 Agenda는 물론 AWS제품으로 간단한 활동을 할 수 있는 Buliders Zone이 있다. 물론 다 영어로 진행된다. 나는 영어 실력이 좋지 못하기 때문에 KOREAN TRACK페이지에서 컨퍼런스를 들었다. KOREAN TRACK의 경우 ‘있는 그대로 저장하고, 바로 분석 가능한, 새로운 관점의 데이터 애널리틱 플랫폼’, ‘AWS IoT로 예지정비 실현하기’, ‘비관계형 데이터베이스(noSQL)활용하기’, ‘AWS DeepRacer와 Amazon SageMaker RL로 강화학습 시작하기’, ‘AWS 클라우드를 통해 최소기능 제품(MVP) 빠르게 개발하기’ 이렇게 총 다섯 개의 내용으로 구성되었고, 개인적으로 풀 스택 웹 개발을 배우고 있으므로 관심을 가지고 있는 주제는 ‘있는 그대로 저장하고, 바로 분석 가능한, 새로운 관점의 데이터 애널리틱 플랫폼’, ‘비관계형 데이터베이스(noSQL)활용하기’, ‘AWS 클라우드를 통해 최소기능 제품(MVP) 빠르게 개발하기’ 이렇게 세 가지였다. 물론 그 외 컨퍼런스 주제의 내용도 웹 개발에 주제에 따라 충분히 도입할 수 있지만, 당장 팀 프로젝트에 관련해서는 이 세 가지 주제에 중요하므로 이에 대한 컨퍼런스를 듣고 블로그에 정리하고자 한다.


있는 그대로 저장하고, 바로 분석 가능한, 새로운 관점의 데이터 애널리틱 플랫폼

1. 데이터 레이크(Data Lake)

데이터 플랫폼의 목적과 가치(Next-gen Data Platform)

- 데이터를 모두 한 곳에 모으는

-어떤 종류의 데이터든 수집과 저장

-실시간, 배치성 데이터의 처리

-다양한 유형의 소비자에게 데이터 제공

-확장 고민없이 무제한 사용하는 리소스

-데이터 탐색에서 시작화, ML까지 확장

AWS의 데이터 레이크

AWS의 데이터 레이크에 한번 수집된 데이터는 간단한 분석 쿼리에서 복잡한 집계쿼리, 반전형 빅데이터 프로세싱도 가능해지고 머신러닝까지 확장이 가능하다.

전통적인 데이터의 관리 흐름은 데이터 웨어하우스로 데이터를 수집하고 통계 정보와 리포트와 출력하는 형태로 사용하였다. 빅데이터는 Hadoop으로 분석하였다.

ASW Data Lake 기반의 분석 파이프라인

파이프라인 제일 맨 앞단에는 수집할 정보의 특성에 맞춰 수집 솔루션을 선택한다. 데이터의 소스가 OLTP성이냐 디바이스이냐 센서이냐에 따라 적절한 서비스를 선택해야한다.

기본적으로 데이터는 S3에 저장되고 그 외의 데이터 카탈로그와 ETL기능을 사용하면 매우 손쉽게 데이터의 준비가 가능해진다. 그리고 모여진 데이터는 Redshift, Athena, EMR, Elastricsearch, Kinesis Data Analytics 등으로 분석이 가능하다. 그리고 분석된 데이터는 소비자에게 직관적으로 보이도록 QuickSight, Qlik, R등을 통해 시각화할 수 있다. 또한 직접 데이터를 소비할 수 있도록 API형태로도 제공이 가능하다.

 

2. 데이터레이크 설계 및 구축

대표적인 데이터 분석 워크로드 유형

각 워크로드 별로 시작 포인트가 다른 것이 일반적이다. 정형/비정형 데이터를 모두 수집 가능하게 하기 위해서 Data Lake를 사용할 수도 있다. Hadoop과 같은 아파치의 모든 오픈 소스과 인터렉트 쿼리를 이용해서 머신러닝까지 발전하여 사용할 수 있다. 구체적인 텍스트 데이터 수집을 위해서도 Data Lake를 사용할 수 있다.

Amazon S3-데이터 레이크

밀리세컨드 내의 지연시간을 가지는 보안성과 높은 확장성, 내구성을 가지는 오브젝트 스토리지로 모든 유형의 데이터 저장이 가능한 저장소이다.

1) 내구성, 가용성과 확장성 : 데이터는 AWS Region내부에 3곳의 물리적 공간에 분산저장되므로 자동으로 다른 AWS Region에 복제 구성이 가능하다.

2) 보안과 컴프라이언스 : 3가지의 다른 형태의 암호화기능을 제공, 리저 간 전송시에도 데이터 암호화 전송, CloudTrail로 로그 및 모니터링하며, ML 기반 Macie로 민감 데이터를 찾아내고 보호할 수 있음

3) 즉각적인 쿼리 수행 : 데이터 이전 없이 DataLake에서 분석 및 ML 수행 가능하므로 분석 퍼포먼스를 400% 증가할 수 있음

4) 유연한 관리: 데이터 사용 트랜드를 분류, 보고 및 시각화, 오브젝트에 태그를 붙여 스토리지 사용과 비용 및 보안을 확인가능

Data Lake-Amazon S3 설계 방식

1) Tier-1 : 원본 데이터

- 원본 데이터의 저장과 보관

- 최소한의 데이터 변환 작업만을 하고 데이터를 빠르게 모으는데 집중

-S3의 라이프사이클 기능 활용하여 S3 하위 저장소인 S3-IA 또는 Glacier로 전환하여 비용 최적화가 가능하다.

2) Tier-2: 분석용 데이터

- 최적의 비용으로 서비스를 이용가능하도록 하기 위해 Parquet / ORC 같은 컬럼 방식 포멧의 사용하여 데이터를 파티셔닝한다.

- 파티션 정책에 따라 분산 및 파티션 유지 관리

- 분석을 위한 최적화

3) Tier-3: 특정한 분석 목적 데이터(optional)

- 도메인 레벨로 데이터마트 분리

- Use Case에 적합한 구성

- 특정 분석 방식에 적합한 데이터 변경(ML, AI)

AWS Glue 데이터 카탈로그

S3에 저장한 데이터를 바로 분석하게 도와주는 핵심 서비스 기본적으로 S3, JDBC호환가능한 데이터베이스에 크롤러를 동작시키면, 해당 크롤러가 데이터를 정보를 바탕으로 자동적으로 데이터 스키마 샘플링 및 저장한다.

가장 현실적인 분석 파이프라인 – 서버리스 애널리틱 파이프 라인, 서버리스 데이터 레이크

서버리스란 ? 분석서비스 관점에서 별도의 서버 구축이나 확장, 운영없이 서비스 환경을 구축하는 것을 의미하며 저장소의 기준으로는 S3, 쿼리는 Athena, 시각화 툴로는 QuickSight 서비스등이다. 빠르게 가성비 최고의 분석 환경 구축 가능하다.

Athena-대화식 분석

표준 쿼리는 바탕으로 S3의 데이터를 분석하는 대화식 쿼리 서비스이다. 설정 및 관리해야 할 인프라도 없으며, 로드 해야할 데이터도 없다. Amazon Glacier에 보관된 데이터에 대해 SQL쿼리를 실행할 수 있다.

- 즉각적인 Query : 셋업 비용이 들지 않음, S3를 바로 지정하고 쿼리를 수행하면 된다.

- Query당 비용 : 쿼리 실행에 대해서만 지불, 압축을 통해서 쿼리당 30-90%비용 절감 가능

- 개방 : ANSI SQL 인터페이스,JDBC/ODBC 드라이버, 다양한 포멧, 압축 유형, 복잡한 조인 및 데이터 타입

- 손쉬운 사용: 서버리스 > 인프라 필요없음, 관리 불필요, QuickSight와 통합

AWS Glue ETL – Apache Spark 기반 데이터 처리

- 서버리스 데이터 변환 작업

- Apache Spark 기반

- 클릭 몇번으로 생성되는 ETL code

- 수정/추가가 가능한 PySpark과 Scala코드

- 반복 일정과 이벤트에 따른 Job 스케줄링

- 주피터, 제플린, 파이참 등 익숙한 환경에서 수정, 디버그, 테스트가 가능하도록 Dev Endpoint 제공

3. 데이터레이크 활용 및 확장

실시간 데이터 수집 – amazon kinesis data services

kinesis data analytics를 통해 실시간 top 10추출도 가능하고, Java를 이용할 수 있도록 아파치 플린크도 통합되어 있다.

로그/ 텍스트 분석을 위한 최상의 솔루션 – Amazon Elasticsearch

Amazon Elasticsearch Service는 완전 관리형 서비스이며, 쉽게 설치, 관리 스케줄 확장이 가능하며, Amazon Elasticsearch와 Kibana 연동을 통해 쉽게 분석과 시각화가 가능하다.

엔터프라이즈 규모의 Hadoop & Spark – Amazon EMR

관리형 Hadoop시스템으로 모든 종류의 서비스를 최신형으로 관리형 플랫폼을 제공한다.

Data warehouse를 Data Lake로 확장 – Amazon Redshift

S3의 데이터를 외부 테이블로 저장하여 마치 데이터 웨어하우스에 적재된 것과 동일한 사용이 가능하도록함.

Amazon Redshift Spectrum 레이어는 수천대의 노드로 데이터를 처리하는 것과 같은 처리 작업의 분산이 가능하고, 이 레이어를 통해 Amazon Redshift 노드와 기존의 S3에 적재된 대규모의 데이터 쉽게 사용할 수 있게 해준다.

- 구조화 된 데이터를 위해 빠른 응답 지원

- 대시 보드 및 보고서 개발을 위해 Bi 도구 지원

- 세분화 된 액세스 제어 기능 제공

- DW와 data lake간의 joint 쿼리 지원

-Lifecycle 관리를 위해 S3로 데이터 백업 지원

시각화를 넘어 ML을 이용한 분석-Amazon QuickSight

QuickSight의 최근 기술 중 가장 관심을 끌고 있는 것은 ML을 기반으로 한 예측이다. 이상치가 나타나는 부분을 찾아서 텍스트형식으로 제공된다. 또한 전통적인 예측 분석과 비교하여 머신 러닝 알고리즘 기반으로 범위에서 벗어난 데이터를 제거하고 높은 신뢰도를 유지할 수 있다.

ML 개발, 훈련, 배포 모두를 지원 – Amazon SageMaker

100여개에 달하는 내장 알고리즘이 포함되어 있으며, 이러한 알고리즘들은 대규모 데이터 처리와 트레이닝에 최적화된 형태로 튜닝되어 있다.

4. AWS Lake Formation

 

일반적인 Data Lake 구축 단계

S3 버킷 생성 > 데이터 수집 > 데이터 프로세싱 및 카탈로그와 > 보안 및 컴플라이언스 정책 서정 > 데이터 활용 및 분석

AWS Lake Fromation: 안전한 Data Lake를 신속하게 구축

- 신속하게 Data Lake 구축 : 데이터 소스 유형에 맞는 블루 프린트를 제공하여 데이터를 보다 신속하게 이동, 저장, 카탈로그 및 정리하고 ML transformation을 사용하여 데이터를 중복 제거할 수 있다.

- 간편해진 보안 설정 : 쿼리 실행 권한 설정을 위해 각각의 서비스 단에서 설정하는 것이 아니라 Lake Formation에서 한 번 설정하면 관련된 모든 서비스인 Amazon EMR, Amazon Athena, Amazon Redshift Spectrum, Amazon SageMager 및 Amazon QuickSight에서 테이블 및 칼럼 수준 데이터 액세스를 중앙에서 정의하고 이를 적용할 수 있다.

- 데이터 검색 및 공유 항상 : Lake Formation의 데이터 카탈로그를 사용하여 관련 데이터 세트를 쉽게 찾고 공유할 수 있는 메타 데이터 기반 검색 기능을 콘솔에서 제공한다.

반복되는 데이터 로딩 작업을 자동화

- Blueprints / Data Importers : 데이터의 전체 로드, 증분 로드 등을 규칙에 따라 정하고 수행할 수있도록 하는 단위를 블루프린트라고 하며, 데이터 수집, 변환, 정제, 파티션 작업을 템플릿화 해서 자동화 설정 가능

- ML Transformations : 데이터의 중복, 유사 커럼 매칭등의 변환 작업을 ML 알고리즘 기반으로 수행

데이터의 관리와 보안, 거버넌스 설정이 용이

- Enhanced governance layer : 데이터 카탈로그 레벨에서 보안과 거버넌스를 수행할 수 있게 함

- Enhanced Data Catalog : 테이블의 칼럼레벨까지 유저의 접근 권한을 설정가능


비관계형 데이터베이스(noSQL)활용하기

다양한 데이터 모델 종류

- 관계형 : 참조 무결성 / ACID 트랜잭션, 스카마 지정

- key-value : 높은 처리량, 빠른 응답시간(읽기/ 쓰기) 무한 확장성

- Document : 문서를 저장하고, 모든 속성에 대하여 빠르게 액세스

-In-memory : 마이크로세컨드 단위 응답시간으로 키 별 조회를 할 경우

-Graph: 데이터 간의 관계를 쉽고 빠르게 생성하고 탐색할 경우

-Time-series : 시계열 데이터를 수집, 저장 및 처리

- Ledger : 애플리케이션 데이터의 모든 변경사항에 대한 완전하고 변경 불가능하며, 검증이 가능한 이력관리

-Search : 데이터 컨텐츠 검색 전용

 

왜 NoSQL인가?

SQL NoSQL
정규화/관계형 반정규화/계층
Ad hoc쿼리 Instantiated views
수직 확장 수평 확장
스토리지에 최적화 컴퓨트에 최적화
OLAP에 적합 대규모 OLTP에 적합

 

key-value 데이터 모델:대표적인 NoSQL모델

- 간단한 key-value

- 파티션 키로 분할

- 장애에 탄력적

- 높은 처리량, 낮은 대기 시간의 읽기 및 쓰기

- 규모에 관계없이 일관된 성능

[표] 일반적인 key-value 데이터 모델 사용 사례

광고 리테일 금융서비스 게임

미디어 및 엔터테이먼트

소프트웨어 및 인터넷

-사용자 프로필(광고 타켓팅을 위한)

-사용자 이벤트, 클릭 스트림, 광고 노출

-메타데이터 저장

-인기 상품 캐싱

-장바구니

-워크플로 엔진

-재고 추적 및 조달

-고객 프로필, 계정

-쿠폰 사용

-경쟁력 있는 가격 책정, 공급망 최적화

-사용자 트랜잭션

-이벤트 기반 트랜잭션 처리, 사기 탐지

-메인프레밍 모프로딩-변경 데이터 캡쳐

- 게임 상태, 플레이어 저장

- 플레리어 세션 기록 데이터 저장

- 미디어 메타데이터 저장

- 사용자 데이터 저장

- 디지털 권리 관리 데이터 저장

- 사용자 턴텐츠

- 메타데이터 저장

- 메타데이터 캐싱

- 사용자, 차량, 드라이버 데이터 저장

- 사용자 어휘 데이터 저장

 

Document 데이터 베이스

JSON형태로 문서를 저장하고 쿼리하게 된 비관계형 데이터 모델

개발자에게 친숙하기 때문에 생산성 향상

문서 데이터베이스는 유연한 인덱싱, 다양한 Ad hoc 쿼리 및 문서들에 대한 분석을 가능하게 한다.

[표] 일반적인 Document 사용 사례

모바일 & 웹 어플리케이션 콘텐츠 & 카탈로그 관리 프로필 관리
- JSON형식의 사용자 요청 데이터

- 쇼핑 사이트

- 온라인 간행물

- 디지털 아카이브, 호스터미널

- JSON형식을 사용하는 키오스크 또는 판매 단말기

(사용자 리뷰, 이미지, 등급, 제품 정보 등을 빠르고 직관적으로 저장하고 쿼리 가능)

- 온라인 트랜잭션

- 사용자 환경 설정

- 사용자 인증

복잡해진 사용자 프로필 내용 및 증가하는 사용자 경험 기대치로 인해 확장성, 데이터 유연성 및 성능에 대한 유연성의 필요성이 커지고 있다. 밀리세컨드 응답시간으로 빠르게 서비스가 가능한 것이 Document 모델이다.

In-memory

[특징]

- 디스크 또는 ssd에 데이터를 저장하는 것이 아닌 메모리에 저장하는 비관계형 데이터 모델이다.

- 인메모리 데이터 모델은 디스크에 액세스하지 않음으로써 응답시간을 최소화 하도록 설계되었다.

- 모든 데이터를 주로 메인 메모리에 저장하고 관리하기 때문에 프로세스나 서버 장애시 데이터 손상의 가능성이 크지만 각 작업을 로깅하거나 스냅션을 생성하여 디스크에 데이터를 보관할 수 있다.

- 마이크로세컨드 응답시간이 필요한 게임 리더보드 세션 저장소 및 실시간 분석과 같이 언제든지 트래픽이 증가할 수 있는 응용 프로그램에 유용하다.

[일반적인 인메모리 사용 사례]

인메모리데이터 베이스 모델은 패턴매칭을 통해 펍 서큐전을 지원하기 때문에 고성능 대화방,실시간 커맨드 스트림등 서버 상호통신을 지원할 수 있다. Pub/Sub 사용하여 게시된 이벤트를 기반으로 작업을 트리거링할수도 있다. 또한 리스트 데이터 구조를 제공하기 때문에 가볍고 지속적인 대기열을 쉽게 구현할 수 있다. 리스트 구조는 원자적 연산과 블록킹 기능을 제공하므로 안정적인 메시지 브로커, 또는 순환목록이 필요한 다양한 응용프로그램에 적합하다. 인메모리는 종종 아파치 카프카 및 아마존의 키네시스 스트리밍 솔루션과 함께 사용하여 실시간 데이터를 수집 분석 및 처리한다.

- 데이터베이스 캐싱

- 위치 정보

- 대기열

- 채팅&메시징

- 기계학습(게임, 금융서비스의 사기탐지, 실시간 입찰 등)

- 실시간 분석

- 게임 대쉬 보드

-미디어 스트리밍

-세션정보 저장: 세션키에 적절한 ttl이 있는 빠른 키-벨류 저장소로 사용됨

그래프

[특징]

- 관계를 저장하고 탐색할 목적으로 만들어짐

- 그래프에서 관계가 핵심이며, 그래프 데이터의 가치는 관계에서 파생된다.

- 노드를 사용하여 데이터 엔터티를 저장하고 엣지는 엔터티간의 관계를 저장한다.

- 엣지는 항상 시작노드와 끝노드 그리고 유용 및 방향성을 가지며, 엣지를 통해 부모자식관계라던지 주문 등의 동작 및 소유 등을 표현할 수 있다.

- 노드가 가질 수 있는 관계 수와 종류에는 제한이 없다.

[일반적인 그래프 사용 사례]

고도로 연결된 데이터의 관계를 탐색하기 위한 사용, 예를 들어 앱의 뉴스 피드를 구축하는 경우 사용자에게 가장 관련성이 높은 업데이트와 우선 순위를 지정해야한다. 대부분의 사용자는 가까운 지인의 사용내역을 먼저 업데이트 받기를 바란다.

- 소셜 네트워크

- 추천

- 지식 그래프

- 사기 탐지 : 실제 다른 주소에 거주하는 여러 사람들이 동일한 ip구조 등을 공유하는 등의 관계패턴을 쉽게 감지할 수 있기를 바란다.

- 생명과학

- 네트워크 및 IT 운영

일반적인 관계형 데이터 베이스에서는 이러한 것을 구축하기 위해 여러 개의 테이블과 외래키를 지정해야하고 복잡한 조인 즉 중첩 쿼리를 수행해야 하는 경우가 많아 응답 시간이 늦어지는 단점이 있다.

시계열

[특징]

시간이 지남에 따라 상황의 변화를 측정

시간 순서대로 생성되고 데이터를 추가되기 만하고 일정 시간마다 쿼리가 동작함

[시계열 데이터베이스 사용 사례]

- DevOps

- 애플리케이션 모니터링

- IoT 애플리케이션

- 산업용 텔레메트리

Ledger(원장)

[특징]

-중앙에서 관리하는 투명하고 불변하며 암호로 확인하는 트랜잭션 로그를 제공한다.

-모든 어플리케이션 데이터 베이스 변경사항을 기록하고, 시간경과에 따른 변경사항에 완벽하고 검증가능한 기록을 유지관리한다.

[원장 데이터베이스 사용사례]

- 금융 : 고객신용 및 직불거래 추적

- 인사(HR)&급여: 급여, 복리후생 등과 같은 직원의 디지털 기록 관리

- 제조 : 제품의 전체 제조 이력 조회

- 리테일&공급망 : 제품의 리콜 등의 경우 쉽게 추적 가능

- 보험: 전체 평생 동안 클레임 데이터 관리 가능

검색

[특징]

데이터 컨텐츠를 검색하는데 사용하는 비관계형 데이터

인덱스를 사용하여 데이터간의 유사한 특성을 분류, 검색기능을 용이하게 함

데이터가 아주 길거나 반정형 또는 비정형 데이터관리에 최적화 되어 있음.

일반적으로 full text검색 복잡한 검색 표현식 및 검색 결과 순위 지정과 같은 특수한 방법을 제공

[검색 데이터베이스 사용사례]

- 로그 분석

- Full text 검색

- 실시간 애플리케이션 모니터링

- 클릭스트림 분석

- 보안 분석


AWS 클라우드를 통해 최소기능제품(MVP) 빠르게 개발하기

MVP 란?

Minimum Viable Product 의 줄임말로 스타트업계에서 많이 쓰이는 개발 방법론 용어로, 최소한의 기능을 만들어 빠르게 배포하고 고객의 피드백을 듣고 개선하여 업데이트하는 것이다.

링크드인의 공동창업자인 Reid Hoffman은 “여러분이 만든 서비스의 첫번째 버전이 부끄럽지 않다면, 서비스 출시가 너무 늦은 것 입니다. ”라고 말했다.

최소 기능 제품(MVP)이란 고객의 입장에서 사용할 수 있는 최소 기능을 제공하는 것이다.

MVP 구현 과정

- 아이디어 중 핵심 기능에만 집중

- 높은 사용성을 집중한 서비스 개발

- 빠른 서비스 배포 체계 구성

- 핵심 기능에 대한 데이터 측정

- 데이터 분석을 통한 개선 사항 도출

- 기존 MVP에 새로운 기능 도입

- 제품 개발 및 배포 반복

▶ 핵심 기능에 집중, 빠른 서비스 빌드 및 배포, 데이터를 통한 개선

핵심 기능에 집중-스타트업의 오류

많은 스타트업의 오류는 초기에 기능을 너무 많이 구현해서 이 서비스가 무슨 서비스인지 인식하기 힘듦

▶ 고객에게 인정받고 난 다음에 어렵고 추가적인 기능을 추가하는 것이 중요하다.

핵심 기능에 집중-최소 기능으로 쪼개라!

- 한 명의 개발자가 충분히 진행할 수 있는 크기(하나의 스프린트Sprint로 완성 가능)로

- 세부 기능 구현에 대한 우선 순위 조정(아주 어렵거나 불필요한 기능 제외)

- 완성 후 지속적인 가치를 추가(다음 기능 개선에 대한 불확실성 제거)

빠른 서비스 빌드 및 배포

빠른 서비스 빌드 및 배포를 위해 클라우드로 시작하자!

클라우드의 장점: 인프라 선투자 및 미리 준비 불 필요 / 트래픽에 따른 자동 확장 및 축소. 사용한 만큼만 지불하는 요금 체계/높은 보안성

쉬운 아키텍처로 시작!

- 모놀리식(monolith) 아키텍처: 모든 DB라던가 기능이 한 곳에 있는 구조

- 마이크로서비스:기능을 분화해서 빠르게 업데이트되도록하는 구조

그러나 모놀리식 아키텍처도 괜찮다.

AWS 클라우드로 구축한다고 하면, 로드밸런스가 있어서 서버 두대로 나눠서 서버 하나가 죽더라도 계속 서비스 가능하고 DB도 두 대로 나눠서 DB가 죽더라도 슬래이브 DB가 서비스를 계속 이용할 수 있게 한다. 이러한 아키텍처가 가용성도 높고 가장 기본적인 아키텍처이다.

어빌리티 존이라는 가용 영역에 서버를 나눈 것은 데이터 센터가 혹시 장애가 났을 경우에도 충분히 대응할 수 있게 하기 위함이다.

여기에 소개하고 싶은 서비스가 Amazon의 LightSail-가상 서버 호스팅이다.

AWS Elastic Beanstalk

다양한 AWS 자원을 활용하여 손쉽게 웹 서비스를 구성 및 배포할 수 있는 무료 관리형 서비스

1단계 : 앱 플랫폼 선택 ▶파이썬/루비/php/node.js 등 서버 환경 / DB, 로드밸런싱 및 오토스케일링

2단계: 소프트웨어 업로드 ▶ 애플리케이션 업로드 및 설치

3단계: 앱 실행 및 지속적 배포 ▶ 업데이트 사항 손쉽게 배포 가능

Amazon의 LightSail과의 차이점은 어플리케이션을 조금 더 쉽게 배포가능하다는 점이다.

API 서비스 ▶ Amazon API Gateway ▶ AWS Lamda(서버리스 함수)

AWS Amplify-웹 및 모바일 앱을 만드는 빠른 방법

 

데이터를 통한 개선


Amazon의 입장에서는 AWS 세일즈를 위한 컨퍼런스이겠지만, 참가자인 나의 입장에서는 많은 IT업계에서 사용하고 도입을 하고 있는 만큼 어떤 부분에 AWS가 사용되는지 전반적인 흐름을 이해할 수 있는 좋은 시간이었다. 더욱이 웹 개발 프로젝트를 준비하면서 AWS 서비스 사용을 한번 시도해볼 생각이었는데 어떤 부분에 어떻게 적용이 가능한지 알 수 있는 유익한 시간이었다.

728x90

'IT > 세미나\컨퍼런스' 카테고리의 다른 글

Women Techmakers Seoul 2019  (0) 2020.04.19