Post

AWS가 터졌다

AWS가 터졌다

도입: 사건과 깨달음

2025.10.20 AWS US-EAST-1 리전에서 대규모 장애가 발생했다.
그에 따라 연쇄적으로 Docker, Vercel, Postman, Slack 등 장애가 발생했다. 전 세계 수많은 서비스가 동시에 멈춘 것을 보면서 우리가 한 기술과 서비스에 얼마나 의존하고 있는지 다시 생각하게 되었다.

개인적인 경험도 떠올랐다. IntelliJ IDE가 코드 완성, 리팩토링, 디버깅을 편리하게 지원해주기 때문에 개발 속도가 빨라졌다. 하지만 한편으로는 IntelliJ가 없으면 내가 백엔드 개발을 계속할 수 있을지 의문이 들었다. 요즘에는 AI의 도움을 많이 받고 있는데, AI 없이 개발을 했던 시기가 생각나지 않을 정도로 편하게 사용하고 있다.

편리함 속에 숨어 있는 의존성의 위험. 이번 AWS 사태와 내 개발 경험이 같은 본질을 가리키고 있다.

기술 의존의 구조적 문제

AWS 장애는 단순한 기술적 오류가 아니라 의존성의 위험을 드러낸 사건이다. 많은 서비스가 한 리전에 집중되어 있었기 때문에, 한 곳이 멈추자 전 세계 서비스가 동시에 영향을 받았다.

개발자 입장에서도 비슷하다. IntelliJ, VS Code, JetBrains Toolbox 같은 개발 도구는 편리함을 제공하지만, 동시에 우리의 사고 구조와 생산성에 단일 실패 지점(SPOF)을 만든다. 클라우드 의존성과 개발 도구 의존성은 본질적으로 같다. 한 도구에 모든 것을 맡기면, 그 도구가 멈췄을 때 개발 역량도 흔들린다.

본질 중심 사고의 필요성

그렇다면 해결책은 무엇일까. 도구가 아닌 원리와 개념 이해가 핵심이다.

  • IntelliJ의 코드 자동 완성이나 리팩토링 기능 뒤에 있는 원리를 이해하면, IDE 없이도 객체 설계와 코드 구조를 효율적으로 관리할 수 있다.
  • AWS DR 원리를 이해하면, AWS 없이도 멀티클라우드나 온프레미스 기반 복원력 있는 구조를 설계할 수 있다.

결국, 도구가 없어도 문제를 해결할 수 있는 사고력이 진짜 생존력이다.

기술 선택의 트레이드오프

모든 기술 선택에는 장점과 단점이 존재한다. 예를 들어, AWS를 선택하면 확장성과 관리 편의성을 얻지만, 단일 서비스 의존과 비용 변동 리스크가 생긴다. 반대로 온프레미스를 유지하면 독립성과 제어력을 얻지만, 확장성 부족과 유지보수 부담이 커진다.

개발 도구 선택도 마찬가지다. IntelliJ를 사용하면 개발 속도와 생산성이 높아지지만, 도구에 과도하게 의존하면 문제 해결 능력이나 다른 환경에서의 적응력이 약해진다.

완벽한 기술은 없다. 모든 선택은 트레이드오프이고, 중요한 것은 선택이 만들어낸 구조적 의존성을 이해하고 대비하는 것이다.

현실적으로 할 수 있는 것들

도구 의존을 없앨 수는 없다. 중요한 건 의존성을 인식하고 관리하는 것이다.

한 도구에 올인하지 않기

  • AWS 쓰더라도 멀티 리전 구성 정도는 고려한다
  • 주력 IDE가 있더라도 간단한 수정은 다른 에디터로도 가능하게 유지한다
  • 핵심 서비스는 단일 벤더에 락인되지 않도록 추상화 계층을 둔다

“왜”를 이해하며 쓰기

  • IntelliJ 자동 완성이 편한 이유: 타입 시스템, 컨텍스트 분석
  • AWS가 편한 이유: 추상화된 인프라 관리
  • 원리를 알면 도구가 바뀌어도 적응이 빠르다

완전한 독립이 아닌 “백업 플랜”

  • IDE 없이 개발하는 건 비효율적이다
  • 하지만 필요하면 다른 도구로 전환 가능한 정도의 이해도는 유지한다
  • 장애 상황에서 최소한의 대응은 가능해야 한다

Chaos Engineering: 의도적 실험으로 복원력 키우기

Netflix의 Chaos Engineering은 서비스에 의도적으로 장애를 주입해 의존성을 드러내고 대응 능력을 테스트하는 방법이다. 이번 AWS 장애도 일종의 예상치 못한 Chaos Injection으로 볼 수 있다.

개발 도구 의존성에도 비슷한 접근을 적용할 수 있다. 예를 들어, 의도적으로 IDE 없이 코딩하거나 디버깅을 해보는 연습을 통해 복원력과 문제 해결 능력을 강화할 수 있다. 도구나 클라우드 의존성을 인지하고, 실험을 통해 대비하는 습관이 장기적으로 안정성과 사고력을 동시에 높인다.

결론: 의존성과 함께 살아가기

편리함과 위험은 항상 함께 존재한다. 중요한 것은 도구가 아니라 문제를 바라보는 사고와 원리 이해다.

클라우드든 개발 도구든, 의존성을 인지하고 본질 중심 사고와 실험적 학습을 통해 안정성과 성장을 동시에 확보할 수 있다. 기술은 수단일 뿐, 생존력과 문제 해결 능력은 우리의 사고에서 나온다.

This post is licensed under CC BY 4.0 by the author.