728x90

AWS 23

AWS - CodePipeline

Code Pipeline = CI/CD 의 끝판왕 처리를 자동으로 해주며, 관리해줌 Code Pipeline이 하는 일은 ? 빌드, 테스트, 배포 과정을 관리 코드 변경 시 Code Pipeline은 이를 감지할 수 있음 소프트웨어 및 어플리케이션 출시 자동화 가능 빠르고 쉬운 디버깅을 가능케 해줌 배포(Deployment) VS 출시(Release) 출시는 최종적으로 사용자에게 제공하는 환경이며, 모든 테스트와 배포를 거친 후의 단계 배포는 100% 세상 밖으로 나오기 바로 전 단계를 의미 Code Pipeline 작동 방법 workflow - 코드 저장소에서 특정 코드가 변경되었을 시에 시작이 된다. code commit 에서 정의된 레포지토리에서 작동한다. 코드의 추가 및 수정 삭제 등 그럴 때마다..

AWS - Code Commit & Code deploy

Code Commit 파일들을 보관하는 저장 장소 (Repository) - Github과 매우 유사 코드, 사진, 라이브러리, 그 밖에도 어플리케이션을 구동하기 위한 모든 파일 등.. 동시에 많은 사람들이 저장 장소 접근 및 업데이트 가능 버전 컨트롤 기능 제공 Ex ) 언제 어떻게 누가 저장 장소 내용을 변경하였는지 Code Deploy = 자동배포 (Automated Deployment) 장점 새로운 기능들의 빠른 배포 소프트웨어 & 서버 다운타임 X Manual 에러 X CD를 하지 않는다면, 서버를 닫고 작업이 이루어진 후에 작업이 끝나야만 서버를 재시작 후에 사용이 가능하다. 2가지 방식이 존재 Rolling 배포 현재 Prod에서 동작중인 서버가 있고 또 개발자들이 어떤 기능을 구현했고 그 ..

AWS - CI/CD

CI / CD CI : Continuous Integration (지속적인 통합) 통합 : 개발자들의 자기들의 개발이 중앙 레포지토리에 반영하고 테스트를 하고 내 것이 다른 개발자들에게 영향이 가지 않게한다. 개발자들의 코드충돌을 막아준다. CD : Continuous Deployment (지속적인 배포) 코드를 수정하고 지속적으로 프로그램을 배포함으로서 사용자들이 불편함을 느끼지 않도록 개발자들의 짐을 많이 덜어준다. CI/CD의 장점 자동화 시스템(Automation) - 테스트 반복적인 일의 경우 자동화를 통해 개발자들의 짐을 덜어준다. Incremental Change 예시로, 쇼핑몰 사이트에서 고객이 옷을 찾다가 가격에 대한 정보가 없다라는 버그를 발견시 개발자가 가격이 보여지는 기능을 구현하기..

AWS - API Gateway

RESTful API에 관한 설명은 ETC 카테고리 설명 참조 https://startces.tistory.com/93?category=797529 API & RESTful API API → Application Programming Interface EX) 가족이 외식하기 위해 식당을 찾아 무엇을 먹을지 메뉴판을 보고 결정하며, 주방에는 주방장이 있다. 이때, 가족은 주방에 직접 가서 무엇을 주문할지 직접 말 startces.tistory.com 대부분 어플리케이션은 RESTful API 기반으로 운용됨 매우 힘든 RESTful API 관리 Authentication & Authorization → 모든 사람들의 요청을 허용하면 안된다. ex) 회원에게만 제공하는 혜택이 있어야 할 경우 비회원에게는 제..

AWS - DynamoDB (Stream)

DynamoDB Stream DynamoDB 테이블에서 일어나는 일들(삽입, 수정, 삭제 등)이 일어날 시 시간적 순서에 맞게 Streams에 기록 Log는 즉각 암호화가 일어나며 24시간동안 보관됨 → 24시간 후 로그 소멸 주로 이벤트를 기록하고 이벤트 발생을 외부로 알리는 용도 (예시 : Lambda Function) 이벤트 전&후에 대한 상황 보관 (24시간 유효) 어플리케이션이 2개의 AWS SDK와 연동이 되어있다고 가정할때 한가지 예시로는 DynamoDB API며 직접 소통하며 하나의 고유한 Endpoint와 연결 하나의 API는 하나의 EndPoint와 연결이 된다 라고 볼 수 있다. ex) 쇼핑몰을 운영한다 할때, 고객이 물건을 구매할 때 이벤트로 인식하여 람다함수가 실행 SNS로 메세지..

AWS - DynamoDB (DAX)

