Date: 3월 31, 2021
태그: 리눅스
오픈 소스 고 가용성을 사용하는 경우 팀에 필요한 7 가지 기술
고 가용성 (HA) 영역에는 오픈 소스 경로로 이동하기로 결정한 경우 팀에 필요한 특정 중요한 기술이 있습니다. 정의에 의한 오픈 소스는 자유롭게 사용할 수있는 소프트웨어를 의미합니다.
오늘날 Microsoft 및 SIOS Technology Corp와 같은 공급 업체에서 제공하는 많은 운영 체제에 대한 고 가용성 클러스터의 상용 구현이 많이 있습니다. 이러한 상용 솔루션은 리소스 모니터링, 종속성 관리, 장애 조치 및 클러스터 정책, 그리고 사전 패키지 및 가격이 책정 된 관리 형태를 제공합니다.상업적 구현에 대한 대안은 기업에 고 가용성을 제공 할 수있는 기회를 기업에 제공하는 몇 가지 오픈 소스 옵션입니다.
기업들이 계속해서 최적화, 비용 절감 및 더 엄격한 통제를 추구함에 따라 점점 더 많은 기업과 고객이 오픈 소스 가용성 솔루션으로의 전환을 고려하고 있습니다.
다음은 팀이 오픈 소스 HA로 전환하는 데 필요할 수있는 7 가지 기술입니다.
1. 코딩 기술
대부분의 경우 엔터프라이즈 애플리케이션에 대한 사전 패키지 및 번들 지원이 없다는 것은 팀이 구성 요소를 보호하고 번들 구성 요소로 문제를 해결하거나 애플리케이션 인식이 제대로 처리되도록 애플리케이션 커넥터를 작성하는 솔루션을 개발할 수 있어야한다는 것을 의미합니다.많은 사람들이 스크립트를 작성할 수 있지만 팀은 건전한 개발 관행과 표준을 만들고 준수하는 방법을 알아야합니다.이것의 기본은 다음과 같습니다.
- 설계 및 아키텍처 요구 사항
- 디자인 리뷰
- 코드 / 코드 검토 및 단위 테스트 (가급적 자동화)
2. 기술 환경에 대한 지식
많은 엔터프라이즈 응용 프로그램은 SLA (서비스 수준 계약) 및 SLO (서비스 수준 목표)를 충족하는 고 가용성을 제공하기 위해 여러 시스템과의 통합이 필요합니다.팀은 여러 엔터프라이즈 시스템과의 통합을위한 보호 및 솔루션을 구축하기 위해 기술 환경에 대한 심층적 인 애플리케이션 인식과 지식이 필요합니다.중요한 응용 프로그램, 해당 응용 프로그램의 기술 환경, 네트워킹, 하드웨어, 하이퍼 바이저, 환경 및 응용 프로그램 종속성을 이해하는 사람이 필요합니다.또한 오픈 소스 커뮤니티에서 사용하려는 HA 기술 집합의 아키텍처, 기능 및 제한 사항을 이해하는 팀 구성원이 필요합니다. 팀이 다음 영역을 얼마나 알고 이해하는지 고려하십시오.
- 데이터 전달 및 노드 통신
- 노드 실패
- 응용 관리
- 시스템 복구 및 다시 시작
- 로깅 및 메시지
- 데이터 복원력 및 보호
3. 비즈니스 프로세스 지식
비즈니스 요구 사항과 비즈니스 프로세스를 이해할 수있는 사람이 필요합니다.팀에는 기업의 비즈니스와이를 추진하는 프로세스를 이해하는 전문가가 필요합니다.팀은 솔루션 개발에 사용할 수있는 예산의 양, 비즈니스가 감수 할 수있는 위험의 정도, 말하지 않거나 지정되지 않은 추가 요구 사항을 수집하는 방법을 알고 이해해야합니다.
또한 팀은 이러한 비즈니스 요구 사항을 소프트웨어 요구 사항으로 변환하는 방법과 비즈니스 요구 사항을 충족하는 최소 실행 가능한 고 가용성 솔루션을 실현하는 프로세스를 관리하는 방법을 알고 있거나이를 고용해야합니다. 비즈니스 프로세스에 적합합니다.
4. OS, 애플리케이션 및 인프라 경험
모든 것을 개방하려는 경우 팀은 운영 체제, 애플리케이션 및 인프라를 이해 한 경험이 필요합니다.Linux 용 커널 버전, Windows 용 업데이트 및 핫픽스를 포함하여 다양한 OS 출시주기를 이해해야합니다.지원해야하는 애플리케이션이 사내에 있지만 애플리케이션 업데이트주기, 종속성, 애플리케이션과 OS 지원 매트릭스의 교차점을 이해하기 위해 부지런히 노력해야합니다.환경이 균질하다면 훌륭합니다.그렇지 않으면 팀이 RHEL, RHEL 파생 제품 및 SUSE의 차이점을 알아야합니다.Linux와 Windows 모두라면 이것도 알아야합니다.또한 인프라가 애플리케이션과 OS 조합에 미치는 차이를 이해해야합니다.AWS 및 Azure는 GCP, 온 프레미스 및 기타 하이퍼 바이저와 다른 고 가용성의 차이점을 나타냅니다.
5. 변경 관리 기능
OS, 인프라 및 애플리케이션에 대한 확고한 이해와 함께 기술 및 비즈니스 지식을 갖춘 솔루션을 개발할 개발 팀이 있다고 상상해보십시오.그러나 스크립트를 모으는 것은 시작에 불과합니다.팀에도 변경 관리 기능이 필요합니다.팀은 코드 변경 및 버전, 패키지 및 패키지 위치를 어떻게 추적합니까?팀은 업데이트 및 변경 릴리스를 어떻게 관리합니까?팀은 git과 같은 소스 리포지토리, Jira와 같은 프로젝트 관리 도구 및 릴리스 교육 숙련도에 정통해야합니다.원치 않는 영향을 피하면서 코드를 업데이트하고 패치 및 수정을 제공하는 방법을 이해하는 팀이 필요합니다.
6. 데이터 분석 및 문제 해결 경험
자체 HA 솔루션을 제공하는 공간에 들어가면 팀은 분석 및 문제 해결 경험이 필요합니다.애플리케이션 코드, 시스템 메시지, 애플리케이션 오류 로그 및 추적 파일의 교차점을 이해하는 리소스가 필요합니다.시스템 충돌이 발생하면 로그를 더 자세히 조사하여 문제를 해결하고 근본 원인을 찾고 데이터를 분석하여 권장 사항을 만들고 변경 사항을 배포 할 준비를해야합니다 (위의 # 5 참조).또한 팀은 오류, 실패 또는 시스템 충돌이없는 경우에도 이러한 로그 및 추적 파일의 데이터가 환경 상태에 대해 알려줄 수있는 데이터를 알고 이해해야합니다.
7. 연결 (개발자, QA, 파트너, 커뮤니티)
솔직히 말해서 여러분의 비즈니스는 고 가용성을 제공하는 것이 아니라 오픈 소스 HA 영역에 뛰어 들기로 결정한 경우 팀의 뛰어난 능력보다 더 많은 도움이 필요할 것입니다.추가 도움을 얻는 열쇠는 어디서부터 시작해야하는지 이해 한 다음 커뮤니티 개발자, 테스트 전문가, HA 및 애플리케이션 파트너, 오픈 소스 커뮤니티와 올바른 연결을 만드는 것입니다.공개 포럼은 정말 도움이되었지만 응답 시간이 SLA 및 SLO를 준수하는지 다시 확인해야합니다.
오픈 소스 솔루션을 사용하는 것은 많은 기업이 비용 문제와 유연성, 비용 절감 및 위험 감소에 대한 인식을 추구하기 위해 선택하는 옵션입니다.그러나 구매자는 새로운 기술 및 관리의 형태로 숨겨진 비용이있을 수 있으며 사용하는 오픈 소스 프로그램의 관점에서 "자신의 HA 솔루션 롤"에 필요한 숨겨진 위험이있을 수 있습니다.
– Cassius Rhue, VP, 고객 경험
SIOS에서 재현