강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

parksj914님의 프로필 이미지
parksj914

작성한 질문수

마이크로서비스 디자인 패턴 완벽 가이드

[실습 7] Service Discovery + APIGateway 연동

k8s 를 고려한 개발은 어떻게 진행하나요?

작성

·

46

·

수정됨

0

 

 안녕하세요. 강의 흥미있게 듣고있습니다.

궁금한 점이 있는데, 스프링 클라우드에서 제공하는 api-gateway 나 config server, discovery 등
k8s 로 배포하게 되면 각각 대체할 수 있는 서비스 들이 존재하는데,

실제 실무에서 개발할때는 어떤식으로 진행하는지 궁금합니다.

스프링 클라우드로 개발한 후 k8s에 맞게 변경하나요? 아니면 처음부터 k8s 에 겨냥해서 개발을 진행하나요?

 

 

답변 2

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

답변이 늦어 죄송합니다.

실무에서의 개발 방식은 정해져 있다기 보다는 서비스나 개발의 성격에 따라 시스템 아키텍처를 다르게 구성하게 됩니다. 말씀하신 내용처럼 Spring Cloud의 서비를 이용해서 애플리케이션을 구축할 수도 있지만, 운영에 있어 K8s를 사용하는 것이 필요하다면, 굳이 Spring Cloud의 기능과 혼용해서 사용할 필요는 없습니다.

실무에서도 DEV(개발) 환경과, PROD(운영) 환경이 구축된 상태라 하더라도, 개발자가 개발하게 되는 환경은 Local 환경에서의 개발이 우선이기 떄문에, Local 환경에서 개발하고 검증할 수 있는 내용을 먼저 진행하는 것이 우선이라고 생각됩니다.

Spring Cloud에서 K8s로의 전환이 아니라, 필요에 의해서 선택하는 서비스가 달라질 것이기 때문에, 2번의 작업을 하기보다는 개발 환경의 일치를 통해, 개발에서부터 테스트 - 운영에 이뤄지는 과정이 동일할 수 있도록 구성하는 것이 더 효율적이라고 생각됩니다.

https://developers.redhat.com/blog/2016/12/09/spring-cloud-for-microservices-compared-to-kubernetes

위 URL의 내용도 같이 참고해 보시기 바랍니다.

추가 질문사항 있으시면 다시 글 남겨주세요.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. parksj914님께서 Kubernetes(K8s) 환경에서의 개발 방식에 대해 궁금해 하셨군요.

Kubernetes 환경은 많은 경우 Spring Cloud에서 제공하는 몇 가지 기능을 자체적으로 대체할 수 있습니다. 예를 들어:

  • API Gateway: Kubernetes는 Ingress Controller로 외부 트래픽을 관리할 수 있습니다. Spring Cloud Gateway와 유사한 기능을 제공하지만 더 기본적입니다. 필요에 따라 Spring Cloud Gateway를 K8s에서 독립적으로 운영할 수도 있습니다.
  • Service Discovery: K8s는 클러스터 네트워크를 통해 기본적인 서비스 디스커버리 기능을 제공합니다. 이는 서비스 레지스트리 없이도 불가변성을 가능하게 만듭니다.
  • Config Server: K8s의 ConfigMap이나 Secret을 사용하여 애플리케이션 설정을 관리할 수 있습니다.

실제 실무에서는, 많은 경우 처음부터 K8s를 고려하여 개발을 진행하는 것이 일반적입니다. 해당 플랫폼의 고유한 기능을 활용하면 이점을 극대화할 수 있기 때문입니다. 그러나 이미 Spring Cloud로 개발된 애플리케이션을 K8s로 배포할 경우, 필요에 따라 조정하거나 서비스를 대체하는 과정이 필요합니다.

이와 관련하여 더 깊이 있는 내용을 알고 싶으시다면 아래 링크들을 추천드립니다:

이 링크들을 통해 쿠버네티스 환경에서 마이크로서비스 애플리케이션을 운영하는 다양한 방법론과 사례를 확인할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

parksj914님의 프로필 이미지
parksj914

작성한 질문수

질문하기