목차 프리티어로 프로젝트를 진행하다가 EC2가 자주 뻗는 것 같아서 이런저런 최적화를 진행했다. 이후엔 직전 프로젝트에서 사용하려다 우선순위에서 밀린 모니터링 툴을 써보자고 마음을 먹었는데, 검색해 보면 정보가 너무 많거나 너무 적다는 생각을 지울 수가 없었다. 그래서 일단 제목에 적은 각각의 스택에 대해 짧게 정리하고, 그냥 복붙 해서 쓰면 되는 docker-compose.yml을 공유하기로. 그러니까 당장 실행되는 yml과 설정파일이 필요한 분은 스크롤을 내리시길. cAdvisor cAdvisor는 구글에서 개발하고 Apache2.0 라이선스로 공개되어 있는 리소스 모니터링 도구 중 하나이다. 특히 도커와 같은 컨테이너 환경의 리소스, 그러니까 Cpu, Ram, 디스크 I/O, 네트워크 등을 모니터링..
컴퓨터를 사용한 자동화의 가장 큰 목적이자 정의 중 하나는 사람의 관여를 줄이는 것이다. 이는 단순 반복 작업에서 사람을 자유롭게 하고, 휴먼 에러(Human Error)에서 프로그램을 자유롭게 해 개발 효율과 속도를 높인다. 그중 CI, CD, 배포 자동화는 특별히 애플리케이션 빌드 및 배포의 자동화를 통해 고객에게 더 짧은 주기로 제품을 제공하는 방식을 아우르는 개념이다. 경계가 모호한 감이 있지만 하나씩 알아보기로 하자. CI - Continuous Integration CI는 직역하면 지속적 통합이라는 의미가 된다. 여기서 통합이란 개발자 각각의 작업에 대한 통합을 의미하며, 구체적으로는 소스코드와 버전 및 작업환경의 통합(=충돌 방지)을 의미한다. 이를 지속적으로 한다는 말은 곧 통합 과정의 자..
도커(Docker)는 2013년 발표된 PaaS 리눅스 컨테이너 기술의 일종이자, 사실상의 업계 표준이다. PaaS라는 이름대로 인프라스트럭쳐와 미들웨어 등을 가상화해서 제공하는데, 보안상 유리한 격리된 구조와 기존 리눅스 자원의 활용 및 OS를 가상화하지 않기 때문에 Virtual Machine에 비해 굉장히 가볍다는 장점이 있다. PaaS에 대한 설명은 지난 글에 적어두었다. 2022.10.05 - [Development/Cloud] - [Cloud]IaaS, PaaS, SaaS [Cloud]IaaS, PaaS, SaaS 지난 글에서 클라우드 컴퓨팅이란 시스템 리소스를 온디멘드로 제공하는 것을 가리킨다고 했었다. 조금 구체적으로는 벤더사가 리소스를 추상화해 만든 가상 서버를 임대해주는 서비스라고 했 ..
지난 글에서 클라우드 컴퓨팅이란 시스템 리소스를 온디멘드로 제공하는 것을 가리킨다고 했었다. 조금 구체적으로는 벤더사가 리소스를 추상화해 만든 가상 서버를 임대해주는 서비스라고 했었는데, 2022.09.30 - [Development/Cloud] - [Cloud]클라우드 컴퓨팅(Cloud Computing) [Cloud]클라우드 컴퓨팅(Cloud Computing) 클라우드 컴퓨팅이란 저장공간, 연산능력 등 시스템 리소스를 온디멘드(On-Demand)로 제공하는 것을 말한다. 조금 더 구체적으로 말하자면, 클라우드 컴퓨팅이란 가상화(Virtualization) 그리드 컴퓨팅 gnidinger.tistory.com 이번 글에선 이런 클라우드 컴퓨팅을 제공하는 서비스 모델에 대해 알아본다. Cloud Com..
아마존 S3는 무제한 용량을 지원하는 클라우드 저장소이다. 버킷(Bucket)이라는 영역을 생성해 데이터를 키-값(Key-Value) 형식의 객체로 저장하며 뛰어난 접근성과 확장성 및 내구성을 지니고 사용한 만큼만 비용을 청구한다. 이와 같은 장점은 전 세계에 지어놓은 데이터센터에 백업을 해둠으로써 가능해지며, 2022년 기준 125개의 물리적 데이터센터가 세워져 있다고 한다. 또한 S3의 대표적인 스토리지 클래스는 두 가지가 존재하는데, 각각 아래와 같다. Standard - 범용적인 목적. 데이터 액세스 처리 속도가 빠르지만 보관 비용이 상대적으로 높다. Glacier - 백업이 주 목적. 비용이 저렴하지만 데이터 액세스에 상당히 오랜 시간이 걸린다. 계속해서 S3의 장점엔 정적 웹 사이트 호스팅이 ..
아마존 RDS는 이름 그대로 AWS에서 제공하는 관계형 데이터베이스 서비스이다. 특성상 대용량 트래픽을 처리해야 하는 기업 사용자를 타겟으로 하고 있으며 EC2 인스턴스의 시간당 요금을 청구한다. 물론 대여한 인스턴스에 직접 DB를 깔아 사용해도 되지만 EC2 인스턴스는 DB 관리 영역이 작기 때문에 결국 사용자가 직접 데이터 관리 및 백업을 해야 한다는 단점이 존재한다. 또한 데이터 유실의 위험이 존재하며, 차후 DB 규모를 확장하는 데 있어서도 불리한 점으로 작용하게 된다. 반면 RDS를 이용하면 DB 유지보수 및 확장과 관련된 작업을 자동으로 처리해주며, 사용자는 저장된 데이터를 관리하는 일에만 신경을 쓰면 된다. 또한 당연하게도 다양한 DB 엔진을 제공하기 때문에 사용자는 목적에 맞게 DB를 구성..
아마존 EC2는 AWS(아마존 웹 서비스)에서 제공하는 클라우드 컴퓨팅 서비스이다. 클라우드 컴퓨팅 글에서 언급한 바와 같이, 2022.09.30 - [Development/Cloud] - [Cloud]클라우드 컴퓨팅(Cloud Computing) [Cloud]클라우드 컴퓨팅(Cloud Computing) 클라우드 컴퓨팅이란 저장공간, 연산능력 등 시스템 리소스를 온디멘드(On-Demand)로 제공하는 것을 말한다. 조금 더 구체적으로 클라우드 컴퓨팅이란 가상화(Virtualization) 그리드 컴퓨팅(Grid Computin gnidinger.tistory.com 일종의 가상 컴퓨터를 대여하는 서비스라고 생각하면 편하다. 특이한 점은 클라우드 리소스 사용량과 관계 없이 켜놓은 시간을 기준으로 과금을 ..
배포란 개발한 서비스를 외부의 사용자가 이용할 수 있게 공개하는 것을 말하며, 기본적으로 다음의 네 단계를 거쳐 이루어진다. Development - 개발자 개인이 코드를 작성하고 테스트하는 단계 Integration - 각자의 코드를 합치는 단계 Staging - 출시 단계와 가장 유사한 환경에서 테스트하는 단계. 실제 데이터를 이용하며 관련 부서의 확인을 거침 Production - 서비스를 출시하고 제공하는 단계 이때 개발(Development) 환경과 출시(Production) 환경의 차이가 발생할 가능성이 있다. 사용하는 노드나 인증 정보, DB에 접근하는 엔드포인트 등의 환경설정 디테일을 통제하기가 쉽지 않기 때문이다. 따라서 서비스를 개발하고 배포하는 과정에선 환경설정과 코드를 분리하는 것이..
클라우드 컴퓨팅이란 저장공간, 연산능력 등 시스템 리소스를 온디멘드(On-Demand)로 제공하는 것을 말한다. 조금 더 구체적으로 말하자면, 클라우드 컴퓨팅이란 가상화(Virtualization) 그리드 컴퓨팅(Grid Computing) 유틸리티 컴퓨팅(Utility Computing) 서버 기반 컴퓨팅(Server Based Computing) 네트워크 컴퓨팅(Network Computing) 을 모두 포함한 기술로서 벤더사(Vender)가 컴퓨터 리소스를 추상화하여 만든 가상 서버를 임대해주는 방식이다. 온디멘드(On-Demand) - 사용자가 원하는 것을 원하는 시간에 즉시 제공하는 서비스 벤더(Vender) - 아마존, MS, 구글 등의 클라우드 사업자 이때 사용자는 클라우드 내부의 구성 및 ..
- Total
- Today
- Yesterday
- 동적계획법
- 세모
- 기술면접
- 자바
- 세계일주
- java
- 면접 준비
- 칼이사
- Python
- RX100M5
- Algorithm
- 지지
- 남미
- spring
- 유럽여행
- Backjoon
- BOJ
- a6000
- 유럽
- 리스트
- 스프링
- 파이썬
- 야경
- 맛집
- 스트림
- 세계여행
- 여행
- 중남미
- 알고리즘
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |