카오스 엔지니어링 | 신뢰성 높은 서비스 운영을 위한 실전 카오스 엔지니어링(Chaos Engineering In Action) – 윤석찬 테크에반젤리스트(Aws) 인기 답변 업데이트

당신은 주제를 찾고 있습니까 “카오스 엔지니어링 – 신뢰성 높은 서비스 운영을 위한 실전 카오스 엔지니어링(Chaos Engineering in Action) – 윤석찬 테크에반젤리스트(AWS)“? 다음 카테고리의 웹사이트 ppa.maxfit.vn 에서 귀하의 모든 질문에 답변해 드립니다: https://ppa.maxfit.vn/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 Amazon Web Services Korea 이(가) 작성한 기사에는 조회수 1,883회 및 좋아요 34개 개의 좋아요가 있습니다.

카오스 엔지니어링 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 신뢰성 높은 서비스 운영을 위한 실전 카오스 엔지니어링(Chaos Engineering in Action) – 윤석찬 테크에반젤리스트(AWS) – 카오스 엔지니어링 주제에 대한 세부정보를 참조하세요

– 카오스엔지니어링 원칙: http://channy.creation.net/blog/1173
– 카오스엔지니어링 관련 글: http://blog.creation.net/tag/chaos-engineering
– 한국 Chaos Engineering 커뮤니티 밋업 https://www.meetup.com/Korea-Chaos-Engineering-Community/
– 한국 카오스엔지니어링 페이스북 그룹 https://www.facebook.com/groups/chaosengkorea/

카오스 엔지니어링 주제에 대한 자세한 내용은 여기를 참조하세요.

카오스 엔지니어링의 원칙 – :: Channy’s Blog

카오스 엔지니어링(Chaos Engineering)이란 프로덕션 서비스의 각종 장애 조건을 견딜 수 있는 시스템의 신뢰성을 확보하기 위해 분산 시스템을 실험 하고 …

+ 여기에 보기

Source: channy.creation.net

Date Published: 11/29/2022

View: 7503

카오스 엔지니어링 – IT위키

일종의 성능 테스트로, 무차별적인 부하 속에서 어떤 구성 시스템이 먼저 장애를 일으키는지를 확인할 수 있다. · 분산 시스템의 불확실성을 해소하기 위한 …

+ 여기에 표시

Source: itwiki.kr

Date Published: 2/9/2022

View: 8925

카오스 엔지니어링 – Microsoft Azure Well-Architected Framework

카오스 엔지니어링은 서비스의 복원력과 오류 대응 능력을 높이기 위한 것입니다. 제어된 환경에서 실험을 수행하면 개발 및 배포 중에 발생할 수 있는 …

+ 여기에 표시

Source: docs.microsoft.com

Date Published: 2/15/2021

View: 8529

카오스 엔지니어링의 원칙

카오스 엔지니어링은 운영 환경에서도 갑작스러운 장애를 견딜 수 있는 시스템을 구축하기 위해 시스템을 실험하는 분야입니다. 대규모 분산 소프트웨어 시스템의 발전 …

+ 여기에 더 보기

Source: principlesofchaos.org

Date Published: 1/3/2022

View: 5799

분산시스템과 카오스 엔지니어링(Chaos Engineering)

카오스 엔지니어링이란 복잡한 분산 시스템 환경에서 시스템의 신뢰성을 확인하기 위해, 인위적인 혼돈(Chaos)을 가하여 시스템의 취약한 부분을 찾고 …

+ 자세한 내용은 여기를 클릭하십시오

Source: jerry92k.tistory.com

Date Published: 9/26/2022

View: 2206

IT시스템을 위한 특급훈련, 카오스 엔지니어링을 아십니까?

이런 혼란에 중점을 두고 문제를 예방하기 위한 방법론을 카오스 엔지니어링이라고 한다. 정의하자면 “복잡한 분산 시스템 환경에서 시스템의 신뢰성 …

+ 자세한 내용은 여기를 클릭하십시오

Source: byline.network

Date Published: 5/10/2021

View: 794

[Chaos Engineering] 카오스 엔지니어링 in AWS – honglab

카오스 엔지니어링(Chaos Engineering) 은 시스템이 각종 장애들을 견딜 수 있는지를 테스트하기 위해 분산 시스템을 실험하고 배우는 분야이다.

+ 여기에 자세히 보기

Source: honglab.tistory.com

Date Published: 1/30/2021

View: 9132

카오스엔지니어링 – ITWorld Korea

카오스 엔지니어링(Chaos Engineering)은 고장(failure)에 직면했을 때, 시스템이 어떻게 가동하는지 알려주는 계획된 실험을 운용하는 것이다. 역동적인 클라우드 환경을 …

+ 여기에 더 보기

Source: www.itworld.co.kr

Date Published: 7/19/2022

View: 5510

카오스 테스트(카오스 엔지니어링)란 무엇일까요? – 네이버 블로그

카오스 엔지니어링은 프로덕션 시스템에서 실제 중단 시나리오를 테스트하거나 가능한 프로덕션에 가까운 분산 시스템에서 약점을 찾는 원칙입니다. 즉 …

+ 여기에 보기

Source: blog.naver.com

Date Published: 10/26/2021

View: 843

주제와 관련된 이미지 카오스 엔지니어링

주제와 관련된 더 많은 사진을 참조하십시오 신뢰성 높은 서비스 운영을 위한 실전 카오스 엔지니어링(Chaos Engineering in Action) – 윤석찬 테크에반젤리스트(AWS). 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

신뢰성 높은 서비스 운영을 위한 실전 카오스 엔지니어링(Chaos Engineering in Action) - 윤석찬 테크에반젤리스트(AWS)
신뢰성 높은 서비스 운영을 위한 실전 카오스 엔지니어링(Chaos Engineering in Action) – 윤석찬 테크에반젤리스트(AWS)

주제에 대한 기사 평가 카오스 엔지니어링

  • Author: Amazon Web Services Korea
  • Views: 조회수 1,883회
  • Likes: 좋아요 34개
  • Date Published: 2018. 12. 1.
  • Video Url link: https://www.youtube.com/watch?v=l5LPqRAEwaU

카오스 엔지니어링의 원칙 :: Channy’s Blog

이 글은 넷플릭스(Netflix)의 카오스 엔지니어링을 설명하기 위한 기본 원칙을 담고 있는 PRINCIPLES OF CHAOS ENGINEERING의 한국어 번역입니다. 카오스 엔지니어링에 대한 최근 동향 및 한국 내 커뮤니티 등은 글 아래에 관련 정보를 담았습니다.

