자가 치유 시스템에 대해 배울 수 있는 아키텍처

자가 치유 시스템에 대해 배울 수 있는 아키텍처

소스 노드 : 1988904

DevOps 팀과 사이트 안정성 엔지니어(SRE)는 매일 코드를 처리합니다. 그렇게 함으로써 아이들은 자신의 세계를 면밀히 조사하고, 예리한 관찰을 하고, 예상치 못한 연결을 끌어내는 법을 배웁니다. 결국, 본질적으로 매우 논리적이고 수학적이지만 소프트웨어 개발은 ​​적어도 부분적으로는 예술 형식입니다. 

그 진술에 확신이 없습니까? 역사상 가장 놀라운 건축적 업적과 현대 소프트웨어 공학 사이의 유사점을 생각해 보십시오. 이것은 적절한 비교입니다. 소프트웨어 엔지니어링과 마찬가지로 아키텍처는 복잡한 수학적 계산을 사용하여 아름다운 것을 만듭니다. 그리고 두 분야 모두에서 약간의 계산 착오가 심각한 결과를 초래할 수 있습니다. 흥미롭게도 많은 유명한 아키텍처 실수는 우리가 코드에서 발견한 문제와 유사합니다.

영감은 어디에서나 볼 수 있다는 점을 기억하십시오. 다음은 특히 자가 치유 시스템의 미래와 관련하여 소프트웨어 엔지니어가 수세기에 걸친 건축학적 깨달음에서 배울 수 있는 몇 가지 교훈입니다.

교훈 1: 엣지 케이스는 항상 시스템 취약점을 악용합니다.

현재 601 Lexington으로 불리는 Citicorp Tower는 1977년 뉴욕 시에서 완공되었으며 당시 세계에서 100번째로 높은 건물이었습니다. 마천루의 최첨단 디자인에는 XNUMX개의 XNUMX피트가 넘는 죽마가 포함되어 있습니다. 놀라운 완성이었습니다. 그러나 한 학부생은 곧 충격적인 사실을 발견했습니다. 바로 강한 바람입니다. 건물의 무결성을 위태롭게 할 수 있습니다.. 특히 강력한 XNUMX분할 바람이 Citicorp Tower의 모서리를 강타하면 구조물이 무너질 수 있습니다. 가장자리 케이스.

탑은 매년 16분의 XNUMX의 붕괴 확률을 가졌습니다. 이러한 가능성은 도박 테이블에 앉아 있는 누군가를 유혹할 수 있지만 Citicorp Tower 뒤에 있는 건축가와 구조 엔지니어의 전망은 암울했습니다. 고맙게도 기술자들은 건물의 볼트 결합부를 보강할 수 있었습니다. 재난을 피했습니다.

구조 엔지니어들은 Citicorp Tower가 결국 베어링을 손상시킬 만큼 강한 바람에 직면할 것임을 알고 있었습니다. 마찬가지로 노련한 소프트웨어 엔지니어는 강력한 APM(애플리케이션 성능 모니터링) 및 이벤트 관리가 불가피한 에지 케이스로부터 시스템을 보호하기에 충분하지 않다는 것을 알고 있습니다. 없는 정적 시스템 때문입니다. 머신 러닝 (ML) 기능은 분기 바람과 같은 예상치 못한 계획되지 않은 새로운 상황을 처리할 수 없습니다. 모니터링 도구에만 의존할 때 인간 관리자는 오류를 해독하고 사고 관리 프로세스를 에스컬레이션해야 합니다.

평균 복구 시간(MTTR)/평균 감지 시간(MTTD)을 줄이려면 DevOps 팀은 엣지 케이스의 높은 가능성을 수용하고 자가 학습 솔루션을 선제적으로 배포하기 위해 노력해야 합니다. 엔지니어링에서 선견지명이 중요하기 때문에 이 교훈은 큰 도움이 됩니다.

수업 2: "날아가는 대로 비행기 만들기"는 끝없는 순환을 만듭니다.

비극적인 사건은 여러 가지를 가져왔습니다. 항공 역사에서 가장 중요한 교훈. 비행기가 비행 중 엄청난 감압을 겪고 1954년에 추락했을 때 엔지니어들은 네모난 조수석 창문이 불필요한 스트레스 포인트라는 것을 확인했습니다. 금후, 비행기에는 둥근 창문이 달려 있었다. 온보드 화재로 인해 대피 용이성을 우선시하는 새로운 좌석 배치가 이루어졌습니다. 이러한 변화는 수많은 생명을 구했습니다.

