본문 바로가기

DevOps

(30)
[Diffy] Diffy란 무엇인가? "Diffy를 활용한 코드 없는 API 회귀 테스트" Twitter의 Diffy는 서비스 인스턴스 간의 응답을 비교하여 회귀 테스트를 자동화하는 오픈 소스 도구입니다. Diffy는 새 코드와 기존 코드의 응답을 비교하여 차이를 식별하고, 이를 통해 새로운 변경 사항이 기존 기능에 미치는 영향을 확인할 수 있습니다. 이 도구는 특히 대규모 마이크로서비스 아키텍처에서 효과적으로 사용될 수 있습니다.Diffy의 주요 기능 및 작동 원리트래픽 미러링: 실제 프로덕션 트래픽을 새로운(Candidate), 기존(Primary), 중복(Secondary) 서비스 인스턴스로 미러링합니다. 이렇게 하면 동일한 입력에 대해 세 인스턴스의 응답을 얻을 수 있습니다.응답 비교: Diffy는 각 인스턴스의 응답을 비교하여 Primary와 Secondary 간의 차이를 노이즈로 간..
[FinOps] FinOps란 무엇인가? 개념 설명 및 주요 요소 정리! FinOps는 "Financial Operations"의 줄임말로, 클라우드 비용 관리를 위한 운영 프레임워크 및 문화적 실천을 의미합니다. FinOps의 주요 목표는 클라우드 자원 사용을 최적화하고, 비용 효율성을 극대화하며, 재무 팀과 기술 팀 간의 협업을 강화하는 것입니다. FinOps는 다음과 같은 세 가지 주요 단계로 이루어집니다.FinOps는 클라우드 비용 관리를 위해 재무, IT, 엔지니어링 팀 간의 협업을 촉진하며, 데이터를 기반으로 한 의사결정을 통해 클라우드 자원 사용의 효율성을 극대화합니다. 이를 통해 조직은 비용을 절감하면서도 높은 성능을 유지할 수 있습니다.FinOps의 가치FinOps의 가치는 클라우드 비용 관리와 최적화를 통해 비즈니스 가치를 극대화하는 데 있습니다. 구체적으로..
애자일(Agile)이란 무엇인가? 자일(Agile)은 소프트웨어 개발 방식 중 하나로, 빠르게 변화하는 요구사항에 신속하게 대응하고, 지속적인 개선과 피드백을 통해 고품질의 소프트웨어를 개발하는 것을 목표로 합니다. 애자일은 전통적인 폭포수(Waterfall) 모델의 비효율성을 개선하기 위해 등장했습니다.애자일의 주요 개념적응성: 애자일은 변화하는 요구사항에 유연하게 대응할 수 있습니다. 초기 계획에 얽매이지 않고 프로젝트 진행 중에 발생하는 변경 사항을 수용합니다.반복적 개발: 소프트웨어를 작은 단위(Iteration)로 나누어 반복적으로 개발합니다. 각 반복 주기(Iteration)마다 기능을 추가하고, 이를 통해 점진적으로 완성된 제품을 만들어 나갑니다.고객 중심: 고객과의 지속적인 협력을 강조합니다. 개발팀은 고객의 피드백을 주기..
[DevOps] DevOps란 무엇인가? DevOps는 "Development"(개발)과 "Operations"(운영)의 합성어로, 소프트웨어 개발과 운영 팀 간의 협업을 강화하여 소프트웨어를 더 빠르고 안정적으로 배포하는 방법론을 말해요. DevOps의 핵심은 자동화와 지속적인 통합 및 배포(CI/CD)를 통해 개발 주기를 단축하고 품질을 향상시키는 것입니다.DevOps의 개념협업과 소통: DevOps는 개발자와 운영팀 간의 장벽을 허물고 협업을 강화합니다. 이는 더 나은 소프트웨어 품질과 더 빠른 배포 주기를 가능하게 합니다.자동화: 빌드, 테스트, 배포, 모니터링 등 소프트웨어 개발의 다양한 단계를 자동화하여 오류를 줄이고 효율성을 높입니다.지속적인 통합(CI): 개발된 코드를 자주 통합하여 소스 코드의 품질을 보장합니다. 이는 코드 충돌..
Ansible vs Terraform 알아보기 Ansible과 Terraform은 모두 인프라스트럭처 자동화 도구입니다. 하지만 각각의 목적과 사용 방식에 차이가 있습니다. Ansible은 설정 관리 도구이며, 서버 구성, 소프트웨어 배포, 네트워크 구성 등과 같은 작업을 자동화하는 데 사용됩니다. Ansible은 에이전트 없이 SSH를 통해 서버에 연결하여 작업을 수행하며, YAML을 사용하여 작업을 정의합니다. Ansible은 선언적인 언어로 작성되어 있어, 원하는 상태를 설명하고 Ansible이 해당 상태로 변경하도록 지시할 수 있습니다. 반면에 Terraform은 인프라스트럭처 프로비저닝 도구입니다. 클라우드 서비스 공급자 (예: AWS, Azure, Google Cloud)와 같은 인프라스트럭처를 프로그래밍 방식으로 관리할 수 있습니다. T..
SRE에 대해 알아보기!! SRE 개념에 대해 알아보자! SRE는 Site Reliability Engineering의 약자로, Google에서 시작된 용어입니다. 이 용어는 "소프트웨어를 구축하고 운영하는 데 있어서의 신뢰성, 확장성, 그리고 효율성을 책임지는 엔지니어링 팀"을 특별히 지칭합니다. 이 팀은 소프트웨어의 안정적인 작동과 확장 가능성을 보장하며, 시스템의 효율성을 극대화하는 데 중점을 둡니다. SRE의 핵심 원칙은 세 가지 주요 요소로 구성되어 있습니다: 첫째로, **서비스 수준 목표(Service Level Objectives, SLO)**가 있습니다. SRE 팀은 시스템의 장애율, 성능, 그 외 다른 중요한 지표에 대한 목표를 설정합니다. 이 목표는 서비스 수준 합의(Service Level Agreement, ..