카오스 엔지니어링(Chaos Engineering )이란 프로덕션 서비스의 각종 장애 조건을 견딜 수 있는 시스템의 신뢰성을 확보하기 위해 분산 시스템을 실험 하고 배우는 분야입니다.

대규모 분산 소프트웨어 시스템의 발전으로 인해 소프트웨어 공학에 일대 변화가 일어나고 있습니다. IT 업계에서는 개발 유연성과 배포 속도를 높이는 방식을 발빠르게 채택하고 있습니다. 이러한 방식에 대해 떠오르는 당면한 질문은 바로 “우리가 프로덕션 환경의 복잡한 시스템을 우리가 신뢰할 수 있는가?”하는 것입니다.

분산 시스템 내부의 각 개별 서비스가 올바르게 작동하는 경우에도 해당 서비스 간의 상호 작용으로 인해 예측할 수 없는 결과가 발생할 수 있습니다. 즉, 프로덕션 환경에 직접 영향을 미치는 아주 드물지만 파괴적인 실제 장애로 인해 예기치 않은 결과가 발생하면, 분산 시스템이 혼란(Chaos)를 가져옵니다.

시스템 전반의 비정상적인 행동으로 나타나기 전에 이러한 약점을 식별할 수 있어야 있습니다. 이러한 약점은 다음과 같은 형태로 나타날 수 있습니다. 서비스 사용 불가 시, 잘 못 설정된 폴백(fallback), 잘 못 설정된 타임 아웃으로 인한 대량 재시작, 너무 많은 트래픽을 받는 다운스트림 종속성, 단일 장애 지점이 충돌 할 때 연쇄 장애 등입니다. 이 때, 고객에게 영향을 미치기 전에 중요한 문제를 사전에 해결해야 합니다. 즉, 시스템에 내재된 혼란을 관리함으로서 유연상과 속도를 증가시키고, 복잡성이 존재하고 있더라도 프로덕션 배포에 대해 신뢰를 가져야 합니다.

경험 및 시스템 기반 접근 방식은 분산 시스템에서 확장 시 혼란을 해결하고, 현실에서 생기는 이슈를 견딜 수 있는 시스템 능력을 믿을 수 있게 합니다. 이를 위해 분산 시스템을 통제된 환경에서 실험을 하는 동안 나오는 결과를 관찰함으로써 현실에서 실제 행동 방법을 배울 수 있습니다. 우리는 이것을 카오스 엔지니어링이라고 명명하였습니다.

카오스 엔지니어링 시작하기

카오스 엔지니어링은 분산 시스템의 불확실성을 구체적으로 해결하기 위해 시스템의 약점을 밝히기 위한 실험을 손쉽게 해주는 방법론입니다. 이러한 실험은 네 단계로 진행됩니다.

정상 동작을 나타내는 시스템의 측정 가능 통계치로 ‘정상 상태’ 정의하기 정상 상태가 대조군과 실험군 모두에서 계속 될 것이라고 가정하기 서버 장애, 하드 디스크 오작동, 네트워크 끊김 등과 같은 실제 문제에 대한 변수 정의하기 대조군과 실험군 사이의 정상 상태 차이를 조사하여 가설 검증하기

정상 상태를 방해하는 것이 어려울수록 시스템에 대한 확신이 커집니다. 약점을 발견하면, 시스템 전반적인 동작이 일어나기 전에 개선을 진행합니다.

고급 원칙

아래 원칙은 앞서 설명한 실험 과정에 적용할 때, 카오스 엔지니어링의 이상적인 방식을 설명합니다. 원칙들이 추구하는 정도는 분산 시스템에서 우리가 가질 수 있는 자신감과 강하게 연관되어 있습니다.

정상 상태 행동에 관한 가설 구축

시스템의 내부 속성보다는 측정 가능한 결과에 초점을 맞춥니다. 짧은 시간의 결과 측정을 통해 시스템의 정상 상태에 대해 정의합니다. 예를 들어, 전체 시스템 처리량, 오류율, 대기 시간 비율 등은 정상 상태의 동작을 나타내는 측정 기준의 일부 입니다. 실험 중에 체계적인 동작 패턴에 중점을 둠으로써 시스템이 작동하는 방식에 대한 검증보다는 정말 작동하는지 여부를 확인합니다.

현실 세계의 문제 시도하기

카오스 변수는 현실의 문제(Event)를 반영합니다. 잠재적 영향 또는 예상 빈도로 문제의 우선 순위를 지정합니다. 하드웨어 오류에 해당하는 문제를 고려하십시오. 즉, 서버 다운, 잘못된 응답을 하는 소프트웨어 오류, 트래픽 급증이나 스케일 아웃 같은 장애는 아니지만 비정상적인 트래픽을 포함할 수 있습니다. 정상 상태를 방해 할 수 있는 모든 사건은 카오스 실험에서 잠재적 변수입니다.

실제 프로덕션 환경에서 실험하기

각 시스템은 운영 환경 및 트래픽 패턴에 따라 다르게 작동합니다. 시스템 활용 빈도는 언제든지 변경 될 수 있으므로 실제 트래픽을 샘플링하는 것이 요청 경로를 안정적으로 파악하는 유일한 방법입니다. 시스템이 작동되는 방식에 대한 확실성과 현재 배포된 시스템과의 관련성을 확인하기 위해서라도 프로덕션 환경에서 직접 실험하는 것을 강하게 권장합니다.

자동화를 통한 지속적 실험

이러한 실험을 수동으로 진행하는 것은 개발자의 시간을 뺐고 궁극적으로 지속 불가능합니다. 모든 실험은 자동화하고 이를 연속적으로 주기를 가지고 실행합니다. 인프라 오케스트레이션 및 데이터 분석을 수행하기 위해 각 시스템에 자동화 기능을 구현합니다.

폭발 반경 최소화

프로덕션 환경에서 실험을 하는 것은 불필요한 고객 이슈를 유발할 수 있습니다. 단기간의 부정적 영향에 대해 허용할 여유가 있어야 하며, 실험에서 발생할 문제를 최소화하고 억제하는 것은 카오스 엔지니어의 궁극적인 책임과 의무입니다. (역자 주: 실제 환경에서 지속적인 실험을 하여 사용자가 오류를 겪지 않아야 비정상적인 상황이 오더라도 고객에게 영향을 주지 않음)

카오스 엔지니어링은 이미 주요 IT 기업 (넷플릭스 등) 중 일부에서 소프트웨어가 설계 방식을 바꾸고 있는 강력한 방법입니다. 속도와 유연성을 다루면서도, 분산 시스템의 불확실성을 특별하게 조사하고 해결합니다. 다룹니다. 카오스 엔지니어링 원칙은 대량 트래픽을 처리하는 서비스 규모에서 신속하게 서비스를 개선하고, (비정상적 상황에서도) 고객에게 고품질의 서비스 경험을 제공할 자신감을 가질 수 있게 합니다.