많은 산업 분야(항공 포함)에서는 제품에 대한 철저한 스트레스 테스트를 수행할 방법이 없습니다. 앞서 언급했듯이 엣지 케이스는 피할 수 없습니다. 여기서 가장 중요한 점은 소프트웨어 엔지니어가 시스템의 취약점이 나타날 때 주의를 기울여야 한다는 것입니다. 거기에서 그들은 신속하게 문제를 해결해야 합니다. 그렇게 하려면 두 가지가 필요합니다. (1) 올바른 KPI(핵심 성과 지표)를 식별 및 추적하고 (2) 관련 메트릭을 기반으로 시스템을 개선하는 데 시간과 리소스를 투자해야 합니다.

평균적인 엔지니어링 팀은 16~40개의 모니터링 도구에 투자하지만 성공을 나타내는 지표를 놓치는 경우가 많습니다. 15% 미만의 팀이 MTTD를 추적하므로 인시던트 수명 주기의 66%를 놓칩니다. 그리고 팀의 XNUMX/XNUMX이 보고합니다. SLA(서비스 수준 계약) 누락 가용성 추적에 대한 상당한 투자에도 불구하고. 이것은 데이터 수집이 철저하고 체계적인 분석이 필요하다는 것을 말해줍니다. 포인트 솔루션으로는 더 이상 충분하지 않습니다.

소프트웨어 엔지니어, DevOps 팀 및 SRE는 가용성에 대한 엄청난 양의 정보에서 가치를 추출하는 프로세스 및 도구의 우선 순위를 지정해야 합니다. 단순히 중요한 오류를 관찰하는 대신 항공 엔지니어의 책에서 한 페이지를 가져와 중요한 결정을 신속하게 내려야 합니다. 그 비결은 AI에 있다.

교훈 3: AI는 자가 치유 시스템의 기본 구성 요소입니다.

완전히 자율적이고 완벽하게 작동하는 자가 치유 시스템은 모든 소프트웨어 엔지니어에게 이상적입니다. 스스로 패치하는 시스템은 비용이 많이 드는 소비자 대면 다운타임을 제거하므로 고객 만족도에 좋습니다. 또한 지루한 티켓 관리의 필요성을 크게 줄여 ITSM(IT 서비스 관리) 기능에 매우 유용합니다. 이러한 시스템을 구축하려면 몇 가지 구성 요소가 필요하며 그 중 대부분은 현재 손이 닿지 않는 부분입니다. 그러나 우리는 일부 사람들이 깨닫는 것보다 자가 치유 현실에 더 가깝습니다.

광범위한 AI 채택의 부족은 오늘날 자가 치유 시스템이 직면한 가장 큰 장애물로 남아 있습니다. 많은 기업이 기본적인 AI 또는 ML 기반 도구를 채택했지만 이러한 도구의 무결성은 의심스럽습니다. 즉, 많은 엔지니어들이 IT 운영을 위한 인공 지능 (AIOps) 자율 AI 알고리즘 대신 규칙 기반 자동화 논리를 따르는 기술. 그 차이는 사소한 것처럼 보일 수 있지만 실제로는 생산성 손실 시간과 수백만 달러의 손실 가능성 사이의 차이입니다.

문제는 규칙 기반 AIOps 도구가 서로 다른 포인트 솔루션 간의 상호 작용을 분석하고 일반적인 데이터 오류를 식별할 수 있다는 것입니다. 그러나 자동화 기반 시스템은 시간이 지남에 따라 완전히 새로운 오류의 진화를 처리할 수 없으며 데이터의 새로운 오작동을 예측할 수도 없습니다. 이는 이러한 기능을 코딩하는 인간 관리자가 시스템에 다음을 따르도록 요청하기 때문입니다. 이것이면 저것이 논리 패턴. 진정으로 효율적인 AIOps 도구는 인간 기술자가 자신의 존재를 인식하기도 전에 새롭고 문제가 있는 패턴을 분류하여 탐지에서 해결까지 XNUMX개의 모든 클래식 원격 측정 지점에서 발생하는 오류를 완화합니다. 

우리가 기다리는 동안 임박한 AI의 세 번째 물결, 이 버전의 AIOps는 자가 치유 시스템에 가장 가깝습니다. 완전히 실현된 자동화와 독립적인 사고 가능성을 포함할 AI의 미래에 현재의 AIOps 애플리케이션이 어떻게 영향을 미치는지 추적하는 것은 흥미로울 것입니다. 그러면 구조 엔지니어도 AI 기반 자가 치유 시스템의 보상을 받을 수 있습니다.

타임 스탬프 :

더보기 데이터 버 시티