오늘 들은 교육은 AWS Builder Online Series이다.
광고는 다 스팸으로 가게 메일 설정을 해뒀는데 어떻게 온거지...?
아무튼 유익한 거니까 신청해봤다.
AWS 한 번 써보는 것도 좋을 것 같다고 생각했는데 이렇게 아마존에서 무료 강의를 해서 좋다.
링크를 들어가니 강의 목록이 있고 실시간 강의가 진행중이었다. 이미 끝난 강의는 다시 볼 수 있었다.
AWS Builder Online Series
1. 아마존 혁신의 문화
아마존의 기업 목표
지구 상에서 가장 고객 중심적인 회사가 되겠다.
언제나 고객을 중심에 놓고 그 해결책을 제시할 때 기술을 도구로 삼는다. 기술을 위한 기술x
아마존은 모든 임직원이 리더 왜? 폭발적으로 성장함에 따라 임직원수 급증-> 중앙집중적인 지시와 통제 불가
반드시 지켜야할 행동강령만 주고 스스로 판단하고 행동하게 함>> 아마존 LP
아마존에는 16가지 LP(Leadership Principles)가 있다.
그 중 하나인 Invent and Simplify -리더들은 조직 내에서 지속적으로 혁신 기회를 찾아내고, 이것들은 단순화 하고 정립해서 다른 조직으로 전파하라. 그리고 내 아이디어에 천착하지 말고 내부에서도 새로운 아이디어를 얻어서 내재화 하라. 혁신을 할 때는 미친 사람 취급을 당할 각오를 해야함. 모두가 끄덕인다면 개선에 머무는 아이디어일 가능성이 높다-
*강연 중 많이 나오던 단어 고객의 pain point: 불편함을 느끼는 지점
피자 두 판의 법칙(two-pizza team rule)
2004년에 아마존 제프베조스에 의해서 고안된 개념:팀이 식사를 할 때 피자 두 판을 가지고 한끼 식사를 할 수 있을정도로 팀 단위가 작아져야 한다.작지만 완전한 팀 구성을 통해 다른 조직에 대한 의존도와 불필요한 communication cost를 줄인다.R&D와 운영이 분리되어 잇으면 서로 책임을 전가하는 경우가 발생할 수 있음2-pizza팀은 s/w 개발, 테스트, 운영을 모두 하게되어 시작부터 끝까지 책임감이 부여됨.
AWS의 CEO인 Andy Jassy가 한 말 실험을 권장하고 실패를 수용하라.
발명에는 두가지가 필요하다
1. 많은 실험을 시도할 수 있는 역량 2. 실험에 대한 실패로 인한 피해를 최소화 할 수 있는 역량
IT 측면에서의 아마존의 Architecture
Architecture? 시스템과 서비스 SW를 말함 API를 통해서 호출하게 하는 것 = 시스템을 만들 때 쓰는 레고블럭 만들기
사업이 커지면서 홈페이지의 코드 증가로 작은 수정을 하려해도 다른 모든 코드에 영향을 끼쳐 정합성을 맞추는데 너무 많은 시간이 듦(혁신을 위한 스피드가 떨어짐) -> 하나의 목적과 기능만을 가지는 Primitive라는 구조로 최대한 작게 코드를 쪼개기 시작 이러한 구조를 Micro Service Architecture라고 함
아마존이 지난 25년간 집중한 3가지
1. 모든 경영 프로세스에 고객을 최우선 순위로 둔다.
2. 고객의 문제를 해결해주기 위해서 대신 혁신하고 발명한다.
3. 인내심을 가지고 장기적인 것에 투자한다.
2-1 알아두면 쓸모 있는 EC2 이야기
- Amazon EC2 기본 개념
- 워크로드에 적합한 EC2 인스턴스 선택하기
- EC2 인스턴스 최적화
- 스팟 인스턴스를 통한 유연한 확장
- EC2 데이터 보호 관리
EC2(Amazon Elastic Compute Cloud)
Amazon EC2 수명 주기
시작하는 순간부터 종료될 때까지 다양한 상태(가격 변경)로 전환
인스턴스 구성-> Pending(실행 중) 상태-> Running 상태(비용 청구) -> Terminated(종료) 상태
정지상태나 최대 절전모드에서 다시 Running 상태로 전환 시, Pending 상태를 거치기 때문에 호스팅 컴퓨터나 Public IPv4가 변경된다. 만약 IP가 유지되어야 한다면 탄력적 IP를 사용, 데이터가 유지되려면 EBS 볼륨을 사용해야 함.
인스턴스 스토어 볼륨의 경우 Stop을 할 수 없고 데이터 유지가 어려움으로 유의
실행중(Running)
인스턴스 동작 상태, 과금 발생, 정지/종료/리봇 명령으로 상태 전이 가능
정지됨(Stopped)
중지된 상태, EBS 볼륨을 루트로 사용하는 인스턴스만 가능, 과금x, 시작/종료 명령으로 상태전이 가능, 탄력적 IP주소 유지
종료됨(Terminated)
인스턴스가 완전히 제거된 상태, 시작이나 정지 불가능, 과금x
워크로드에 적합한 EC2 인스턴스 선택하기
Amazon EC2 인스턴스 표기법
M6d.xlarge | |||
M | 6 | d | xlarge |
인스턴스 패밀리 | 인스턴스 세대 | 추가 기능 | 인스턴스 크기(vCPU 수) |
참고: 인스턴스 크기는 vCPU 수를 말하며 xlarge의 경우 4개의 vCPU를 제공
인스턴스 추가 기능 표시
프로세서 | 스토리지 및 네트워크 | 성능 |
g AWS Gravition 프로세서 | d 빠른 로컬 NVMe 스토리지 | e Enhanced performance |
a AMD EPYC 프로세서 | n 최대 100 Gbps 네트워크 성능 | |
i Intel Xeon 프로세서 |
예) P3dn: 인스턴스 스토어가 NVMe SSD로 되어있고 네트워크 Bandwidth가 100Gbps인 인스턴스
최근 출시되는 인스턴스에는 각 프로세서를 나타내는 g, a, i가 표시되어 있다.
d는 빠른 로컬 NVMe 스토리지를 제공하여 많은 트랜젝션에 대한 낮은 인스턴스를 제공
n은 100Gbps의 네트워크 성능으로 HPC(고성능 컴퓨팅) 가속화 인스턴스와 주로 같이 사용이 되는 추가 옵션
Amazon EC2 범용 인스턴스
M6g 인스턴스 | - 4:1의 메모리: vCPU 비율로 균형있는 컴퓨터, 메모리, 네트워크 지원 - 최신의 프로세서 (M6g, M6l, M6a) 지원 |
T4g 인스턴스 | - 지속적인 성능이 필요하지 않은 워크로드에 대한 버스트 성능 제공 - T4g, T3, T3a, T2 제공 |
A1 인스턴스 | 적정한 메모리에 여러 코어로 확장하고 ARM 명령어를 실행할 수 있는 워크로드 |
web이나 was, 일반 데이터베이스, 테스트, 개발 목적으로 주로 사용되는 범용 타입으로 대표적인 M과 T가 있다.특히 T타입의 경우 크레딧을 통하여 버스트 성능을 제공하는 방식으로 비용을 효율적으로 사용 가능크레딧은 CPU 사용에 대한 베이스 기준선 이하로 사용 시 크레딧이 축적되어 높은 성능이 필요한 경우 크레딧을 소비하면서 성능을 제공하는 개념.\
대규모 서비스를 위한 AWS의 대표적인 NoSQL Database 서비스 알아보기
모던 애플리케이션에서 데이터베이스를 잘 골라야 하는 것이 왜 중요한지 알아보자
관계형과 NoSQL 데이터베이스
닷컴버블이 끝나고 인터넷 기업들이 주도하는 4차 산업혁명이 시작과 함께 IT에는 다양한 프로그래밍 언어와 런타임이 생겨났음
*닷컴버블: 인터넷 관련 분야가 성장하면서 산업 국가의 주식 시장이 지분 가격의 급속한 상승을 본 1995년부터 2000년에 걸친 거품 경제 현상 /출처: 위키백과
그와 함께 데이터베이스 엔진의 종류도 매년 증폭
관계형 데이터베이스가 독점하던 시장이 인터넷 시장의 발전과 데이터의 폭증으로 NoSQL이라는 새로운 영역을 만들어 냄
약 10년이 지난 지금 관계형과 NoSQL 데이터베이스는 서로가 갖고 있는 장점들을 흡수하여 발전중
관계형 데이터베이스에서 스키마에서 자유로운 JSON 데이터 타입이라는 것을 볼 수 있고, 이들은 NoSQL장점인 확장성을 흡수해 나가고 있다.
NoSQL 데이터베이스들은 관계형 데이터베이스가 갖은 주요 특징인 트랜잭션과 보조 인덱스를 흡수하여 자신들의 단점을 제거해 나가고 있다.
왜 많은 기업들이 오픈소스 데이터베이스에 주목하는가?
서비스 스택에서 기업이 특정한 이벤트를 위해 몇시간이나 몇 일 단위로 구매할 수 있는 상용 라이센스가 별로 없다.
일반적으로 인터넷 상이나 서비스를 제공하는 기업들이라면, 특정 이벤트나 트래픽이 몰리는 피크 시간을 기준으로 충분한 여유분의 상용 라이센스를 미리 구매하고 피크 시간이 지난 후에는 사용하지 않더라도 그 비용을 지불해야한다.
AWS 클라우드 리소스는 필요해 의해 생성 및 삭제가 언제든 가능하지만 SW가 상용 라이센스에 락인되는 순간 AWS 클라우드의 장점중 하나인 유연성을 잃어버리게 될 수도 있음
데이터베이스도 마찬가지로,
기업들은 오픈소스 데이터베이스를 통해 상용 데이터베이스의 벤더 락인에서 탈출하고 비용을 절감할 수 있게 된다.
마이크로 서비스에 왜 목적에 맞는 데이터베이스를 사용해야 할까?
각 데이터베이스별로도 잘하는 것과 잘 못하는 것이 있다.
목적에 맞는 데이터베이스를 사용함으로써 확장성과 성능, 가용성을 얻을 수 있음
최근 트랜드는 RDBMS와 NoSQL 둘중 하는를 고르는 것이 아닌 내 서비스와 워크로드에 맞는 데이터베이스를 골라 사용하는 것
대부분 초기개발을 할 때 RDBMS를 많이 사용
최근 모던 애플리케이션에서는 혼용하여 사용되고 있다.
대용량 데이터 처리
분산 데이터베이스에서 노드의 증가는 운영 비용및 운영상의 어려움을 마주하게 되어 태생적으로 분산 처리를 고려하여 만든 데이터베이스이면서 대규모 클러스터를 구성해도 안정적인 운영 환경을 제공하는 서비스(NoSQL/아마존 DynamoDB)를 채택하게 됨
DynamoDB는 복잡한 인프라를 갖고있어 관리가 어렵지만 고객입장에서 간단한 명령어만 사용해서 세부적인 관리작업은 필요하지 않다.
AWS의 대표적인 NoSQL 데이터베이스 서비스
Amazon DynamoDB는 어떤 규모에서도 빠르고 유연하게 동작하는 AWS의 대표적인 Key-value NoSQL 데이터베이스 서비스다.
Dynamo DB는 NoSQL이지만 관계형 데이터베이스가 갖고있는 장점인 보조인덱스와 트래잭션을 제공하기 때문에 지속적으로 변경되는 워크로드에서도 사용 가능
Redis 지원
Redis 란?
인메모리 데이터 스토어
키-값 데이터베이스
AWS IAM과 친해지기
AWS 리소스를 사용하기 위한 모든 요청은 IAM을 통해 이루어진다.
AWS 상에서의 인증과 인가 감사가 어떻게 이루어지는지 알아보자.
AWS 사용 시작
계정 필요 - 계정을 만들 때 사용한 이메일 계정을 루트 어카운트라고 한다.
루트 어카운트는 AWS모든 서비스에 대한 접근 권한을 가지고 있기 때문에 어플리케이션 혹은 일반적인 관리 업무에도 사용하는 것을 권고하지 않음
'컨퍼런스& 교육' 카테고리의 다른 글
[컨퍼런스] Oracle Developer Day (2022.1.19) (0) | 2022.01.19 |
---|