이 원칙에 대한 토론은 Chaos Community에서 진행하고 있습니다. 카오스 엔지니어링에 대한 해외 정보는 Awesome Chaos Engineering 에서 계속 업데이트 중입니다.

Update. 국내 커뮤니티 및 동향

AWS DevDay 2018 행사에서 카오스 엔지니어링에 대한 첫번째 발표를 진행했습니다. 위에 설명 드린 기본 원칙이 만들어진 배경과 실제로 어떻게 구현하거나 운용하는지 알고 싶으신 분은 아래 동영상을 참고하시기 바랍니다.

신뢰성 높은 서비스 운영을 위한 실전 카오스 엔지니어링(Chaos Engineering in Action)

이와 더불어 데브옵스(DevOps), 카오스 엔지니어링(Chaos Engineering) 및 사이트 신뢰성 공학(Site Reliability Engineering, SRE)를 다루는 커뮤니티가 운영 중입니다. 관심 있는 분들의 많은 참여 바랍니다.

그 밖에 제가 밋업에서 준비해서 발표한 자료는 아래와 같습니다.

– Channy Yun (윤석찬);

※ Disclaimer- 본 글은 개인적인 의견일 뿐 제가 재직했거나 하고 있는 기업의 공식 입장을 대변하거나 그 의견을 반영하는 것이 아닙니다. 사실 확인 및 개인 투자의 판단에 대해서는 독자 개인의 책임에 있으며, 상업적 활용 및 뉴스 매체의 인용 역시 금지함을 양해해 주시기 바랍니다. (The opinions expressed here are my own and do not necessarily represent those of current or past employers. Please note that you are solely responsible for your judgment on checking facts for your investments and prohibit your citations as commercial content or news sources.)

카오스 엔지니어링

Chaos Engineering

복잡한 분산 시스템 환경에서 시스템의 신뢰성을 확인하기 위해, 인위적인 혼돈(Chaos)을 가하여 시스템의 취약한 부분을 찾고 보강하는 방식의 엔지니어링 기법

일종의 성능 테스트로, 무차별적인 부하 속에서 어떤 구성 시스템이 먼저 장애를 일으키는지를 확인할 수 있다.

분산 시스템의 불확실성을 해소하기 위한 방안으로 주목받고 있다.

카오스 테스트 원칙 [ 편집 | 원본 편집 ]

정상적인 동작을 기반으로 가설을 만든다.

다양한 실제적 사건들을 이용한다.

프로덕션(운영) 환경에서 테스트한다.

지속적 테스트를 위해 동작을 자동화한다.

장애 반경을 최소화한다.

1. 시스템의 정상적인 상태를 정의 ex) CPU Load, Memory Utilization, Network I/O 등

2. 통제 그룹과 시험 그룹 시스템이 정상적인 상태로 지속될 것이라 가정 ex) 서버 40대 중 10대가 동시에 고장나도 고객 서비스는 정상 동작

3. 현실에서 일어날 수 있는 문제를 반영하여 실험 그룹에 도입 ex) 갑작스런 접속 폭주, 서비스 거부 공격

4. 시험 그룹과 통제 그룹을 비교하여 가설 검증 ex) 가설이 기각되는 경우 시스템 보완

기술사 기출 [ 편집 | 원본 편집 ]

카오스 엔지니어링 – Microsoft Azure Well-Architected Framework

목차

카오스 엔지니어링

아티클

04/02/2022

읽는 데 13분 걸림

기여자 2명

이 문서의 내용

카오스 엔지니어링은 프로덕션의 오류에 대한 서비스를 강화하여 개발자가 일관된 안정성을 얻을 수 있도록 도와주는 방법론입니다. 카오스 엔지니어링을 다른 방식으로 생각하면 복잡한 시스템에 내재된 카오스를 수용하고 실험을 통해 솔루션의 처리 능력에 대한 신뢰도를 키우는 것이라고 할 수 있습니다.

카오스를 유발하는 일반적인 방법은 시스템 구성 요소가 실패하게 만드는 오류를 의도적으로 삽입하는 것입니다. 불리한 상황에서 시스템의 안정성을 관찰, 모니터링, 대응 및 개선하는 것이 목표입니다. 예를 들어 종속성을 오프라인으로 전환(API 앱 중지, VM 종료 등), 액세스 제한(방화벽 규칙 사용, 연결 문자열 변경 등) 또는 강제 장애 조치(failover)(데이터베이스 수준, Front Door 등)는 애플리케이션이 오류를 정상적으로 처리할 수 있는지 확인하는 좋은 방법입니다.

프로덕션 환경 외부에서 대규모로 서비스 동작의 특성을 시뮬레이션하기는 어렵습니다. 클라우드 플랫폼의 일시적인 특성은 이러한 어려움을 악화시킬 수 있습니다. 최신 서비스를 만들 때 핵심 접근 방식은 오류가 예상되도록 서비스를 설계하는 것은 입니다. 카오스 엔지니어링은 프로덕션 환경의 불확실성을 수용하고 고객에게 미치는 잠재적 영향을 최소화할 수 있도록 희귀하고 예측할 수 없고 파괴적인 결과를 예측하기 위해 노력합니다.

핵심 내용

서비스 복원력 및 오류 대응 능력을 개선합니다.

카오스 원칙을 지속적으로 적용합니다.

중앙 카오스 엔지니어링 팀을 만들고 구성합니다.

카오스 테스팅에 대한 모범 사례를 따릅니다.

복원력 향상

카오스 엔지니어링은 서비스의 복원력과 오류 대응 능력을 높이기 위한 것입니다. 제어된 환경에서 실험을 수행하면 개발 및 배포 중에 발생할 수 있는 문제를 식별할 수 있습니다. 이 프로세스 중에 다음 지침을 채택할 때는 주의해야 합니다.

자동 관리.

실패 수용.

시스템 중단.

단일 실패 지점을 조기에 식별하고 해결.

가드 레일 및 정상적인 완화 방법 설치.

폭발 반경 최소화.

면역 구축.

카오스 엔지니어링은 단일 중단에 대응하기 위한 단기적인 전술적 노력이 아니라 개발 팀 문화의 필수적인 부분이자 지속적인 관행이 되어야 합니다.

개발 팀 구성원은 프로세스의 파트너입니다. 문제를 심사하고, 오류 삽입에 필요한 테스트 가능성을 구현하고, 필요한 제품 변경을 추진할 수 있는 리소스를 갖추어야 합니다.

카오스 적용 시기

