기술 통찰력 / Microservices

마이크로서비스: 확장 가능한 소프트웨어를 신속하게 전달

마이크로서비스는 독립된 팀이 소프트웨어를 더 자주 전달하도록 돕지만 이런 일은 새로운 사고 방식과 업그레이드된 아키텍처 패턴을 요구합니다. 마이크로서비스 아키텍처를 적용해 더욱 빠르고 우수하게 실행하십시오.


마이크로서비스란?

마이크로서비스는 단일 용도의 서비스를 지속적으로 우선 제공하기 위해 독립된 팀이 사용하는 아키텍처 접근 방식을 의미합니다. 마이크로서비스 모델은 자주 전달되지 않으며 하나의 단위로서 규모가 정해져 단단하게 통합되는 기존의 모놀리식 소프트웨어의 대척점에 있습니다. 일부 조직과 애플리케이션에서는 모놀리식 접근 방식이 잘 맞기도 하지만 좀더 강화된 민첩성과 확장성이 필요한 기업들 간에는 다른 일부 애플리케이션, 마이크로서비스가 점점 더 인기를 얻고 있습니다.




마이크로서비스 아키텍처 고려 시
염두에 두십시오.

마이크로서비스가 모든 조직이나 애플리케이션에 적합한 것은 아니며, 적절히 구현되지 않으면 높은 비용 부담으로 이어질 수 있습니다. 마이크로서비스를 도입하기 전에 아래 사항들을 고려하십시오.

조직이 준비되어 있습니까?

마이크로서비스 전환은 조직의 전환뿐만 아니라 그에 상당한 기술적 전환이기도 합니다. 팀은 자동화 중심의 지속적인 전달 접근 방식을 받아들여 소프트웨어를 구축할 준비가 되어 있어야 합니다. 귀사는 기능형 사일로를 제거할 준비가 되어 있으며 서비스를 구축하고 운영할 자급자족형 팀이 있습니까? 귀사의 변경 관리 프로세스는 직원의 개입없는 배포 파이프라인을 견딜 수 있습니까?

개발자들이 열성적입니까?

모든 애플리케이션이 마이크로서비스 처리를 보장하지는 않습니다. “무조건 마이크로서비스” 분위기가 만연한 가운데 개발자들은 굳이 변경할 비즈니스 요인이 없는 기존 애플리케이션에 대해서도 상당한 시간을 코드 작성에 투자해야 할지도 모릅니다. 느리게 변화하는 애플리케이션이나 중대한 업무 기능을 수행하는 애플리케이션인 경우 모놀리식 상태를 유지하는 것이 나을 수도 있습니다. 마이크로서비스는 복잡성을 추가하는 대신 민첩성을 높여줍니다. 새로 계약을 맺기 전에 기존의 구성이 더 필요한 것은 아닌지 확인하십시오.


중요한 주제에 대한 최신 정보 유지

뉴스레터 등록

귀사의 서비스는 조화롭게 구성되어 있습니까?

마이크로서비스는 상호 간에 느슨하게 연결되어 있는데다 지속적으로 변경됩니다. 현행 서비스 URL이나 탄력적인 서비스 인스턴스 루트 트래픽을 어떻게 찾으십니까? 서비스는 어떻게 데이터를 교환합니까? 대부분의 경우 서비스 검색, 부하 분산, 메시징을 처리하기 위해 현재 구현되어 있는 기술은 마이크로서비스가 도입하는 역동성에는 참담할 정도로 부적합합니다.

복잡한 환경에 대한 2일차 관리는 어떻게 됩니까?

관리 대상 항목의 수가 늘어나면 운영 위험도 늘어납니다. 수백 또는 수천대의 서버에 그만큼의 마이크로서비스를 생성할 경우 새로운 접근 방식을 취하지 않는다면 틀림없이 관리할 때 난감할 것입니다. 기본 장비들의 패치나 업그레이드는 어떻게 됩니까? 종속성을 추적하고 위험 애플리케이션을 식별할 수 있습니까? 최신 애플리케이션 구성이 적용된 마이크로서비스 인스턴스들을 최신 상태로 유지하는 문제는 어떻게 됩니까? 마이크로서비스 플랫폼 빌드에 사용되는 구성 요소들과 이러한 구성 요소들과 서비스를 실행할 대상은 향후 수년 동안 조직의 민첩성에 크나큰 영향을 미칠 것입니다.