전체 글
-
[Netflix] 넷플릭스의 클라우드 효율성: 비용 절감과 성능 향상을 위한 전략TechBlog 2025. 2. 24. 10:40
넷플릭스는 매일 수백만 명의 사용자에게 콘텐츠를 제공하는 세계적인 스트리밍 플랫폼입니다. 이러한 방대한 서비스를 안정적으로 운영하기 위해 클라우드 인프라에서의 효율성을 지속적으로 추구하고 있습니다. 넷플릭스의 클라우드 효율성 전략은 크게 네 가지 주요 원칙을 중심으로 구성됩니다: 최적화된 리소스 사용, 자동화, 데이터 기반 결정, 그리고 지속적인 개선입니다.1. 최적화된 리소스 사용넷플릭스는 클라우드 리소스를 필요할 때, 필요한 만큼만 사용합니다. 불필요한 리소스를 최소화하여 비용을 절감하는 동시에, 서버와 스토리지 자원의 효율적인 배치를 통해 성능을 최적화하고 있습니다.2. 자동화넷플릭스는 클라우드 환경에서의 운영 효율성을 높이기 위해 자동화 시스템을 구축했습니다. 이를 통해 리소스를 자동으로 확장하거..
-
git 에서 여러개의 commit 로그를 합치는 방법카테고리 없음 2025. 1. 17. 13:32
git rebase로 여러 커밋 합치기 (squash)1. 대상 커밋 찾기 $ git log --oneline a1b2c3e Fix a minor bugd4e5f6a Add error handlingb7c8d9f Initial commit 여기서 a1b2c3e와 d4e5f6a 두 커밋을 합치고 싶다고 가정합니다.2. git rebase -i 실행$ git rebase -i HEAD~nHEAD~n에서 n은 합치고자 하는 마지막 커밋을 포함한 최근 커밋의 수입니다. 예: 위에서 최근 2개의 커밋을 합치려면:$ git rebase -i HEAD~23. Rebase Interactive 모드에서 커밋 결합 (Squash)Interactive 모드에서 다음과 같은 화면이 나타납니다:pick d4e5f6a Add ..
-
Istio Helm 차트에서 istio/base, istio/istiod, 그리고 istio-ingress 각각의 역할카테고리 없음 2024. 9. 3. 15:12
1. istio/base • 역할: istio/base는 Istio 설치의 기본 리소스들을 정의하는 Helm 차트입니다. 여기에는 네임스페이스, 클러스터 역할, 역할 바인딩, 서비스 계정, 커스텀 리소스 정의(CRD) 등 Istio의 모든 구성 요소가 동작하는 데 필요한 기본 인프라 스트럭처가 포함됩니다. 다른 Istio 컴포넌트들은 istio/base에 의존하여 설정됩니다. 2. istio/istiod • 역할: istio/istiod는 Istio의 제어 평면(Control Plane)을 담당하는 Helm 차트입니다. 이 차트는 Istio의 핵심 컴포넌트인 istiod를 설치하며, 서비스 메쉬 내에서의 트래픽 관리, 정책 적용, 텔레메트리 수집 등을 수행합니다. istiod는 Envoy 사이드카 프..
-
anaconda에서 가상환경 목록 확인 및 선택 하기카테고리 없음 2024. 8. 19. 07:37
1. Anaconda 가상환경의 개념가상환경은 프로젝트별로 독립적인 패키지와 Python 버전을 관리할 수 있는 일종의 격리된 공간입니다. Anaconda는 이러한 가상환경을 쉽게 생성하고 관리할 수 있는 기능을 제공합니다. 각 프로젝트에 맞는 가상환경을 사용하면 패키지 충돌을 방지하고, 특정 프로젝트에 맞는 환경을 유지할 수 있습니다.2. 가상환경 목록 확인하기Anaconda에서 현재 시스템에 설치된 가상환경 목록을 확인하려면 다음 명령을 사용합니다: conda env list또는conda info --envs 3. 특정 가상환경 활성화하기특정 가상환경을 활성화하려면 다음 명령을 사용합니다:# conda activate # 예제conda activate sample Anaconda를 사용하여 프로젝트별..
-
yarn 주요 명령어Dev 2024. 8. 16. 06:26
1. 패키지 설치 및 관리yarn install: package.json에 정의된 의존성을 설치합니다. 이 명령어는 yarn.lock 파일을 기준으로 의존성을 설치합니다.yarn add [패키지명]: 특정 패키지를 프로젝트에 추가하고, yarn.lock 파일을 업데이트합니다.--dev 또는 -D: 개발 의존성으로 추가합니다.--peer: 피어 의존성으로 추가합니다.--optional: 선택적 의존성으로 추가합니다.yarn remove [패키지명]: 특정 패키지를 프로젝트에서 제거하고, yarn.lock 파일을 업데이트합니다.yarn upgrade [패키지명]: 특정 패키지를 최신 버전으로 업그레이드하고, yarn.lock 파일을 업데이트합니다.--latest: 메이저 버전을 포함한 최신 버전으로 업그레이..
-
npm, pnpm, yarn, bun 비교Dev 2024. 8. 16. 06:21
모두 JavaScript 패키지 매니저 및 빌드 도구의 차이점을 확인해 보겠습니다. 1. npm (Node Package Manager)주요 특징: Node.js와 함께 제공되는 기본 패키지 매니저.장점:Node.js 설치 시 기본 제공.가장 널리 사용되고 있으며, 커뮤니티와 패키지 생태계가 매우 크다.npm ci 명령을 통해 빠른 설치 가능.최신 버전에서는 npm workspaces를 통해 모노레포를 지원.단점:초기 버전에서는 성능 이슈와 보안 문제로 비판받았으나, 이후 개선됨.이전에는 캐시 관리와 중복 설치 문제로 비효율적이라는 평가를 받음.2. Yarn주요 특징: Facebook(메타)에서 개발한 npm의 대안으로, 특히 성능과 보안에 중점을 둠.장점:Deterministic Install: 설치된..
-
Mac OS에서 Linux 환경에 구동 가능한 컨테이너 이미지 만들기Kubernetes 2024. 8. 15. 10:47
맥북은 기본적으로 macOS를 사용하며, 이와 같은 환경에서 생성된 Docker 이미지를 리눅스 환경에서도 정상적으로 동작하게 만드는 방법을 살펴보겠습니다.1. Docker Desktop 사용맥북에서 Docker Desktop을 사용하면, Docker는 자동으로 리눅스 컨테이너를 실행할 수 있는 리눅스 기반의 가상 머신(일반적으로 Docker Desktop VM 또는 HyperKit을 통해)을 사용합니다. 이 가상 환경은 리눅스와 동일한 커널을 사용하기 때문에, 맥북에서 생성한 Docker 이미지는 리눅스 머신에서 그대로 사용할 수 있습니다.2. 리눅스 기반의 Docker 이미지를 사용맥북에서 이미지를 빌드할 때, 반드시 리눅스 기반의 베이스 이미지를 사용해야 합니다. 예를 들어, node:18-alpi..