이상적으로는 카오스 원칙을 지속적으로 적용해야 합니다. 소프트웨어 및 하드웨어가 실행되는 환경에는 지속적인 변화가 있으므로 변경 내용을 모니터링하는 것이 중요합니다. 구성 요소에 지속적으로 스트레스 또는 오류를 적용하면 여러 가지 다른 요인으로 인해 작은 문제가 복잡해지기 전에 문제를 조기에 노출할 수 있습니다.

다음과 같은 경우에 카오스 엔지니어링 원칙을 적용합니다.

새 코드 배포.

종속성 추가.

사용 패턴의 변경 내용 관찰.

문제 완화.

프로세스

카오스 엔지니어링에는 전문 지식, 기술 및 관행이 필요합니다. 보안 및 성능 팀과 마찬가지로 서비스 팀을 지원하는 중앙 팀의 모델은 일반적이고 효과적인 접근 방식입니다.

제어된 조건에서 잠재적으로 치명적인 시나리오의 시뮬레이션된 처리를 연습하려는 경우 팀을 구성하는 간소화된 방법은 다음과 같습니다.

공격자 Defender for Cloud 오류 삽입 평가 힌트 제공 분석 완화

목표

팀 구성원에게 모니터링 도구를 숙지시킵니다.

중단 패턴을 인식합니다.

영향을 평가하는 방법을 알아봅니다.

근본 원인을 확인하고 그에 따라 완화합니다.

로그 분석을 연습합니다.

전체 방법

가설로 시작합니다. 기준 동작을 측정합니다. 오류를 삽입합니다. 결과 동작을 모니터링합니다. 프로세스 및 관찰 내용을 문서화합니다. 결과를 식별하고 조치를 취합니다.

프로세스, 아키텍처 선택 사항 및 코드의 유효성을 주기적으로 검사합니다. 오류 삽입 실험을 수행하면 모니터링이 수행되고 경고가 설정되고, 직접적인 책임자(DRI) 프로세스가 효과적이며, 문서화 및 조사 프로세스가 최신 상태라고 확신할 수 있습니다. 몇 가지 주요 고려 사항에 유의하세요.

시스템 가정에 이의를 제기합니다.

변경(토폴로지, 플랫폼, 리소스)의 유효성을 검사합니다.

SLA(서비스 수준 계약) 버퍼를 사용합니다.

라이브 사이트 중단을 기회로 이용합니다.

모범 사례

왼쪽 시프트

왼쪽 시프트 테스트는 초기에 자주 실험하는 것을 의미합니다. 개발 단계 및 배포 파이프라인에서 오류 삽입 구성을 통합하고 복원력 유효성 검사 게이트를 만듭니다.

오른쪽 시프트

오른쪽 시프트 테스트는 서비스가 실제 고객 부하가 있는 사전 프로덕션 또는 프로덕션 환경에서 중요한 경우 복원력이 있는지 확인하는 것을 의미합니다. 오류에 대응하는 것이 아니라 사전 예방적 접근 방식을 채택합니다. 폭발 반경에 대한 요구 사항을 결정하고 제어하는 데 참여하세요.

폭발 반지름

범위를 벗어나면 실험을 중지합니다. 알 수 없는 결과는 카오스 실험의 예상된 결과입니다. 상당한 결과 데이터를 수집하고 가능한 한 적은 수의 프로덕션 사용자에게 영향을 미치는 것 사이의 균형을 맞추기 위해 노력합니다. 이 원칙의 실제 예는 격벽 패턴 문서를 참조하세요.

오류 예산 테스트

카오스 및 오류 삽입에 대한 투자로 오류 예산을 설정합니다. 오류 예산은 SLO(서비스 수준 목표)의 100% 달성과 합의된 SLO 달성 간의 차이입니다.

카오스 테스팅에 대한 고려 사항

다음 질문과 답변에서는 Azure 내의 애플리케이션을 기반으로 하는 카오스 엔지니어링에 대한 고려 사항을 설명합니다.

개발 팀과 관련된 오류를 확인했나요?

개발 팀과 긴밀히 협력하여 삽입된 오류의 관련성을 확인합니다. 과거 인시던트 또는 문제를 가이드로 사용합니다. 종속성을 검사하고 해당 종속성이 제거되면 결과를 평가합니다.

외부 팀은 팀의 오류를 가정할 수 없습니다. 인공 소스로 인한 오류에 대한 연구는 팀의 목적과 관련이 있을 수 있지만 노력이 정당화될 수 있어야 합니다.

프로덕션 오류를 정확하게 반영하는 방식으로 오류를 삽입했나요?

프로덕션 오류를 시뮬레이션합니다. 삽입된 오류를 프로덕션 수준 오류를 처리하는 것과 동일한 방식으로 처리합니다. 폭발 반경에 더 엄격한 제한을 적용하면 프로덕션 환경을 시뮬레이션할 수 있습니다. 각 오류 삽입 작업에는 팀의 시나리오와 관련된 오류 유형을 삽입하도록 설계된 도구가 함께 포함되어야 합니다. 두 가지 기본 방법은 다음과 같습니다.

카나리아 또는 Test In Production(TIP)과 같은 비프로덕션 환경에 오류를 삽입합니다.

프로덕션 서비스 또는 환경을 분할합니다.

모든 오류를 중지하고 상태가 심각해 보이는 경우 상태를 마지막으로 알려진 정상 구성으로 롤백합니다.

신뢰도를 차곡차곡 쌓으셨나요?

먼저 코어를 강화한 다음, 계층에서 확장합니다. 각 지점에서 자동화된 재발 테스트를 통해 진행 상황을 추적합니다. 각 팀은 팀의 상황에 적합한 진행 상황을 기반으로 장기적인 전략을 수립해야 합니다.

왼쪽 시프트 전략을 적용하면 개발자 사용을 막는 장애물이 조기에 제거되고 테스트 결과가 실행 가능한지 확인할 수 있습니다.

프로세스는 매우 세금이 낮아야 합니다. 즉, 이 프로세스는 개발자가 무슨 일이 일어났는지 쉽게 이해하고 문제를 해결할 수 있도록 해야 합니다. 이러한 노력은 일회성 특수 활동으로 부담을 주는 것이 아니라 정상적인 워크플로에 쉽게 부합해야 합니다.

다음 단계

릴리스 테스트에 대한 자세한 내용은 애플리케이션 및 Azure 환경 테스트를 참조하세요.

자세한 내용은 격벽 패턴을 참조하세요.

기본 문서로 돌아가기: 테스트

분산시스템과 카오스 엔지니어링(Chaos Engineering)

모놀리틱과 분산시스템

