Article Weekly, Issue 10
|Period
2024-03-03
~ 2024-03-09
What is Sustaining Engineering?
- 지속 엔지니어링이란 무엇인가요?
- 저자는 코딩을 직업으로 삼고 싶다고 생각해서 컴퓨터 공학을 공부했지만, 깊이 들어가 보면 아마 그냥 내부 작동 방식을 알고 싶었던 것 같음
- 올해 여름에 오라클의 자바 플랫폼 그룹에서 세 번째 해를 보내게 될 것
- JVM 지속 엔지니어링 팀에 합류할 때 그들은 코드를 작성하지 않고 코드를 유지할 것이라고 말함
- 저자는 “지루하지 않을까요?” 라고 물었음
- 지금까지 배운 것은 다음과 같음
- 전 세계가 JVM에 의존하고 있다는 것
- 전 세계에는 “60억 개 이상의 자바 가상 머신이 실행"되고 있으며, 예상하지 못한 곳에서도 실행되고 있음
- JVM이 해야 할 일을 하지 않으면 실제로 많은 고통이 발생
- 자동차 공장이 멈추고, 병원이 수술실을 예약할 수 없음
- 은행이 서비스를 중단하고, 사람들이 시간에 지불을 받지 못함
- 이러한 일들은 매우 드물게 발생하지만, 그럴 때마다 우리가 대응
- 지속 엔지니어링에서는 기본 문제를 찾아내는 동시에 고객이 문제를 해결하도록 도움
- 몇 년 전 OpenJDK는 “빠른 혁신을 선호하는 개발자"와 “안정성을 선호하는 기업"이 있다고 인정하여 시간 기반의 “팁 앤 테일” 출시 모델로 전환
- 팁은 매 6개월마다 나오는 최신 기능 출시이며, 테일은 LTS 출시
- 저자의 업무는 후자에 대해 관심을 가지는 것
- 안정성을 제공하는 것은 아무것도 안 하는 것과는 다르다는 것이 드러남
- 암호 알고리즘은 물론 운영 체제와 컴파일러도 변경됨
- 취약점과 버그가 정기적으로 발견됨
- 따라서 지속 엔지니어링은 이러한 변화에 대응하여 자바가 가치 있는 안정성을 제공하는 것을 의미
- 이상적으로는 문제가 발생하기도 전에 문제를 해결하고, 우리가 추적을 해야 할 필요가 없습니다.
- 저자에게 지루한 날은 아직 없었음
Leadership Is A Hell Of A Drug
- 이 글은 기업 내에서의 리더십에 대한 비판적인 시각을 담고 있음
- 글쓴이는 회사에서 강제로 참석해야 하는 회의에 대한 불만과, 리더십팀의 자만과 비현실적인 기대를 비판
- 이 회의에 대한 일련의 비판을 통해, 리더십이 자신들의 영역에 대한 명확한 이해와 현실적인 전략보다는 개인적인 영향력의 증진에 더 관심이 있는 경우가 많다고 지적
- 또한, 리더십의 실수로 인해 직원들의 시간과 에너지가 낭비되고 있음을 지적하며, 현재의 업무환경과 필요성에 맞춘 리더십의 변화가 필요하다고 주장
- 글의 마지막 부분에서는 리더십이 단순히 개인적인 영향력 증진을 넘어서 실질적인 변화와 성장을 이끌어내는 역할을 해야 한다는 점을 강조
Uber Builds Scalable Chat Using Microservices with GraphQL Subscriptions and Kafka
- 웹 페이지의 핵심 내용은 Uber가 GraphQL Subscriptions와 Kafka를 사용하여 확장 가능한 채팅 시스템을 구축
- 이전에 사용하던 WAMP 프로토콜을 대체하여 신규 아키텍처를 도입한 것으로, 이는 신뢰성, 확장성, 관측성, 디버그성 등의 문제를 해결하고 기존 솔루션을 유지하는 데 어려움을 겪고 있던 기술적 부채를 해결하기 위해 이루어짐
- 또한, Uber는 라이더, 운전자, 이터, 큐리어, 상인 등 다양한 고객을 대상으로 하는 대규모 고객 베이스를 가지고 있으며, 라이브(전화, 채팅) 및 비 라이브(InApp 메시징) 지원 채널을 제공
- 라이브 채팅 채널은 고객 문의를 효과적으로 처리하고 비용 효율적으로 다루기 위한 중요한 역할을 하며, 이를 위해 신뢰성, 내결함성 및 비용 효율성을 높이기 위한 몇 가지 개선 사항이 구현됨