전체 글 20

[패스트캠퍼스] 9개 프로젝트로 경험하는 대용량 데이터 & 트래픽 처리 후기

인스타그램을 보고 있는데... 아래 광고를 봐버렸다. "DAU가 큰 규모의 어플리케이션에서 대규모 트래픽을 핸들링하는 방법" 최근 담당하고 있는 시스템의 트래픽이 가파르게 성장하기 시작했고, (작년대비 2배..) 이벤트를 오픈할 경우 트래픽이 과하게 몰리는 시간대가 있어서, 이에 대한 고민을 한창 하고 있었는데 어떻게 인스타그램 광고가 내 고민을 알았는지... 딱 적합한 강의를 추천해줬지 뭐냐 ㅋ 일단 쟁겨두면 강의의 나머지 부분도 필요할 때 찾아듣겠지하며 고민도 없이 바로 구매를 했고, (사실 비용때문에 5분 망설임) 얼른 첫번째 강의가 오픈되길 목이 빠져라 기다리는 중 ㅠ 그 중 제일 기대가 되는 강의는 "아이돌 티켓팅 접속자 대기열 시스템" 인데, 실무에서 가장 먼저 접목시킬 수 있을 것 같다 ㅎ ..

[AWS SAA-C02] EC2

0. AWS EC2 개요 - Elastic Compute Cloud의 약자, 각 상황에 맞게 서버 인스턴스를 운영할 수 있는 compute 서비스를 제공. - 상황에 유연하게 compute capacity를 빠르고 편하게 조정할 수 있다. 1. EC2 Pricing Model 1.1 On Demand - 시간(by the hour or the second)당 고정된 요금을 부과 - 장기간 서비스가 필요하지 않을 때 낮은 비용으로 EC2를 유연하게 운영 - 어플리케이션이 막 개발되었거나 테스트 상황에서 EC2에 처음 올릴 때 이용 - pay a fixed rate by the hour 1.2 Reserved - 정해진 용량을 서비스하는 대신, 각 인스턴스 당 시간당 요금에 할인을 제공한다. - 어플리케이션..

[AWS SAA-C02] CloudFront 와 Storage Gateway

1. CloudFront (Global Service, not regional basis) - A Content Delivery Network(CDN) is a system of distributed servers that deliver webpages and other web content to a user based on the geographic locations of the user, the origin of the webpage, and a content delivery server. - CDN: 웹페이지나 웹 컨텐츠를 사용자의 위치, 웹페이지의 출처, content 전달 서버를 기반으로 전달하는 분산 서버 시스템 - Edge Location: 컨텐츠가 캐싱되는 위치. AWS 리전/AZ에 나누어..

AWS SAA-C02 - S3(AWS Storage) 추가 특징 및 기능

0. S3의 추가 특징 및 기능 - Tiered Storage Available(계층형 저장 가능) - Lifecycle Management - Versioning - Encryption(암호화) - MFA Delete (삭제시 MFA인증) - Secure your data using Access Control Lists and Bucket Policies 1. LifeCycle Management - LifeCycle Rule을 생성해 특정 (혹은 모든) 버켓에 대해 적용할 수 있는 기능 - 서로 다른 storage class(S3 storage 종류, 이전 포스팅 참고)간의 객체 전환을 자동화할 수 있으며 버전 관리 등을 수명주기에 적용할 수 있다. - Automates moving your obje..

AWS SAA-C02 - S3(AWS Storage)

0. S3 서비스란? - secure, durable, highly-scalable 한 저장공간(storage)을 제공하는 서비스 - 데이터를 조회하고 저장하는 웹서비스 인터페이스를 쉽게 제공(웹서비스 url를 호출하면 데이터 적재/조회, 인터넷 스토리지 서비스) - Object(as files) based storage / file은 0Byte에서 5TB size / 저장공간에 제한은 없음 0.1 bucket - file이 저장되는 단위 - S3에 데이터를 업로드하기 위해선 AWS 리전에 S3버킷 생성 필요 - 버킷 이름은 전역 수준에서 고유하기에 같은 이름의 버킷을 생성할 수 없다. - 버킷 생성 시엔, 지연 시간을 최적화 하고 비용을 최소화하기 위해 지리적으로 가까운 AWS리전을 선택한다. - re..

AWS SAA-C02 - Identity and Access Mgt(IAM)

