검색

한국어

로그인 Account

로그인 / 등록 Account

웹사이트

토픽

마이크로서비스(Microservices): 개념, 장점, 적용 사례, 강의

전통적인 애플리케이션 구축 방식에서는 모놀리식(Monolithic)에 중점을 두었으며 애플리케이션에서 구축 가능한 모든 부분이 하나의 애플리케이션에 포함되어 있었습니다. 이 방식의 단점은 애플리케이션이 커질수록 새로운 문제를 해결하고 새로운 기능을 추가하는 것이 어려워진다는 점이었습니다. 마이크로서비스 기반 애플리케이션 구축 방법은 이러한 문제를 해결하고 개발 및 대응 속도를 가속화할 수 있습니다.

마이크로서비스란?

마이크로서비스란 소프트웨어를 구축하기 위한 아키텍처이자 하나의 접근 방식으로, 애플리케이션을 상호 독립적인 최소 구성 요소로 분할합니다. 모든 요소를 하나의 애플리케이션에 구축하는 전통적인 모놀리식 접근 방식 대신 마이크로서비스에서는 모든 요소가 독립적이며 연동되어 동일한 태스크를 완수합니다. 이러한 각각의 구성 요소 또는 프로세스가 마이크로서비스입니다. 소프트웨어 개발에 대한 이러한 접근 방식은 세분화, 경량화되어 있으며 다수의 애플리케이션 간에 유사한 프로세스를 공유(엔터프라이즈 통합)하는 기능을 중시합니다. 이는 클라우드 네이티브 모델 구현을 위해 애플리케이션 개발을 최적화(클라우드 네이티브 애플리케이션)하는 데 필요한 주요 구성 요소입니다.


여기서 마이크로서비스 기반 인프라를 사용하려는 이유가 무엇인지를 파악해야 합니다. 개발자의 목표는 고품질 소프트웨어를 보다 신속하게 제공하는 것입니다. 마이크로서비스는 이 목표를 실현하기 위한 수단이 되며, 이때 고려해야 할 사항이 있습니다. 바로 애플리케이션을 마이크로서비스로 분할하는 것으로는 충분하지 않다는 사실입니다. 애플리케이션을 관리하고 오케스트레이션하며 여기서 생성되고 수정되는 데이터를 처리해야 합니다.

Red Hat OpenShift 4로 마이크로서비스 배포를 관리하는 이유는 무엇인가요?

모놀리식 애플리케이션을 세분화하면 고품질의 소프트웨어를 더욱 신속히 제공할 수 있으나, 마이크로서비스의 이점을 누리는 동시에 복잡성도 증가합니다. 퍼블릭, 프라이빗 및 온프레미스 인프라를 결합한 환경에서 컨테이너로 마이크로서비스가 배포되도록 관리해야 하며, 그러기 위해서는 엔터프라이즈 레디(enterprise-ready) 컨테이너 오케스트레이션 플랫폼이 필요합니다.

마이크로서비스로 무엇을 할 수 있나요?

마이크로서비스는 모놀리식 애플리케이션에 비해 더욱 손쉽게 구축, 테스트, 배포, 업데이트할 수 있습니다. Red Hat은 이런 방식을 통해 기업이 전통적인 소프트웨어 개발 과정에서 수년간 반복적으로 겪는 "죽음의 행군(death march)"에 얽매이지 않고 새로운 요구 사항에 보다 빠르게 대응할 수 있다고 생각합니다. 이제 개발 팀의 여러 팀원들이 민첩한 방식으로 동시에 제품에 액세스하여 고객에게 즉각적으로 가치를 제공할 수 있습니다.

마이크로서비스의 기본 개념과 사용상의 장단점에 대해 알아보고, 온디맨드 교육을 통해 마이크로서비스 기반 아키텍처 구축 방법에 대해 알아보세요.

Why microservices

Linux 컨테이너와 어떤 관계가 있나요?

Linux 컨테이너는 마이크로서비스 기반 애플리케이션에 이상적인 애플리케이션 배포 유닛 및 독립적인 실행 환경을 제공합니다. 컨테이너에 마이크로서비스를 구현하면 하드웨어의 이점을 손쉽게 활용할 수 있을 뿐 아니라 스토리지, 네트워킹, 보안과 같은 서비스를 간편하게 오케스트레이션할 수 있습니다.

이러한 이유로 CNCF(Cloud-Native Computing Foundation)는 마이크로서비스와 컨테이너가 클라우드 네이티브 애플리케이션 개발을 위한 기반이 된다고 말합니다. 이 모델은 신속한 개발을 지원하고 기존 애플리케이션을 보다 쉽게 변환하고 최적화할 수 있으며 마이크로서비스를 컨테이너에서 실행할 수 있습니다.

Containers

마이크로서비스가 애플리케이션 통합에 가져오는 변화는 무엇일까요?

