DevOps
-
Toil 줄이기 전략DevOps 2025. 5. 20. 12:23
Toil 줄이기 전략 5가지전략설명1. 관측 가능성 향상 (Observability First)알람, 로그, 지표, 분산 추적 등을 먼저 체계화해 장애 원인 분석을 쉽게 만듦2. 작업 표준화 → 자동화반복 작업을 문서화하고, 스크립트나 워크플로로 전환3. 셀프 서비스화티켓 기반 수동 작업을 개발자/운영자가 직접 처리할 수 있는 포털이나 CLI 제공4. GitOps 도입인프라/설정 변경을 코드 기반으로 관리하여 수동 운영 제거5. Toil 계량 및 주간 점검각 작업 시간을 기록하고, 일정 비율 이상 Toil일 경우 리팩터링 계획 수립 실무 자동화 사례1. 서비스 배포 자동화BeforeAfterJenkins에서 수동 빌드 + 수동 승인 후 배포Git push → CI/CD 파이프라인 → 배포 자동 진행운영자..
-
SRE 컨택스트에서 Toil의 정의DevOps 2025. 5. 20. 12:20
Toil은 반복적이고 수동적이며, 자동화되지 않았고, 사용자 가치에 직접적으로 기여하지 않으며, 시스템이 성장할수록 증가하는 작업입니다.— Google SRE Book 정의 Toil의 대표적인 예시유형예시수동 운영서버 재시작, 로그 수집, 알람 확인 후 수작업 대응반복 작업매일/매주 수동 배포, 모니터링 구성 갱신기계적 대응장애 대응 시 매번 문서 보며 동일한 조치 수행티켓 처리수동 계정 생성 요청, DNS 레코드 수정 요청 등 Toil의 조건 (Google SRE 기준)Toil은 다음 조건 중 여러 개를 만족해야 합니다:조건설명수동적사람의 개입이 필요함반복적같은 작업을 자주 반복함자동화 가능기술적으로 자동화가 가능함비가치 창출고객에게 직접적인 가치를 주지 않음확장성 없음시스템 규모가 커질수록 업무량..
-
Claude vs ChatGPTAI ML 2025. 4. 5. 13:34
Claude vs ChatGPT 비교표항목Claude (Anthropic)ChatGPT (OpenAI)🔢 최신 모델Claude 3 (Opus, Sonnet, Haiku)GPT-4 (GPT-4-turbo), GPT-3.5📦 맥락 길이최대 200K tokens (Opus 기준)최대 128K tokens (GPT-4 turbo 기준)📘 학습 철학헌법 AI 기반: 윤리적, 상식 기반 응답RLHF 기반: 사용자 피드백을 반영한 성능🧠 문해력/이해도매우 뛰어남, 긴 문서 요약에 강함고른 전반적 성능, 정제된 표현력🧾 코드 작성기본은 괜찮으나, 생성형 코딩에선 ChatGPT가 더 강함GPT-4가 Copilot과 통합, 실용성이 높음🗂️ 파일 분석문서 정리/요약/문해에 매우 강함 (PDF/Docx)파일 분석..
-
Platform Engineering 이란DevOps 2025. 4. 3. 13:10
개발자 생산성과 운영 효율성을 동시에 챙기기 위한 새로운 접근 방식으로 Platform Engineering이 주목받고 있습니다. Platform Engineering이란?Platform Engineering은 개발자들이 소프트웨어를 더 쉽고, 빠르고, 안정적으로 배포할 수 있도록 돕는 내부 개발 플랫폼(Internal Developer Platform, IDP)을 설계하고 운영하는 역할을 말합니다.핵심 개념은 이거예요:“개발자가 인프라나 배포 과정을 몰라도, 셀프서비스로 빠르게 개발에 집중할 수 있는 환경을 제공하자.”주요 특징:자동화된 셀프서비스 도구 제공→ 개발자가 버튼 하나로 배포하고, 로그 보고, 테스트 환경 만드는 식내부 플랫폼 팀 운영→ 인프라, CI/CD, 보안, 모니터링 등을 하나로 묶어..
-
Kubernetes의 AdmissionReviewKubernetes 2025. 4. 2. 05:00
Kubernetes의 AdmissionReview는 Admission Webhook과 API 서버 사이의 통신에 사용되는 요청/응답 포맷입니다. 간단히 말하면, "Kubernetes가 webhook에게 묻는 질문과 webhook이 보내는 대답"이라고 생각하면 됩니다. AdmissionReview란?AdmissionReview는 Kubernetes API 서버가 외부 Webhook 서버에 리소스 생성/변경 요청을 검사해 달라고 보낼 때 사용하는 구조체입니다.Webhook 서버는 이 요청을 분석하고, 허용할지 거부할지 결정한 후 응답합니다.구성요소:AdmissionReview.Request: API 서버가 보내는 요청 정보AdmissionReview.Response: Webhook 서버가 응답하는 승인/거부..
-
CRD에 대해 Webhook을 통한 유효성 검증Kubernetes 2025. 4. 2. 04:56
CRD에 대한 Webhook은 보통 다음 두 가지 용도로 사용됩니다:Validation Webhook – 리소스의 생성/수정 요청이 유효한지 검사Mutation Webhook – 리소스를 자동으로 수정(default 값 설정 등) 왜 Webhook Validation을 사용할까?기본적으로 CRD의 유효성 검증은 OpenAPI v3 Schema로 처리할 수 있지만,복잡한 조건 (예: 필드 간 종속성, 외부 리소스 검사 등)은 Webhook을 통해 동적으로 처리할 수 있습니다.예를 들어:spec.replicas는 1 이상이어야 한다spec.env 값이 prod일 때는 spec.logging이 필수다특정 필드가 UUID 형식인지 검사이런 복잡한 로직은 오직 Validation Webhook으로만 가능합니다. ..
-
CRD 리소스에서 Optimistic Concurrency Control(OCC) 구현Kubernetes 2025. 4. 2. 04:20
Kubernetes는 분산 환경에서 여러 클라이언트가 동시에 리소스를 수정할 수 있기 때문에, 충돌 관리가 중요합니다. 이를 해결하기 위해 Kubernetes는 Optimistic Concurrency Control(OCC) 방식을 사용합니다.이 글에서는 CRD(Custom Resource Definition) 리소스에서도 OCC를 어떻게 구현하고 사용하는지, 그리고 실제 Go 코드로 어떻게 처리하는지 알아보겠습니다. OCC란?OCC(낙관적 동시성 제어)는 "충돌이 자주 일어나지 않을 것"이라고 가정하고,리소스를 수정할 때마다 현재 버전(resourceVersion)을 확인하여 충돌 여부를 판단하는 방식입니다.최신 버전일 경우 → 정상 업데이트버전 불일치 시 → 409 Conflict 오류 발생 → 재시..
-
Kubernetes의 Optimistic Concurrency Control (OCC)Kubernetes 2025. 4. 2. 04:10
Kubernetes의 Optimistic Concurrency Control (OCC*은 여러 클라이언트가 동시에 리소스를 수정하려고 할 때 충돌을 방지하기 위한 방법입니다. Kubernetes는 분산 시스템이기 때문에 여러 사용자가 같은 리소스를 동시에 수정할 수 있는데, 이때 낙관적(optimistic) 접근으로 충돌을 감지하고 처리합니다. 핵심 개념: metadata.resourceVersion모든 Kubernetes 리소스에는 metadata.resourceVersion이라는 필드가 존재합니다.이 값은 해당 리소스가 변경될 때마다 변경되는 버전 번호입니다.apiVersion: v1kind: ConfigMapmetadata: name: my-config resourceVersion: "12345..