1. IAM 이란, - AWS에서 유저들의 AWS 콘솔에 대한 접근 권한 및 수준을 관리하는 방법 - AWS 계정을 팀별로 공유하고, 접근 권한을 중앙에서 제공 / 관리 할 수 있도록 한다. - 필요한 경우 유저 및 장치에 대해 임시 접근 가능하도록 설정 가능하다. - Centralised control of your AWS account - Shared Access to your AWS account - Granular Permissions - Identity Federation (including Facebook, Linkedin etc) - Multifactor Authentication(MFA) - Provide temprorary access for users/devices and service..

AWS SAA-C02 - Overview (region, AZ 등 기본 개념)

0. SAA 자격증 취득에 필요한 서비스 Compute: EC2, Lambda Storage: S3, EFS Database: DynamoDB, Redshift Network & Content Delivery: VPC(Virtual Private Clouds), CloudFront Security, Identity & Compliance 1. AWS 이점 - 사용한 만큼 결제, 더 쉬운 새로운 솔루션에 대한 시도 - Pay-as-you-go approcach for pricing (You pay only for the individual services you need) - The ease of trying new solutions 2 AWS Region, AZ, Edge 등 기본 개념 2.1 AWS R..

MSA와 DevOps

후배에게서 오랜만에 연락이 왔다. 취업 준비를 하고 있는데 자격 요건 Better 항목의 시스템 운영과 관련된 여러 용어들이 무엇을 의미하는 건지 감이 잘 안잡힌다고. 시스템 운영에 대한 작은 경험만 있으면 충분히 그 의미가 와닿을 수 있겠지만, 인턴 경험이 없는 경우라면 충분히 겉돌게 느껴질 수 있다. 그래서 지난 1년간 회사에서 담당한 서비스를 운영하면서 알게 되었던 운영 기본 개념을 정리해서 포스팅하고자 한다. 1년전의 나처럼 갓 입사해 모든 용어들이 낯설 수 있는 분들을 위해서. 물론 나는 DevOps엔지니어가 아니기에 깊은 수준의 지식까진 모르고 "개념" 정도만 설명한다. 1. MSA란? Software를 구축하기 위한 아키텍쳐로, 어플리케이션을 최소 구성 요소인 "서비스" 단위로 분할하여 운영..

쓰이는 알고리즘 - 우선순위 큐(Heap)의 임의 요소 삭제에 관한 Idea

우선순위 큐는 반드시 Heap으로 구현할 필요는 없지만, 최소 혹은 최대값에 focus를 두는 우선순위 큐의 특성 상 일반적으로 그 장점을 최대한 잘 살릴 수 있는 Heap을 이용하여 구현한다. 하지만 Heap을 이용하여 우선순위 큐를 구현하게 되면 임의의 요소를 삭제하는 case를 처리하기 곤란해진다. 본 포스팅에선 이런 상황에서 도움이 될만한 idea를 소개하고자 한다. Solution 1. 카운팅 우선순위 큐의 요소에 대한 chk 배열을 만들어 삭제된 요소에 대해 카운팅을 하고, poll할 때 chk 배열의 값을 확인하는 방법이다. 위 그림에서 7 요소를 삭제하고 싶다면 chk[7]++ 이런 식으로 카운팅을 하고, poll할 때 chk배열의 값을 확인하여 1 이상이면 삭제된 것으로 간주한다. 하지만..

쓰이는 알고리즘 - 그래프 기초(최소신장트리)

1. 최소신장트리(Minimum Spanning Tree)의 이해 "신장트리"(이하 Spanning Tree)란, 1. 그래프의 형태를 취하면서, 2. 모든 노드들이 연결되어 있고, 3. 트리의 조건을 충족하여 사이클이 존재하지 않는 자료구조이다. 아래의 그림은 일반적인 그래프(좌)와 신장트리(우)의 예를 나타내고 있다. 앞서 Spanning Tree는 모든 노드들이 연결되어 있고, 사이클을 갖지않는 그래프라고 언급했는데, 그 중 모든 간선(edge) value의 합이 최소를 띄는 Spanning Tree가 MST(최소신장트리)이다. 간선의 가중치가 존재하는 그래프에서 MST를 찾는 과정(알고리즘)의 대표적인 예가 크루스칼 알고리즘(Kruskal's algorithm)과 프림 알고리즘(Prim's alg..