작성
·
46
·
수정됨
0
안녕하세요. 강의 흥미있게 듣고있습니다.
궁금한 점이 있는데, 스프링 클라우드에서 제공하는 api-gateway 나 config server, discovery 등
k8s 로 배포하게 되면 각각 대체할 수 있는 서비스 들이 존재하는데,
실제 실무에서 개발할때는 어떤식으로 진행하는지 궁금합니다.
스프링 클라우드로 개발한 후 k8s에 맞게 변경하나요? 아니면 처음부터 k8s 에 겨냥해서 개발을 진행하나요?
답변 2
0
안녕하세요, 이도원입니다.
답변이 늦어 죄송합니다.
실무에서의 개발 방식은 정해져 있다기 보다는 서비스나 개발의 성격에 따라 시스템 아키텍처를 다르게 구성하게 됩니다. 말씀하신 내용처럼 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에서 제공하는 몇 가지 기능을 자체적으로 대체할 수 있습니다. 예를 들어:
실제 실무에서는, 많은 경우 처음부터 K8s를 고려하여 개발을 진행하는 것이 일반적입니다. 해당 플랫폼의 고유한 기능을 활용하면 이점을 극대화할 수 있기 때문입니다. 그러나 이미 Spring Cloud로 개발된 애플리케이션을 K8s로 배포할 경우, 필요에 따라 조정하거나 서비스를 대체하는 과정이 필요합니다.
이와 관련하여 더 깊이 있는 내용을 알고 싶으시다면 아래 링크들을 추천드립니다:
이 링크들을 통해 쿠버네티스 환경에서 마이크로서비스 애플리케이션을 운영하는 다양한 방법론과 사례를 확인할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.