바카라 커뮤니티

바카라 커뮤니티Conway 's Engineering Management

By: Tal Mor, CTO

1967 년 컴퓨터 프로그래머 Melvin Conway가 만들어 낸 원칙 인 Conway 's Law는“라고 말합니다.설계 시스템은 이들 조직의 커뮤니케이션 구조의 사본 인 설계를 생산하도록 제한되는 조직.” 간단히 말해서, 회사 내에서 팀이 구성되는 방식은 그들이 구축하는 소프트웨어의 아키텍처에 직접적인 영향을 미칩니다.

바카라 커뮤니티에서 우리는이 법을 긍정적이고 도전적인 방식으로 여러 번 행동으로 목격했습니다. 다음은 Conway의 법칙이 의도적으로 또는 다른 방식으로 적용된 몇 가지 실제 사례와 기술 아키텍처 및 팀 구조를 형성 한 방법입니다.

The Monolith

몇 년 전, 바카라 커뮤니티은 인상적이고 기능이 풍부한 플랫폼을 구축 한 성공적인 AD 테크 회사를 인수했습니다. 그러나 그것은 하나의 중요한 건축 적 과제와 함께 제공되었습니다. 그것은 단일체로 지어졌습니다.

우리는이 모놀리스를 분해하고 마이크로 서비스가있는 분산 아키텍처로 전환해야한다는 것이 분명했습니다. 분산 서비스는 시스템의 다양한 구성 요소 (예 : 런타임, 프론트 엔드, 데이터)가 독립적으로 작동하여 시스템을보다 쉽게 ​​확장, 유지 관리 및 배포 할 수 있도록합니다..

이러한 전환을하기 위해, 우리는 원래 모 놀리 식 개발 팀을 여러 소규모 그룹으로 재구성했으며, 각각은 런타임, 프론트 엔드 및 데이터와 같은 특정 도메인에 중점을 둡니다. 이 새로운 팀은 이제 더 자율적으로 각 지역의 소유권을 갖도록 장려하여 독립적 인 서비스의 자연스러운 진화로 이어졌습니다.

분산 팀은 오정렬로 이어집니다

새로 분산 된 팀 구조의 모든 결과가 순전히 긍정적 인 것은 아닙니다. 팀이 더욱 독립적이되면서 우리는 생산 문제의 증가를 발견했습니다.

팀이 사일로에서 운영되고 있었기 때문에 그들이 만든 시스템은 그 단절을 반영했습니다. 아키텍처는 서비스가 항상 잘 전달되거나 공유 관행을 고수하는 것은 아니며 단편화되었습니다.

모노리스의 귀환을 두려워하면서, 우리는보다 체계적인 커뮤니케이션 프레임 워크를 도입하여 팀을 독립적으로 남겨 두었습니다. 예를 들어, 우리는 엄격한 슬랙 구조를 구현하여 모든 팀이 교차 팀 협업, 변경 및 피드백을위한 전용 채널을 갖도록했습니다.

커뮤니케이션 구조를 개선함으로써 생산 문제를 줄이고 아키텍처를 비즈니스의 요구와 더 잘 맞출 수있었습니다..

자유 대 조정

프론트 엔드 개발 팀에서 Conway의 법칙의 또 다른 예를 볼 수 있습니다. 바카라 커뮤니티은 각각 고유 한 프론트 엔드 애플리케이션을 갖춘 여러 독립적 인 제품 라인을 운영합니다.

팀이 소유권 및 혁신 증가와 같은 자체 도구를 선택할 수 있도록하는 것이 분명한 이점이 있지만 일관되지 않은 관행의 도전을 제기했습니다. 각 팀의 도구에 대한 다른 선택은 회사 전체 수준에서 이러한 응용 프로그램을 유지, 모니터링 및 지원하기가 더 어려워졌습니다.

이를 해결하기 위해, 우리는 단일 부서의 팀을 재구성하면서 각 팀의 제품 라인의 독립성을 유지했습니다. 이 공유 관리 계층은 핵심 도구 및 프로토콜 (로깅, 테스트, 모니터링 등)에 대한 정렬을 보장하면서 자율성의 이점을 보존했습니다.

결론

Conway의 법칙은 바카라 커뮤니티의 지침 원칙이었으며 때로는 의도적으로 그리고 다른 시간은 경험을 통해 드러났습니다. 모 놀리 식을 무너 뜨리거나 분산 팀의 과제를 다루거나 자율성 균형을 조정하여 조직 구조와 커뮤니케이션이 우리가 선택한 기술만큼 시스템 설계에 중요하다는 것을 알게되었습니다.

다음 읽기