전통적인 시스템은 모놀리틱 구조로 서비스가 커지면 scale-up 형태로 시스템을 확장해나갔습니다.

서비스를 하기 위해서는 실제 서버 장비를 구매하여 구축하여야 하는데, 비용이 큰 서버 장비를 여러 개 도입하는 것은 부담이 큰 일이었습니다. 이 때문에 서비스가 커져서 서버 자원이 더 필요한 경우에는 단일 서버에서(안정성을 고려한다면 이중화, 삼중화) 서버의 capacity를 늘리는 방향으로 발전해왔습니다.

모놀리틱 인프라 구조는 쉽고 단일 관리 포인트라는 특징으로 장애시 확인해야할 범위가 특정되어 있는 장점이 있지만, 반대로 하나의 서버에서 모든 서비스를 처리하니 서버 장애시 전체 서비스가 중단되는 단점이 있습니다.

또한, 기술구조를 서비스 별로 분류하기 어려운 점, 서버에 올라간 서비스들이 너무 비대해질 경우 scale-up의 한계로 성능을 충분히 내지 못하는 등의 단점이 있습니다.

모바일 시장이 발달하며 웹서비스들은 과거에 비해 더 많은 일들을 처리하고 다양한 형태의 서비스를 하게 되었습니다. 이에따라 웹서버는 더 많은 처리를 안정적으로 하고 서비스를 계속해서 업데이트하여 배포해야하게 되었습니다.

AWS, Google Cloud Platform과 같은 클라우드 인프라 서비스의 탄생은 모놀리틱으로 할 수 밖에 없었던 다양한 제약 들을 해소하며 기업들에게 분산시스템을 구축할 수 있는 환경을 제공해주었습니다. 클라우드를 이용하면 서버 장비의 구매, 유지보수, 리스크 관리에 대한 부담감을 클라우드 업체에 덜고, 요건에 따라 클라우드 자원을 이용하여 웹 서비스를 구축할 수 있습니다.

분산시스템 구조에서는 모듈화 할 수 있는 단위의 작은 서비스들을 별도의 서버 자원에 할당합니다. 이는 서비스 간 결합을 최소화하여 변화에 유연하게 하고 장애시 타 서비스로의 영향도를 감소시킵니다.

하지만 분산시스템이 대규모로 커져 많은 서비스가 개별적으로 돌아가고 다양하게 상호작용하게 되어버려 관리포인트가 일정 수준을 넘어서면 장애시 장애포인트를 찾기 어려워지고 신속한 대처가 어려워집니다.

카오스 엔지니어링은 바로 이를 대비하기 위한 기법입니다.

카오스 엔지니어링

카오스 엔지니어링이란 복잡한 분산 시스템 환경에서 시스템의 신뢰성을 확인하기 위해, 인위적인 혼돈(Chaos)을 가하여 시스템의 취약한 부분을 찾고 보강하는 방식의 엔지니어링 기법입니다.

분산 시스템 환경에서 특정 인스턴스에 과도한 부하 혹은 예기치 못한 중단 등의 상황이 발생하였을때 다른 시스템들이 어떻게 영향을 받는 지를 테스트하고 이를 대처해보며 분산 시스템의 불확실성을 해소하기 위한 방안으로 주목받고 있습니다.

경험이 뒷받침된 시스템 접근 방식은 대규모 분산 시스템에서의 혼란을 해결하고 이러한 시스템이 실제 환경에서의 변수에도 견딜 수 있다는 확신을 심어줍니다.

카오스 테스트 원칙

정상 상태와 동작에 관한 가설을 세운다.

시스템의 내부 속성보다는 측정 가능한 시스템 결과물에 중점을 두어야 합니다. 짧은 시간 동안 측정한 결과물들은 시스템의 정상 상태를 대변합니다. 전반적인 시스템 처리량, 에러율, 지연 백분위 수 등은 모두 정상 상태를 나타내는 주요 지표일 수 있습니다. 실험할 때는 시스템의 행동 패턴에 집중합니다. 그러면 카오스는 시스템이 어떻게 작동하는지가 아닌 시스템이 정상적으로 작동하는지를 검증합니다.

다양한 실제 이벤트 변수들을 적용한다.

카오스에서의 변수는 실제 이벤트를 반영합니다. 잠재적 영향력 또는 예상 빈도에 따라 이벤트의 우선 순위를 지정합니다. 서버 중단과 같은 하드웨어 장애, 잘못된 응답과 같은 소프트웨어 장애, 트래픽 급증 또는 시스템 확장과 같은 비장애 이벤트와 같은 이벤트들을 고려해야 합니다. 정상 상태를 방해할 수 있는 모든 이벤트는 카오스 실험에서 잠재적인 변수입니다.

운영 환경에서 실험을 진행한다.

시스템은 환경 및 트래픽 패턴에 따라 다르게 동작합니다. 사용률 패턴은 언제든지 변경될 수 있기 때문에, 실제 트래픽을 샘플링하는 것이 요청 경로를 안정적으로 캡처하는 유일한 방법입니다. 시스템 실행 방식에 대한 신뢰성과 현재 배포된 시스템과의 관련성을 보장하기 위해, 카오스는 운영 환경의 트래픽에서 직접 실험하는 것을 선호합니다.

자동화를 통해 지속적으로 실험을 진행한다.

수동으로 실험을 진행하게 되면 공수가 많이 들어갈 뿐만 아니라 궁극적으로 지속 불가능합니다. 실험을 자동화하고 지속적으로 실행해야 합니다. 카오스 엔지니어링은 오케스트레이션과 분석을 모두 추진하기 위해 시스템 내에 자동화를 구축하는 것입니다.

위험범위를 최소화한다.

운영 환경에서의 실험은 고객에게 불필요한 불편을 야기할 수 있습니다. 짧은 시간동안 발생하는 부정적 영향에 대해서는 어느 정도 허용되어야 하지만, 실험으로 인해 여러 시스템에 발생할 수 있는 큰 피해를 최소화하고 억제하는 것은 카오스 엔지니어의 책임이자 의무입니다.

카오스 엔지니어링은

이미 소프트웨어 설계와 엔지니어링 방식을 바꾼 강력한 도구이며, 이는 전세계에서 가장 큰 규모의 작업들에서 이루어지고 있습니다. 다른 방식들이 속도와 유연성을 다루는 반면, Chaos는 주로 이러한 분산 시스템의 불확실성을 다룹니다. 이 카오스의 원칙들은 대규모로 신속하게 혁신할 수 있는 자신감을 제공하고, 나아가 고객에게 가치있는 고품질 경험을 제공합니다.

카오스 몽키

카오스 엔지니어링은 넷플릭스가 IDC 환경에서 AWS로 인프라를 이전할때 처음 도출된 개념입니다.

