[GN#176] 지난 10년간 가장 큰 아키텍처 실수는 풀 마이크로서비스로 전환한 것
몇 년 전부터 인기를 끌었던 MSA(MicroService Architecture) 는 점점 복잡도가 심각해지는 모놀리틱(Monolithic) 아키텍처에 대한 대안으로, 작은 서비스 여러 개가 모여서 하나의 시스템을 제공하는 형태를 말합니다. 클라우드와 컨테이너 환경이 빠르게 발전하면서, MSA가 이런 구조에 적합하다고 하여 많은 조직이 이를 도입하려고 시도하였고요. 성공한 조직도 있지만, 기존 아키텍처와 결이 잘 맞지 않아서 고생한 조직도 많았습니다. GitHub의 CTO였던 Jason Warner는 "지난 10년간 가장 큰 아키텍처 실수는 풀 마이크로서비스로 전환한 것"이었다며 MSA가 인기를 끌었던 이유와 어떤 조직에는 맞고 어떤 조직에는 안 맞는지에 대해서 정리했습니다. 자기 생각에는 "Monolith > Apps > Services > Microservices" 라면서 5~50인 규모의 회사라면 가능하면 모노리스를 유지하고, 꼭 필요하다면 작은 서비스가 아닌 큰 앱들로 분해하라고 추천하고 있는데요. 댓글에도 다양한 이야기를 적어주신 걸 보면 많이들 관심을 가지고 계신 주제라고 생각됩니다.
ㅤ
Selenium은 웹에서 자동화 및 테스트 할 때 사실상 표준이었습니다. 시작하기 쉽고, 거의 모든 프로그래밍 언어를 지원하기 때문이기도 한데요. 프론트엔드 웹 개발환경이 Angular, React 같은 자바스크립트 프레임워크로 많이 바뀌면서 제대로 동작하려면 조금씩 신경 써줘야 하는 일들이 점점 많아졌습니다. "웹 자동화는 Selenium 대신 Playwright를 쓰자" 글에서는 Selenium과 비교해서 Playwright가 좋은 점들을 잘 정리하고 있습니다. 특히나 브라우저에서 취한 액션을 녹화해서 테스트를 자동 생성해 주는 기능은 테스트를 만드는 시간을 많이 줄여줄 수 있을 것 같습니다.
ㅤ
좋은 아이디어를 내기 위해서는 어떻게 해야 할까요? 스탠퍼드 내에 있는 d.School은 디자인을 가르치는 것이 아닌 생각을 디자인하는 방법을 가르치는 학교인데요. d.School의 교육 총괄인 Jeremy Utley는 "Keep `Em Coming: 첫 번째 아이디어가 최고가 아닌 이유" 라는 제목의 인터뷰에서 좋은 아이디어를 내는 비결은 최대한 아이디어를 많이 내는 것이라고 얘기를 합니다. 많이 내다보면 좋은 게 나올 수도 있으니 당연한 거 아닌가? 라고 생각할 수 있지만, 많은 경우에 나쁜 아이디어가 먼저 나오고, 좋은 아이디어가 따라 나오기 때문에 그렇다고 설명합니다. 우리가 생각해내는 Good/Bad/Ugly 아이디어들은 모두 혁신적인 아이디어를 위한 필수 입력(Input) 이라는 거죠. 이를 위해서 "일일 아이디어 할당량"을 정한 뒤에 올바른 답을 계속 찾는 노력을 해보라고 조언합니다. 기사엔 중요내용만 간단히 옮겼는데, 약 20분의 인터뷰로 전체 스크립트가 같이 올라와 있으니 한번 들어보시기 바랍니다.
ㅤ
✓ Show GN - 직접 만드신 오픈소스나, 재직중인 스타트업의 제품/서비스를 소개해주세요
✓ Ask GN - 다양한 질문을 올려주세요.
- terminal 혹은 shell 레벨에서 output coloring 해주는 툴이 있나요?
- 현재 가장 열정을 가진 것이 뭔가요? 댓글로 알려주세요 - 22개의 댓글
- 이달의 구인 - 멤버를 찾고 계신가요 ? (2022년 11월)
- 이달의 구직 - 같이 일할 팀을 찾습니다 (2022년 11월)
- 이번 주말에 뭐 하시나요?
✓ 사내 커뮤니케이션 도구에 GeekNews Bot을 추가해서 멤버들과 함께 새 글을 받아보세요
ㅤ→ Slack봇, 잔디봇, Teams봇, Discord봇, 구글 챗 봇
✓ 긱뉴스는 RSS로도 구독 가능합니다
✓ 주위분들께 긱뉴스 위클리 - https://news.hada.io/weekly 뉴스레터를 추천해 주세요.
매주 월요일 아침, 지난 일주일간의 GeekNews 중 엄선한 뉴스들을 이메일로 보내드립니다.
- 전 GitHub CTO, "지난 10년간 가장 큰 아키텍처 실수는 풀 마이크로서비스로 전환한 것"
- 웹 자동화는 Selenium 대신 Playwright를 쓰자
- Keep `Em Coming: 첫번째 아이디어가 최고가 아닌 이유
- React 렌더링 동작에 대한 (거의) 완벽한 가이드 [번역]
- Upbase - 올인원 업무 관리 플랫폼
- 오픈소스 비즈니스 모델들
- Rewind - 당신의 삶을 위한 검색엔진
- 내 말을 24x7시간 녹음해서 AI로 처리합니다. 이게 미래일까요?
- 네이버 검색에서 HTTP/3 도입
- Slashbase - DB 협업 개발용 웹 IDE 오픈소스
- 가정용 e-Ink 날씨 디스플레이 만들기
- 2035년 이후로 윤초를 더 이상 넣지 않기로 국제 도량형 총회에서 결의
- OpenBlocks - Retool의 오픈소스 대체제
- Design System Decision Record
- Map of the Internet - 인터넷 지도
- GitHub 명함 생성기
- GPT-4 에 대한 소문들
- Pixelfed - 사진 공유 플랫폼 오픈소스
- Crsql - SQLite에 Multi-Writer, CRDT 기능을 추가하는 확장
- Xcode 14가 의도치 않게 앱 크기를 늘리는 이유와 줄이는 방법
- Superhuman이 PMF를 찾는 엔진을 구축한 방법
- 2005년 노벨 물리학상 비하인드
- Spring Framework 6.0 GA 릴리즈
- 테크 뉴스 사이트 Protocol 서비스 종료
- 할아버지 창고에서 찾은 전설적인 1956년도 컴퓨터 LGP-30