마이크로서비스 아키텍처가 정상 애플리케이션처럼 작동하도록 하려면 메세징을 통해 다른 서비스에서 지속적으로 데이터를 요청해야 합니다. 애플리케이션에 서비스 메쉬(동영상 보기) 레이어를 구축하면 서비스 간 커뮤니케이션을 간소화할 수 있지만, 마이크로서비스 아키텍처는 레거시 애플리케이션 및 다른 데이터 소스와 통합해야 할 수도 있습니다.

아키텍처가 분산되어 있고 통합은 엔터프라이즈 서비스 버스(Enterprise Service Bus, ESB)와 같은 중앙화된 기술을 관리하는 중앙집중식 팀에 의존하는 경우 마이크로서비스의 비즈니스 목표는 무색해질 수 있습니다.

애자일 통합은 리소스를 연결하는 접근 방식으로, 통합 기술, 애자일 제공 기술 및 클라우드 네이티브 플랫폼을 결합하여 소프트웨어 제공 속도를 높이고 보안을 강화합니다.

애자일 인테그레이션이란 무엇일까요?

현재 새로운 클라우드 네이티브 애플리케이션을 구축하고 계신가요? 신규 시스템을 레거시 시스템과 어떻게 통합해야 하는지 고민하셨나요? 이에 대해 Red Hat은 개방형 응용 프로그래밍 인터페이스(API) 및 이벤트를 통해 전체 인프라를 통합할 수 있도록 연결 로직을 구분하는 애자일 인테그레이션 방식을 지원합니다. red.ht/why-agile-integration-ko에서 애자일 인테그레이션 접근 방식에 대해 자세히 알아보세요.

Red Hat의 마이크로서비스를 선택해야 하는 이유

Red Hat은 고객의 모놀리식 애플리케이션을 마이크로서비스로 세분화하는 것은 물론, 이러한 마이크로서비스의 관리와 오케스트레이션을 비롯해 마이크로서비스에서 생성 및 수정하는 데이터를 처리할 수 있도록 지원합니다. Red Hat은 마이크로서비스의 지속적인 개발과 배포를 지원할 뿐 아니라 마이크로서비스 통합 및 관리를 지원합니다. 이를 통해 엔드 투 엔드(End-to-End) 코드 배포를 지원하고 제공팀 간의 커뮤니케이션과 협업을 권장하는 마이크로서비스 솔루션을 구현할 수 있습니다.

마이크로서비스의 이점을 얻기 위해 기존 시스템을 전체적으로 정비할 필요는 없습니다. 오픈소스, 오픈 표준, 수년간의 경험을 바탕으로 Red Hat은 고객에게 적합한 최적의 솔루션을 찾아드립니다.

마이크로서비스 살펴보기

백서

마이크로서비스: 개선된 아키텍처 설계

리포트

마이크로서비스, 컨테이너, 런타임을 통한 유연성 확보

동영상

마이크로서비스와 서비스 지향 아키텍처 비교

블로그

마이크로서비스를 점진적으로 구현하는 단계

마이크로서비스를 시작하는 데 필요한 모든 요소

서비스

애플리케이션 개발 프로젝트를 가속화하세요. Red Hat 전문가는 고객 팀이 혁신적인 오픈소스 기술을 활용하고, 프로토타입을 구축하여, 어려운 문제를 해결할 수 있도록 지원합니다.

플랫폼

쿠버네티스를 통한 엔터프라이즈 오케스트레이션으로 지속적인 통합에 초점을 두어, 개발자 중심의 클라우드 기반 컨테이너 플랫폼에서 마이크로서비스를 실행하세요.

미들웨어

Red Hat Runtimes

클라우드 네이티브 애플리케이션을 개발하고 유지 관리하기 위한 일련의 제품, 툴 및 구성 요소로 애플리케이션 개발 및 제공을 가속화합니다. Red Hat Runtimes는 마이크로서비스와 같은 고도로 분산된 클라우드 아키텍처에 대해 경량화된 런타임과 프레임워크를 제공합니다.

미들웨어

Red Hat Integration

포괄적인 통합 및 메시징 기술을 통해 통합 개발을 간소화하여 하이브리드 인프라 전반의 애플리케이션과 데이터를 연결합니다. Red Hat 통합은 민첩성을 갖춘 분산형의 컨테이너화된 API 중심 솔루션입니다.

미들웨어

Red Hat Process Automation

비즈니스 의사 결정 및 프로세스를 지능적으로 자동화하도록 지원하는 일련의 제품을 통해 변화하는 비즈니스 요구 사항에 신속히 대응합니다. 비즈니스 정책과 절차를 실행하고, 비즈니스 운영을 자동화하며, 서로 다른 환경에서 비즈니스 결과를 측정합니다.

마이크로서비스 및 Red Hat 서비스에 대해 자세히 알아보세요.