넷플릭스가 카오스 엔지니어링의 툴로 개발한 오픈소스 라이브러리가 카오스 몽키입니다.

카오스 몽키는 원숭이가 시스템실에 침입하여 무작위로 시스템들을 조작하고 파괴하는 상황을 빗대어 표현한 용어로, 운영환경에서 서비스 인스턴스들을 무작위로 중단시키고 관찰하는 것을 지원합니다.

넷플릭스 카오스 몽키 블로그

[참고]

itwiki – chaos engineering

principlesofchaos

IT시스템을 위한 특급훈련, 카오스 엔지니어링을 아십니까?

가장 개성있는 뉴스레터 일간 바이라인

매일 아침 바이라인네트워크 기자들의 편지와 최신 기사가 여러분의 편지함으로 배달됩니다. Leave this field empty if you’re human:

컨테이너, 쿠버네티스, 마이크로서비스아키텍처(MSA), 모던 애플리케이션, 서버리스…

위에 나열된 단어들은 최근 IT 시스템을 논할 때 가장 많이 언급되는 키워드들이다. 이런 기술을 활용하는 방안을 고민하지 않는 기업은 거의 없을 것이다.

이 기술들의 특징은 점점 더 분산화된다는 것이다. 기존에는 하나의 대형 서버에서 하나의 애플리케이션을 구동했었는데, 이제는 IT시스템의 유연성, 확장성, 안정성 등을 위해 점점 더 작은 모듈로 분산처리된다.

그런데 이런 흐름에는 반대급부도 있다. 이 기술들의 장점은 극명하지만 반대로 IT환경이 복잡해진다는 문제가 있다. MSA 기반의 애플리케이션은 수백 개의 컨테이너나 마이크로서비스로 구성되어 있으며 하루에도 수십, 수백 번씩 배포가 이뤄지는 상황이다. 하나의 서버와 앱만 관리하던 시기와 비교하면복잡성이 대폭 증가한 셈이다.

이런 복잡성은 예기치 않은 혼란, 카오스를 야기한다. 수백 개의 마이크로서비스가 얽히고설킨 MSA 환경에서는 하나의 작은 서비스에서 생긴 문제가 의도치 않게 전체 서비스에 영향을 미칠 가능성이 있다. 각각의 마이크로서비스는 정상으로 작동하는데, 서로 연결되면 예기치 못한 문제를 일으키는 경우도 있다. 누군가 바꾼 코드 한 자가 나비효과를 일으켜 기업 비즈니스 전체를 중단시킬 가능성도 있다.

그럼 서두에 언급한 기술들의 장점을 누리면서도 카오스를 줄이는 방법은 없을까?

이런 혼란에 중점을 두고 문제를 예방하기 위한 방법론을 카오스 엔지니어링이라고 한다. 정의하자면 “복잡한 분산 시스템 환경에서 시스템의 신뢰성을 확인하기 위해 인위적인 혼돈(Chaos)을 가하여 시스템의 취약한 부분을 찾고 보강하는 방식의 엔지니어링 기법(출처 : IT위키)”이다. 일종의 장애 시뮬레이션이라고 볼 수 있다. 미리 다양한 장애 상황을 인위적으로 만들어놓고 시스템이 어떻게 동작되는지 테스트해보는 것이다.

오는 5월 11~12일 예정된 ‘AWS 서밋 온라인 코리아 2021(AWS Summit Online Korea 2021)’에서는 모바일 금융 서비스 토스를 운영하는 비바리퍼블리카의 김신 SW엔지니어가 카오스 엔지니어링을 주제로 발표를 할 예정이다. 최근 AWS는 카오스 엔지니어링을 좀더 쉽게 할 수 있도록 돕는 도구인 ‘AWS Fault Injection Simulator(이하 FIS)’를 정식 출시했는데, 김신 엔지니어는 이 도구를 미리 사용해본 경험을 공유할 예정이다. 김신 엔지니어는 카오스엔지니어링 한국 커뮤니티를 이끌기도 했다. 지난 달 29일 서울 역삼동 AWS 사무실에서 김신 엔지니어로부터 카오스 엔지니어링에 대한 이야기를 들어봤다.

카오스 엔지니어링이라는 용어를 모르는 독자들이 많을 것 같은데, 소개를 부탁드립니다.

우리가 평소에 화재를 대비해서 소방 훈련을 미리 하잖아요? 불이 났을 경우 어떻게 행동해야 하고, 어떻게 해야 사람들이 안전하게 대피하고 불을 빨리 끌 수 있는지 연습을 하죠. 이와 비슷하게 IT시스템에서 그런 걸 하는 것을 카오스 엔지니어링이라고 합니다.

예를 들어 홍수가 나서 데이터센터 하나가 통째로 물에 잠겨 버렸다고 할 때 중단되지 않아야 하는 서비스가 중단이 되는지 안 되는지 실제로 훈련을 해보는 거죠.

이전에도 재해복구시스템이나 테스팅 도구들이 많이 있었는데, 카오스 엔지니어링이 별도로 필요한가요?

소프트웨어가 갈수록 복잡해지고 있잖아요. 토스를 비롯해서 수백명의 개발자가 서비스를 만드는 회사들이 많은데 그러다보니까 각 시스템들 중에서 하나가 문제가 생겼을 때 전체 시스템에 장애가 어떻게 전파되는지 잘 몰라요.

기존 테스트는 자기가 만든 것이 잘 작동하는지에 대한 테스트에요. 데이터센터가 불이 났을 때를 대비한 테스트는 하지 않죠. 카오스 엔지니어링은 그런 일이 벌어졌을 때 정말로 그 문제를 해결할 수 있는 엔지니어에게 알림이 가고 그분들이 집에서 뛰쳐나와서 얼마나 빨리 그 문제를 해결할 수 있는지에 대해서 실험을 해보는 겁니다.

그러니까 카오스 엔지니어링은 그냥 일반적인 테스트와 다르게 어떤 재난에 대해서 대비하는 게 핵심인가요?

네 맞아요. 그런 천재지변부터 누군가 실수로 전원을 뽑을 수도 있고, 컴퓨터 하드디스크가 망가진다든지 이런 다양한 상황들이 있잖아요, 그런 상황에서 우리 서비스가 장애를 내지 않고 잘 견뎌낼 수 있는가, 장애가 나면 얼마나 빨리 복구되는가에 대해 테스트하고 개선하는 프로세스를 카오스 엔지니어링이라고 합니다.

AWS 행사에서 발표를 하실 예정인데, AWS와 같은 클라우드 서비스는 재난대비 같은 건 알아서 해주지 않나요?

