반응형

SW/마이크로서비스 44

마이크로서비스 : 특징 두번째 이야기

분권 데이터 관리 모노리스의 시스템을 살펴보면 단일 통합 데이터베이스를 사용하고 있습니다. 이러한 단일 데이터베이스를 유지하는 방식은 벤더의 라이센서 모델과 데이터베이스의 기능 확장에 그 뿌리를 두고 있습니다. 마이크로서비스는 Polyglot Persistence 접근 방법을 선택하며, 서비스별로 데이터베이스를 갖도록 설계를 합니다. 즉, 이 말은 각각의 저장소가 분산되어 있어야 하며, 다른 서비스의 저장소를 직접 호출할 수가 없고 API를 통해서만 접근해야 함을 의미합니다. 그런데 이런 케이스에는 반드시 등장하는 문제가 있습니다. 데이터 일관성 문제입니다. 주문 서비스와 배송 서비스가 있다고 생각을 해겠습니다. 상품이 1건 주문되면 배송도 1건 발생해야 합니다. 보통 이러한 처리는 동시적인 트랜잭션으로..

마이크로서비스 : 특징 첫번쨰 이야기

Biz 역량 기반팀 멜빈 콘웨이의 콘웨이 법칙이라는 것이 있습니다. 이는 시스템 개발 시 항상 시스템의 모양이 팀의 구조를 반영한다는 것을 말합니다. 하나의 어플리케이션을 만들기 위해서는 UI팀, 서버개발팀, DB팀과 같은 기능적으로 같은 기술을 가진 팀이 관여하게 됩니다. 따라서 시스템도 같은 모양이 되고, 이런 방식의 팀 구조에서는 아무래도 팀이 다르기 때문에 의사소통의 시간이 오래 걸리게 됩니다. 마이크로서비스를 만드는 팀은 Biz 역량 기반 팀입니다. 이는 역할 또는 기술별로 팀이 별도로 존재하는 것이 아니라 업무 중심으로 보여 기술이 다양한 사람들이 같은 팀을 이루어 서비스를 만드는 것을 의미합니다. 이러한 Biz 역량 기반 팀은 다양한 역할을 가진 기획자, 디자이너, Frontend 개발자, ..

마이크로서비스 : SOA, 모노리스와 차이점, 정의, 장점

마이크로서비스 아키텍처 우선 마이크로서비스 아키텍처는 하나의 어플리케이션을 여러 개의 서비스 집합으로 구성하는 것을 말합니다. 어디서 많이 보았던 개념인 서비스 지향 아키텍처 SOA가 있습니다. 1990년대 후반부터 발전한 객체 지향 분석 설계, 컴포넌트 기반 개발, Service Oriented Architecture, 즉 SOA의 연장선에 있습니다. SOA와 마이크로서비스 아키텍처의 공통점은 둘 다 소프트웨어 설계 시 서비스 중심을 설계를 지향하는 것입니다. 마이크로서비스와 SOA 서비스 오너십을 보면 마이크로서비스는 하나의 독립된 팀에서 개발하고 관리합니다. 반면 SOA 서비스는 중앙에 관련된 서비스를 공유하기 위한 공유 미들웨어 중심으로 개발하기 때문에 여러 팀, 즉 기획팀, 공통기능개발팀, 개발..

마이크로서비스 : 개념, 특성, 배경, 역사

아마존닷컴과 같은 경우는 이미 일반화되었던 쇼핑몰 사업을 가지고 성공을 만들어냈고, 넷플릭스는 비디오 대여 사업으로 시작한 회사입니다. 또한 이들 회사들이 주목할 만한 점은 이들이 끊임없는 비즈니스의 변화를 통해 새로운 가치들을 만들어내고 있다는 것입니다. 11.6초는 몇 년 전에 아마존닷컴이 유명한 IT 컨퍼런스를 통해 발표한 수치입니다. 아마존닷컴이 어플리케이션을 배포하는 주기입니다. 비즈니스상의 문제점이나 개선 사항이 있을 경우에도 이를 수정해서 배포해야 합니다. 즉 그렇기 때문에 이 의미는 아마존 닷컴은 11.6초마다 새로운 서비스와 상품을 배포하고, 또한 서비스의 반응을 보아 개선이 필요할 때나 버그가 발생했을 때 이를 즉시 개선하고 있다는 것입니다. 최근에 비즈니스 흐름은 굉장히 빨리 변하고 ..

반응형