DynamoDB Accelerator (DAX) 다이나모 디비에서 제공하는 클러스터 In-memory 캐시 10배 이상의 속도 향상 읽기 요청만 해당사항 (쓰기 요청x) 읽기 요청이 많거나 그 크기가 많을 때 사용 EX) 블랙프라이데이 → 쇼핑 웹사이트 운영 (수많은 읽기 요청 예상) DAX 원리 DAX 캐싱 시스템 테이블에 데이터 삽입 & 업데이트 시 DAX 에도 반영 읽기 요청에 맞는 데이터가 DAX 에 들어있을 시 DAX에서 데이터 즉시 반환 (Cache Hit) ↔ (Cache Miss) DAX의 단점 쓰기 요청이 많은 어플리케이션에서는 부적절함 기 요청이 많지 않은 어플리케이션에 부적절함 아직 모든 지역에서 제공하지 않음

AWS - DynamoDB (Query VS Scan)

데이터를 불러오는 두가지 방법 Query, Scan Query Primary Key를 사용하여 데이터 검색 Query 사용시 모든 데이터(컬럼) 반환 ProjectionExpression 파라미터 Scan 모든 데이터를 불러옴 (primary key 사용 X) 따로 필터를 추가 하여 원하는 데이터를 볼 수 는있다. (쿼리와 가장 큰차이) 쿼리는 이미 파티션이 적용되는 반면에 스캔은 그렇지 않다. ProjectionExpression 파라미터 Query VS Scan Query가 Scan보다 훨씬 효율적인 따라서, Query 사용 추천 데이터의 크기가 일정하지 않아 테이블의 크기가 계속 커진다면 Scan의 퍼포먼스는 악화된다. 다만, Scan을 사용하면서 보완할 수 있는 스킬이 있다. 순차적 방법 병행 스..

AWS - DynamoDB (Index)

Index 특정 컬럼만을 사용하여 쿼리 테이블 전체가 아닌 기준점(pivot)을 사용해 쿼리가 이루어짐 매우 큰 쿼리 성능 효과 두가지의 Index 유형 존재 Local Secondary Index Global Secondary Index Local Secondary Index (LSI) 테이블 생성시에만 정의해줄 수 있음 따라서 테이블 생성 후 변경, 삭제가 불가능 똑같은 파티션키 사용, 그러나 다른 정렬키 사용 → 전혀 다른 뷰를 만들어 줄 수 있음 시간을 정렬키로 정의한다면 쿼리속도가 빨라짐 Global Secondary Index (GSI) 테이블 생성후에도 추가, 변경, 삭제 가능 다른 파티션키, 정렬키 사용 → 완전히 다른 뷰를 만들어줄 수 있음 뷰를 만든다 → 뷰가 복제가 된다. 뷰에서 데이..

AWS - DynamoDB

DynamoDB NoSQL(Not Only SQL) 데이터베이스 매우 빠른 쿼리속도 Auto-Scaling 긴능 탑재 → 데이터의 크기가 커질 수록 테이블의 크기가 알아서 조정 (비용관리에 좋다) Key-Value 데이터 모델 지원 테이블 생성시 스키마 생성이 필요 없음 → 데이터가 들어올 때 알아서 스키마를 생성함 모바일, 웹, IoT 데이터 사용시 추천됨 → 실시간으로 들어오는 데이터를 관리할때 매우 좋음 SSD 스토리지 사용 → 따라서, 읽고 쓰기가 매우 빠름 테이블(Table) 로 구성되어있음 내부에는 아이템(items) - 행(row)과 개념이 비슷하다. 특징(Attributes) - 열(column)과 개념이 비슷하다. Key-Value (key : 데이터의 이름, Value : 데이터 자체)..

AWS - CloudFront

CloudFront 정적, 동적, 실시간 웹사이트 컨텐츠를 유저들에게 전달하는데 사용됨 특정 유저가 요청했을때 Edge Location을 통해 사용 웹사이트에 컨텐츠가 딜리버리 된다. 컨텐츠 딜리버리 네트워크 Content Delivery Network(CDN) 특정 홈페이지에서 html, js등 내용물을 가져오는 속도를 CDN을 통해 비약적으로 상승 할 수 있다. 분산 네트워크(Distributed Network) 한국에서 웹사이트를 운영중일때라고 가정한다면,, 세계 각국에서 요청이 왔을때 그들에게 보여줘야할때 Latency가 발생할 것이다. 웹사이트 호스팅 Region 에서 멀어질 수록 컨텐츠가 딜리버리되는 시간이 달라진다. CDN은 모든 컨테츠를 직접 전달하는게 아니라 녹색 큐브인 edge loca..

728x90
반응형