그렇지 않습니다. AWS도 늘 파란불은 아니거든요. 종종 AWS도 잘 안 될 때가 있죠. 또 비용이나 여러가지 문제로 100% 클라우드를 쓰는 경우는 많지 않을 거에요. AWS를 사용하면서도 직접 서버를 운용하는 경우도 있고, 마이크로소프트 애저나 구글 클라우드 플랫폼과 같은 다른 클라우드를 사용하는 경우도 많아요.

2년전인가 3년전인가 AWS 장애로 배달의민족이나 쿠팡같은 서비스가 한꺼번에 중단돼서 사회문제가 된 적이 있습니다. 토스도 그때 장애가 있었던가요?

토스 같은 경우에는 큰 문제가 없었습니다

그게 카오스 엔지니어링 덕분이었던건가요?

정확히 카오스 엔지니어링이란 용어를 쓰면서 했었던 건 아니지만 비바리퍼블리카는 분명 그런 테스트들을 늘 하고 있기는 해요. 데이터센터 한 군데에 문제가 생겼을 때 정말로 고객들이 송금을 하는데 문제가 없는가에 대해서 늘 확인하고 있어요.

그런데 클라우드라는 게 원래 죽지 않아야 하는 것 아닌가요? 특정 인스턴스에 문제가 생겨도 다른 인스턴스가 빠르게 하던 일을 받아서 함으로써 이용자가 느끼는 서비스 중단은 최소화된다, 뭐 이런 개념 아니었나요?

제가 경험한 일이 있어요. 인스턴스 열 대를 띄워놨었는데 갑작스럽게 늘어난 부하 때문에 세 대가 죽었어요. 열 대가 하던 일을 일곱 대가 하게 됐으니 일곱 대도 죽을 게 분명하죠. 그 걸 막으려고 새로운 인스턴스를 띄웠어요. 그런데 새롭게 띄워지는 인스턴스들이 동시에 딱 뜨는 게 아니죠. 하나씩 차례로 뜨는데 새 인스턴스가 뜨자마자 하나씩 부하를 맞고 죽어버리는 거예요.

우리는 논리적으로 설계를 해서 서비스 장애가 없도록 구성을 해놨지만 실제로 트래픽이 많아서 인스턴스가 죽었을 때 원했던 대로 자동으로 복구되지는 않는 문제였던 거죠.

카오스 엔지니어링은 이런 상황을 미리 실험해 보는 겁니다. 트래픽을 인위적으로 늘려보고 인스턴스들이 죽는지 안죽는지, 죽었을 때 우리의 논리적 설계 대로 다른 인스턴스가 떠서 부하를 떠안고 서비스를 유지시키는지 확인해야죠. 실험했는데 예상했던 논리적 설계대로 되지 않으면 수정해서 또 실험을 해야죠.

글보벌 IT 기업들은 카오스 엔지니어링을 잘 하고 있나요?

넷플릭스나 아마존 같이 큰 기업들, 잠깐의 장애가 발생해도 큰 경제적인 손실이 생기는 회사들은 계속 도입해보고 있어요. 그래서 넷플릭스에서 나온 카오스 엔지니어링 툴들이 되게 많아요.

그런 툴들은 오픈소스로 공개되어 있나요?

네, 카오스 몽키라는 오픈소스가 있어요. AWS는 대신 이론적인 정립을 한 것이 많아요. AWS에는 게임데이라는 행사가 있다고 알고 있어요. 자연재해와 같은 상황에서 AWS 서비스가 살아남을 수 있느냐에 대해서 팀 전체가 게임처럼 해보는 날이라고 해요. 이게 카오스 엔지니어링의 시조로 알고 있어요.

이번에 AWS 행사에서 카오스 엔지니어링을 주제로 발표할 예정인데, 어떤 내용의 발표를 할 예정인가요?

카오스 엔지니어링이 소프트웨어 엔지니어 사이에서도 그렇게 잘 알려진 개념은 아니에요. 그래서 카오스 엔지니어링이 뭔지부터 설명하는 자리예요. 또 이번에 AWS FIS(Fault Injection Simulator)라고 많은 사용자들이 카오스 엔지니어링을 쉽게 할 수 있도록 하는 제품을 새로 냈거든요. 그럴 미리 써본 경험을 이야기할 예정입니다.

미리 사용해본 FIS는 좋던가요?

카오스 엔지니어링을 잘 하려면 눈에 보이는 앞단의 일 이외에 뒷단의 일들이 많아요. 그런데 AWS FIS는 이런 뒷단의 프로세스를 자연스럽게 유도하더라고요.

이번 발표에서 청중에게 전하고 싶은 메시지가 있나요?

‘우리 엔지니어들은 언제나 장애에 대비하고 있어야 된다. 카오스 엔지니어링이라는 개념이 있다, 그래서 비슷한 고민들을 하고 있는 사람들이 있다. 이제 커뮤니티에 활동도 하고 하면서 좀 알아봤으면 좋겠다.’ 정도입니다.

네, 알겠습니다. 인터뷰 감사합니다.

감사합니다.

글. 바이라인네트워크

<심재석 기자>[email protected]

[Chaos Engineering] 카오스 엔지니어링 in AWS

728×90

728×90

먼저 카오스 엔지니어링이란 무엇인가?

서비스를 운영하면, 장애(Failure) 와는 필연적으로 마주치게 된다

장애는 항상 언제 어디서든 일어날 수 있기 때문에, 장애가 일어나더라도 빨리 복원하거나 고객들이 알아채지 못하는 인프라를 구성하는 것이 중요 하다

카오스 엔지니어링(Chaos Engineering) 은 시스템이 각종 장애들을 견딜 수 있는지를 테스트하기 위해 분산 시스템을 실험하고 배우는 분야이다

통제된 환경에서 의도적으로 구성된 실험을 통해 잠재적인 문제를 선제적으로 발견하는 것이 목표

실제 프로덕션 환경에서 장애를 주입(Failure Injection)해 약점을 식별하고, 장애를 미리 탐지할 수 있는 복원성 높은 아키텍처를 만들어내야 한다

벨만 울리는 화재 비상 대피 훈련이 아닌, 실제로 화재를 일으켜 훈련 을 하는 것과 마찬가지

카오스 엔지니어링의 원칙

정상 상태 행동에 관한 가설 구축

“정상 상태”를 정의 – 실제 비즈니스에 영향을 주는 임팩트를 통계치로 사용

현실 세계의 문제 시도하기

현실의 문제(Event) 반영

실제 프로덕션 환경에서 실험하기

자동화를 통한 지속적 실험

실험들을 지속적으로 돌려보기

폭발 반경 최소화

