

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Linux 컨테이너에서 마이크로서비스로 재설계
<a name="refactor-linux-micro"></a>

마이크로서비스 아키텍처는 단일 애플리케이션을 소규모 서비스 제품군으로 개발하는 접근 방식입니다. 각 서비스는 자체 프로세스로 실행되며 경량 메커니즘을 통해 다른 서비스와 통신합니다. 이 접근 방식은 모놀리식 애플리케이션을 더 작은 서비스로 나누며, 각 서비스는 단일 목적을 제공하고 컨테이너로 배포됩니다.

## 사용 사례
<a name="refactor-linux-micro-use-case"></a>

이 마이그레이션 전략은 다음과 같은 경우에 유용합니다.
+ 모놀리식 시스템을 마이크로서비스로 나누고 싶습니다.
+ 리팩터링에 사용할 수 있는 리소스와 시간이 있습니다.
+ 모든 .NET Framework 종속성을 확인할 수 있습니다.
+ 장기 실행 애플리케이션이 있습니다.

## 장점
<a name="refactor-linux-micro-advantages"></a>

이 마이그레이션 접근 방식은 온프레미스 .NET 애플리케이션과 비교할 때 다음과 같은 이점을 제공합니다.
+ 마이크로서비스 아키텍처에 새로운 기능을 더 쉽게 추가할 수 있으므로 더 빠른 혁신
+ 고가용성 및 안정성
+ 민첩성 향상 및 온디맨드 확장성
+ 독립 배포 및 최신 지속적 통합 및 지속적 배포(CI/CD) 파이프라인
+ 강력한 모듈 경계 및 기술적 다양성

## 단점
<a name="refactor-linux-micro-disadvantages"></a>
+ 리팩터링 작업 및 비용
+ 잠재적 운영 복잡성

## AWS 서비스
<a name="refactor-linux-micro-services"></a>

다음 AWS 서비스를 사용하여 마이크로서비스 기반 시스템을 개발할 수 있습니다.
+ [Amazon API Gateway](https://aws.amazon.com/api-gateway)
+ [Amazon Simple Notification Service (Amazon SNS)](https://aws.amazon.com/sns)
+ [Amazon Simple Queue Service(Amazon SQS)](https://aws.amazon.com/sqs)
+ [Amazon ECS](https://aws.amazon.com/ecs)
+ [Amazon EKS](https://aws.amazon.com/eks)
+ [AWS Lambda](https://aws.amazon.com/lambda)
+ [AWS Fargate](https://aws.amazon.com/fargate)
+ [CloudFormation](https://aws.amazon.com/cloudformation) 또는 [AWS Cloud Development Kit (AWS CDK)](https://aws.amazon.com/cdk)
+ [AWS Identity and Access Management](https://aws.amazon.com/iam)(IAM)
+ [Amazon Simple Storage Service(Amazon S3)](https://aws.amazon.com/s3)
+ [Amazon ECR](https://aws.amazon.com/ecr)

## 도구
<a name="refactor-linux-micro-tools"></a>

AWS Professional Services는 모놀리식 애플리케이션을 마이크로서비스로 리팩터링하는 데 도움이 되는 사용자 지정 도구 및 서비스를 제공합니다.

## 배포 결정
<a name="refactor-linux-micro-deploy"></a>

다섯 가지 배포 옵션 중에서 선택할 수 있습니다.
+ 메모리 및 스토리지 설정을 포함하여 컴퓨팅 환경의 구성을 완벽하게 제어하고 운영 체제 패치를 제어하려면 애플리케이션을 EC2 인스턴스에 Linux 컨테이너로 배포합니다.
+ 컨테이너를 Kubernetes에서 관리하고 서버리스 컨테이너로 실행하려면 Fargate를 사용하여 애플리케이션을 Amazon EKS에 Linux 컨테이너로 배포합니다.
+ 컨테이너를 Amazon ECS에서 관리하고 서버리스 컨테이너로 실행하려면 Fargate를 사용하여 애플리케이션을 Amazon ECS에 Linux 컨테이너로 배포합니다.
+ 컨테이너를 Kubernetes에서 관리하지만 컨테이너의 컴퓨팅 리소스를 직접 관리하려면 애플리케이션을 Amazon EKS에 Linux 컨테이너로 배포합니다.
+ Amazon ECS에서 컨테이너를 관리하려는 경우 컨테이너의 컴퓨팅 리소스를 직접 관리하려면 애플리케이션을 Amazon ECS에 Linux 컨테이너로 배포합니다.

 ![Refactoring .NET applications as microservices in Linux containers on AWS](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/modernization-net-applications/images/rearchitect-linux.png) 