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은 다음 조건 중 여러 개를 만족해야 합니다:조건설명수동적사람의 개입이 필요함반복적같은 작업을 자주 반복함자동화 가능기술적으로 자동화가 가능함비가치 창출고객에게 직접적인 가치를 주지 않음확장성 없음시스템 규모가 커질수록 업무량..
-
SLODevOps 2025. 5. 20. 10:31
SLO란 무엇인가?SLO(Service Level Objective)는 서비스의 신뢰성에 대한 구체적이고 측정 가능한 목표치를 의미합니다. 이는 서비스 수준 지표(SLI)를 기반으로 하며, 사용자 경험을 중심으로 설정됩니다. 예를 들어, "HTTP 요청의 97%는 성공적으로 처리되어야 한다"와 같은 목표가 SLO에 해당합니다.SLO의 필요성엔지니어링 자원은 한정되어 있으므로, 어떤 작업에 우선순위를 둘지 결정하는 것이 중요합니다. SLO는 이러한 결정을 데이터 기반으로 지원하며, 기능 개발과 신뢰성 확보 간의 균형을 유지하는 데 도움을 줍니다. 또한, SLO를 통해 오류 예산(Error Budget)을 정의하고, 이를 기반으로 릴리스 속도 조절이나 안정성 향상 작업의 필요성을 판단할 수 있습니다.SLO ..
-
Platform Engineering 이란DevOps 2025. 4. 3. 13:10
개발자 생산성과 운영 효율성을 동시에 챙기기 위한 새로운 접근 방식으로 Platform Engineering이 주목받고 있습니다. Platform Engineering이란?Platform Engineering은 개발자들이 소프트웨어를 더 쉽고, 빠르고, 안정적으로 배포할 수 있도록 돕는 내부 개발 플랫폼(Internal Developer Platform, IDP)을 설계하고 운영하는 역할을 말합니다.핵심 개념은 이거예요:“개발자가 인프라나 배포 과정을 몰라도, 셀프서비스로 빠르게 개발에 집중할 수 있는 환경을 제공하자.”주요 특징:자동화된 셀프서비스 도구 제공→ 개발자가 버튼 하나로 배포하고, 로그 보고, 테스트 환경 만드는 식내부 플랫폼 팀 운영→ 인프라, CI/CD, 보안, 모니터링 등을 하나로 묶어..
-
NLB의 Proxy ProtocolDevOps 2025. 3. 27. 22:41
NLB(Network Load Balancer)에서 Proxy Protocol은 클라이언트의 원래 IP 주소와 포트 정보를 백엔드 서버에 전달하기 위한 기능입니다. 기본적으로 NLB는 트래픽을 전달하면서 클라이언트의 IP 정보를 숨기기 때문에, 백엔드 서버에서는 요청이 어디서 왔는지 알 수 없어요. 이때 Proxy Protocol을 사용하면, 클라이언트의 원래 IP 주소를 포함한 메타 정보를 NLB가 백엔드에 넘겨줄 수 있습니다. 왜 필요한가요?보안 로깅: 누가 접속했는지 백엔드 서버에서 로깅하려면 원래 IP가 필요함.IP 기반 액세스 제어: 방화벽이나 애플리케이션에서 클라이언트 IP로 접근 제어하려면 반드시 원래 IP가 필요함.세션 추적/분석: 분석 도구나 세션 관리에서 클라이언트 IP가 필요할 수 ..
-
robots.txt 개념DevOps 2025. 3. 26. 21:23
robots.txt는 웹사이트의 루트 디렉토리에 위치하는 텍스트 파일로, 검색 엔진 크롤러(로봇)에게 웹사이트의 어떤 부분을 크롤링(수집)해도 되는지, 또는 하면 안 되는지 알려주는 역할을 합니다. robots.txt란?위치: 반드시 https://example.com/robots.txt에 있어야 함목적: 검색 엔진 크롤러(예: Googlebot, Bingbot 등)의 접근 제어표준: Robots Exclusion Protocol The Web Robots PagesThe Web Robots Pages Web Robots (also known as Web Wanderers, Crawlers, or Spiders), are programs that traverse the Web automatically. ..
-
Elasticsearch의 클러스터, 노드, 샤드, 리플리카의 개념DevOps 2025. 3. 25. 08:29
Elasticsearch는 수평 확장을 염두에 둔 분산 검색 엔진이기 때문에, 클러스터, 노드, 샤드, 리플리카라는 핵심 개념을 기반으로 동작합니다. 각 개념은 다음과 같습니다: 1. 클러스터 (Cluster)정의: 하나 이상의 노드가 모여 구성된 Elasticsearch 시스템 전체.특징: 클러스터 이름이 동일한 노드끼리 자동으로 클러스터를 구성함.역할: 데이터 분산, 쿼리 분산 처리, 장애 복구 등을 자동으로 수행.2. 노드 (Node)정의: Elasticsearch가 설치되어 실행 중인 단일 서버 (물리적 또는 가상 머신).역할:데이터 저장 및 검색 요청 처리Master Node / Data Node / Ingest Node 등 역할 분리 가능예시: 클러스터가 3개 노드로 구성되어 있을 수 있음.3..
-
Elasticsearch와 OpenSearch의 차이점DevOps 2025. 3. 25. 08:26
Elasticsearch와 OpenSearch는 둘 다 분산 검색 및 분석 엔진으로, 내부적으로는 Apache Lucene을 기반으로 동작합니다.그러나 두 프로젝트는 라이선스와 생태계, 개발 주체의 차이로 인해 분리되었습니다. Elasticsearch는 원래 Elastic사에서 오픈소스로 시작했지만, 2021년 Elastic사가 라이선스를 Apache 2.0 → SSPL(서버 측 퍼블릭 라이선스)로 변경하면서, Amazon을 중심으로 기존 오픈소스 버전(7.10)을 기반으로 OpenSearch라는 포크 프로젝트가 시작됐습니다. 주요 차이점 요약:항목ElasticsearchOpenSearch개발 주체Elastic 사Amazon 중심의 커뮤니티라이선스SSPL (비OSI, 오픈소스 아님)Apache 2.0 (..