본문 바로가기

분류 전체보기

(65)
Unknown Artist 작자 미상(未詳): 여기서 미상은 불분명하다는 의미다. 작가를 알 수 없는 것이 여러 의미를 갖겠지만, 누가 만들었는 지 상관없이 작품이 의미가 있어야 한다는 의미를 말하고 싶다. 작자 미상은 작가가 누군지 모르기 때문에 작가의 의도를 물어볼 수 없는데, 소프트웨어를 만든 사람에게 물어볼 필요 없이 잘 작동하도록 설계하는 것이 중요하다고 생각해서 작자 미상이라는 특징을 언급하고 싶었다. 운영을 하다보면 만든 사람이 직접 해결해야 하는 문제들이 생긴다. 그래서 온콜(On-call)을 하게되는데 온콜이 의도와 다르게 변하는 것을 보았다. 먼저, 온콜과 런북(Runbook)을 활용하여 절차에 따라 긴급 장애에 대응하는 방식으로 발전하기보다, 서비스가 파편화되어있고 복잡하기 때문에 만든 사람만이 해결할 수 있다..
Cell-based Architecture 셀 기반 아키텍처(Cell-based Architecture)는 선박을 구성하는 격벽(Bulkhead) 컨셉으로부터 왔다. 격벽은 선박, 또는 항공기 내부에 세우는 수직 벽인데, 선박 손상 시 바닷물 침수 범위를 줄이고 선체에 추가적인 강성을 제공하는 목적을 갖고 있다. 비행기의 경우, 감압을 버텨내는 역할을 하며 비행 도중에 파손된다면 정상적인 운항은 불가능하게 된다. 같은 원리를 착안한 셀 기반 아키텍처는 장애가 더 전파되지 않도록 격리(Fault-isolation)하기 위해서, 서비스를 더 작은 단위로 나누고 세밀하게 관리하는 아키텍처다. 서비스 개발 초기에는 많은 기능을 하나의 서버에 담는 방법이 함수간 통신, 라이브러리 호출 등에서 많은 장점이 있다. 하지만 서비스의 규모가 커지고 조직이 커지면..
Bomb Merge 우리는 조직 내에서 의사소통 비용이 많은 비중을 차지 하는 지 이미 알고 있다. 그래서 문서 작성 및 공유, 데일리 스크럼 등의 다양한 방법을 통해 소통과 합의 문제를 해결하려고 노력해 왔다. 소프트웨어 개발 및 운영도 사람이 하는 일이다보니 같은 문제를 겪고있다. 어떤 기능을 개발하고 있는 지, 어떤 방식으로 동작하는 지, 진행상황이 어떤 지 파악하기 위해서 수 많은 회의를 하고 보고서를 작성한다. 규모가 더 커지면, 이러한 소통의 복잡도는 더 높아진다. 이러한 문제를 해결하기 위한 아주 직관적인 방법이 있는데, 감독관이 검토하고 승인하는 절차를 만들고 지키도록 강제하는 것이다. 소프트웨어 개발과 관리의 효율성과 품질을 높이기 위해서는 소통의 문제는 반드시 풀어야 한다. 그러나 모두가 힘들면서 속도도 ..
Static Stability 선박의 경우 용골(Keel)이 있는데, 회전(Rolling)에 의해 배가 전복되지 않고 바른 자세를 유지하도록 역할을 한다. 비행기도 마찬가지로 흔들림으로인해 안정적인 자세가 흐트러질 수 있다. 비행기나 배가 회전하면서 휘청일 때 안정적인 자세를 유지하도록 만들어주는 특성을 정적 안정성(Static Stability)라고 부르는데 정지, 가속 및 감속 중에도 똑바로 자세를 유지하는 능력을 말한다.AWS에서도 서비스들의 복원력(Resilience) 특성 중 가장 중요한 한 가지로 정적 안정성을 정의하고 있다. 이 용어의 의미는 시스템이 정적 상태로 작동하며, 의존성 대상이 실패하거나 사용할 수 없게 되는 동안에도 어떠한 변경을 하지 않더라도 정상적으로 계속 작동한다는 것을 의미한다. 정적 안정성을 구현하기..
Speaker at AWS re:Invent 2023 2022년에 이어서 2023년에도 AWS re:Invent에 발표자로 참석하게 되었다. 2022년에는 한국어 세션을 발표하기 위해서 참석하였고, 2023년에는 빌더스 세션(Builders' Session)을 진행하기 위해 라스베가스(Las Vegas)를 찾았다. 한국어 세션도 매우 많은 한국 고객 사례 후보 가운데 소수를 선택했기 때문에 매우 기뻤지만, 2023년의 Builder Session은 전세계 직원들을 대상으로한 공모에서 최종 선택되었기 때문에 훨씬 의미있고 감사했다. 발표가 확정된 다음에는 호텔 예약과 항공권 예약을 진행했다. 2년 연속 참석이다보니 이 부분은 수월하게 진행하였다. 항공편 경유지를 선택할 때도 여러 조언과 작년의 경험을 토대로 최적의 경로로 선택했다. 그 때 까지는 그랬다고 믿..
Serendipity 2012년 4월 초, 갑자기 부서장이 불렀다. 컨텐츠 전송 네트워크(CDN, Content Delivery Network)관련 워크샵이 있는데 다녀와 보라는 것이었다. 뜻밖의 일이라 놀랍고 얼떨떨했다. 새로운 것을 배울 수 있는 소중한 기회를 얻었다는 기쁨도 있었지만, 연차가 있는 높은 직급의 직원들이 주로 다녀오는 기술 세미나에 입사한 지 1년도 안된 대리가 참석하게 되었으니 어안이 벙벙했다. 어쨌든 하루의 외근과 외근을 통한 지식의 확장은 행운이었기 때문에 기쁘게 다녀왔다. 세미나 장소는 대학교의 대강당 처럼 생긴 곳이었다. 강의장에는 이미 많은 사람들이 앉아있었다. 앞 뒤로도 좌우로도 중간 정도 되는 위치에 자리를 잡았다. 커피로 정신을 깨우지 못한채로 첫 순서가 시작되었다. 외국인 강사가 나와서..
Innovation Costs 우리가 생각하는 혁신(Innovation)은 무엇인가를 새롭게 바꾸는 것이다. 가치를 실현하거나 재분배하는 신규 또는 변경된 실체라고 정의하기도 하며, 기존 보다 더 나은 상태가 되는 것을 내포한다. 이러한 혁신은 세상을 바꾸기도 하지만, 기업의 경쟁력을 높여주는 전략이 되기도 한다. 기업 입장에서는 경쟁자보다 한 발 앞서 우위를 점하여 기업의 지속성을 확고하게 만들어 주는 뛰어난 전략이다. 그러나 혁신은 쉽지 않다. 혁신에 대한 정의를 보더라도, 그리고 기업에서 기대하는 것을 보더라도 결코 쉽지 않다는 것을 알 수 있다. 먼저, 혁신은 새로운 접근이어야 한다. 기존 방식을 그대로 답습하는 것은 매우 안전한 선택이지만, 기존과 같은 방식으로는 같은 결과물을 얻을 수 밖에 없기 때문이다. 그리고, 기업의 ..
Defense of the Clones (클론의 방어) 숙연한 공기가 감도는 월요일 이었다. 지난 주말 발생한 대규모 서비스 장애 때문에 누구 하나 쉽게 말을 꺼내기 힘든 분위기였고 차분하고 조용하게 하루가 지나고 있었다. 많은 인기를 얻고 있었던 아이돌 그룹의 싱글 앨범을 단독 공개하는 행사가 있었는데, 앨범 공개 시작 전부터 계정 로그인 서비스부터 뮤직 스토어 서비스, 결제 서비스까지 순식간에 많은 요청이 몰려서 시스템이 대응하기 힘든 상태가 되었다. 결국 계정 정보를 관리하는 서비스가 응답을 제대로 주지 못하는 상황이 되자, 연결되어 있던 수 많은 서비스들도 연달아 기능이 멈추는 대규모 장애로 이어졌다. 전 세계에 있는 아이돌 팬들이 독점 공개 음원을 빠르게 구매하기 위해 발매 시간에 맞춰 다양한 기기로 접속 시도를 했기 때문이었다. 단기간 집중된 접속..