서비스에 영향 주는 부분을 최소화시킨다

카오스 엔지니어링 진행 과정

정상상태 정의

시스템이 정상(Normal) 운영되는 상태

시스템 내부 속성(CPU, memory 등)이 아닌 비즈니스 및 고객 경험과 연계된 운영 매트릭스 등이 기준이 됨

ex) Amazon – 페이지 로딩 시간, Netflix – 초당 시작 횟수

가설 수립

What if? 만약 이렇게 된다면 어떻게 할까?

장애 이력, 서비스 의존 관계를 참고하고, 다양한 역할 담당자들의 의견을 수렴해 작성해야 함

실험

실제로 장애를 주입하는 단계

실험 규칙

작은 범위부터 시작 (Application, Host, Resource -> Network, AZ, Region 등)

긴급 실험 중지 및 롤백 계획도 짜놔야 한다 (실험이 정상상태 유지 못하면 빠르게 롤백해야 함)

결과 검증

장애 감지 및 복구 등의 시간 측정(결과 정량화)

개선

실험을 통해 도출한 액션 아이템 실행

카오스 엔지니어링 도구

Simian Army (from Netflix)

AWS 인프라 의 안정성, 복원력을 테스트하기 위해 Netflix에서 개발한 도구 모음

Chaos Monkey (2011 도입)

인프라에다 장애를 주입해 복원성을 테스트하는 카오스 엔지니어링 도구

실 서비스 환경의 Instance와 컨테이너들을 무작위로 죽인다

Chaos Gorilla/Chaos Kong

가용영역/Region 죽임

Monkey만 오픈소스이고 Gorilla와 Kong등은 넷플릭스 내부에서 운영한다

Spinnaker(CI/CD) 와 통합되어 제공된다

Kube Monkey

Kubernates 클러스터의 Pods (컨테이너 단위)를 무작위로 종료한다

AWS Fault Injection Simulater (FIS) (2021 출시예정)

AWS 자체 카오스 엔지니어링 도구

원하는 장애를 쉽게 만들 수 있다고 한다

참고

www.youtube.com/watch?v=wF7du63Ld4U

www.youtube.com/watch?v=l5LPqRAEwaU&feature=emb_logo

channy.creation.net/blog/1173

728×90

728×90

ITWorld Korea

Offcanvas

Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.

카오스 테스트(카오스 엔지니어링)란 무엇일까요?

SW 테스트와 품질관리 카오스 테스트(카오스 엔지니어링)란 무엇일까요? 와이즈스톤 ・ URL 복사 본문 기타 기능 공유하기 신고하기 안녕하세요. 여러분! 여러분은 카오스 테스트 혹은 카오스 엔지니어링이라고 들어보셨나요? 아마 많은 분들이 이미 알고 계실 것 같은데요, 오늘은 이 카오스 테스트에 대한 개념을 정리하려고 합니다. 그동안의 리포트는 이론부터 실무까지 다루며 세세하게 설명했다면 오늘은 딱 3분만 투자하면 이해가 될 만큼 쉽고 간단하게 정리해 보았으니 집중해서 읽어주세요~~! 우선 설명에 앞서, 카오스 테스트의 정의를 알아봅시다. 카오스 테스트(카오스 엔지니어링, chaos engineering)란? 카오스 테스트는 카오스 엔지니어링이라고도 부르며 카오스 테스트는 시스템의 구성 요소 간 상호 관계는 구성 요소의 오류를 시뮬레이션하고 시스템 전체에서 어떤 영향을 미치는지 연구하여 테스트하는 것입니다. ​ 우리는 분산시스템을 실행하는 동안 하드 디스크 오류, 네트워크 대기 시간, 트래픽 급증 등 성능이 크게 저하되고 원치 않은 동작을 유발하는 상황을 겪곤 합니다. 이처럼 예기치 않은 상황이 발생했을 때 발 빠르게 대처해 장애를 막기는 쉽지 않은데요, 하지만 최소한 문제가 생기기 전에 취약한 부분을 찾아 수정한다면 장애가 발생하기 전에 막고 시스템을 더 탄력적으로 만들어 영향을 최소화할 수 있습니다. ​ 카오스 엔지니어링은 프로덕션 시스템에서 실제 중단 시나리오를 테스트하거나 가능한 프로덕션에 가까운 분산 시스템에서 약점을 찾는 원칙입니다. 즉 프로덕션 환경에서 실험을 통해 시스템에 영향을 끼치는 취약점을 포착하고 개발자가 서비스에 장애를 주입하여 결함을 수정 및 추적합니다. ​ ​ 추상적인 의미에서는 실험을 통해 반응을 테스트하여 시스템의 작동 방식을 배우는 전략이라고 할 수 있으며, 목표는 개별 구성요소가 고장 났을 때 시스템 전체가 어떻게 반응하는지에 대한 새로운 정보를 생성하는 것입니다. ​ 따라서 카오스 엔지니어링은 대규모 중단과 같은 비즈니스에 영향을 미치는 이슈가 발행하지 않도록 사전에 위험을 방지하는 인프라 예방 의학의 한 유형이라 할 수 있습니다. ​ 마이크로 서비스 아키텍처(MSA)의 출현으로 서로 다른 팀이 독립적으로 서비스를 개발하여 운영하는 경우가 많은데요, 아키텍처를 성공적으로 구현하려면 소프트웨어의 작은 문제를 해결하지 않고서는 대규모 아키텍처 결함을 안정화할 수 없습니다. 따라서 카오스 엔지니어링은 매우 중요하겠죠? 오늘은 카오스 엔지니어링이 무엇인지 간략히 정리해 보았는데요, 모두 쉽게 이해 되셨나요? 짧은 포스팅이었지만 개념정리에 도움이 되었길 바랍니다. ​ 감사합니다. ​ ​ ​ ​ ​ 인쇄

키워드에 대한 정보 카오스 엔지니어링

다음은 Bing에서 카오스 엔지니어링 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 신뢰성 높은 서비스 운영을 위한 실전 카오스 엔지니어링(Chaos Engineering in Action) – 윤석찬 테크에반젤리스트(AWS)

  • 동영상
  • 공유
  • 카메라폰
  • 동영상폰
  • 무료
  • 올리기

신뢰성 #높은 #서비스 #운영을 #위한 #실전 #카오스 #엔지니어링(Chaos #Engineering #in #Action) #- #윤석찬 #테크에반젤리스트(AWS)


YouTube에서 카오스 엔지니어링 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 신뢰성 높은 서비스 운영을 위한 실전 카오스 엔지니어링(Chaos Engineering in Action) – 윤석찬 테크에반젤리스트(AWS) | 카오스 엔지니어링, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

Leave a Comment