본문 바로가기

용어모음/이론

(3)
Tool Chain Tool Chain 이란? 툴체인(Tool Chain)이란 소프트웨어 개발에 사용되는 프로그래밍 도구의 집합이다. 대게 크로스 컴파일 환경을 뜻한다. 간단한 툴체인은 소스 코드 편집을 위한 문서편집기와 소스 코드를 실행 프로그램으로 변환하는 컴파일러와 링커, 그리고 운영체제의 기능을 제공하는 라이브러리로 구성된다. 비디오 게임과 같은 복잡한 제품에서는 소리 효과와 음악, 텍스처, 3차원 모델, 애니메이션 등을 위한 개발 도구가 필요하며, 이를 한데 모아 완성된 제품으로 만드는 개발 도구도 있어야 한다. 툴체인은 크로스컴파일러를 보면 많이 나오는 용어중 하나인데 여기서 크로스 컴파일러란 호스트 시스템에서 타겟 시스템을 위한 실행 가능한 코드를 생성해주는 컴파일러를 말하고 툴체인은 타겟 시스템에서 실행할 프..
SLO, SLI, SLA SLO, SLI, SLA 란 ? 서비스 레벨은 일정 기간 내에 사용자에게 제공되는 서비스를 측정 가능한 용어로 설명한다. 서비스 레벨 목표(Service-level objectives, SLO)는 시스템에서 기대되는 가용성을 설정한 목표이다. 서비스 레벨 지표(Service-level indicators, SLI) 는 시스템의 가용성을 파악하기 위한 핵심 측정치와 지표이다. 서비스 레벨 계약(Service-level agreements, SLA)는 시스템이 SLO를 충족하지 못할 경우 발생하는 상황과 합의된 내용을 설명하는 법적 계약이다. 예를 들어, 웹 애플리케이션의 SLO가 1주일 중 99%에 해당하는 시간 동안 2초 이내에 비디오 재생을 시작하는것이라고 가정할때 SLI는 웹사이트에서 2초 이내에 재..
CI/CD Pipeline CI / CD CI/CD는 애플리케이션의 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법이다. CI/CD는 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제("Integration hell"(인테그레이션 헬))을 해결하기 위한 솔루션이다. * Integration hell : 언젠가는 저장소가 개발자들의 베이스라인과는 너무 많이 달라지게 되는 "통합의 지옥" 이라 불리는 상황 CI(Continuous Intergration) CI/CD의 "CI"는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuos Intergration)을 의미한다. *지속적인 통합 : 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 레포지토리에 통합하는 것을 의미 CI..