안녕하세요. 저는 Azure Cloud Solution Architect의 Akiyama입니다.
이 글에서는 AKS를 도입한 지 1년 후 어떻게 되었는지, 그리고 무엇이 달라졌는지에 대해 다루겠습니다.
1년 전에 제가 쓴 Azure Kubenetes Service(AKS) 마이그레이션에 관한 기사가 있습니다:
AKS 클러스터 버전 업데이트 관리
AKS는 최신 버전부터 두 세대 전까지의 마이너 버전을 지원하므로, 4-5개월마다 출시되는 마이너 버전을 따라잡아야 합니다. 참고: AKS Kubernetes 릴리스 일정
마모루 비즈는 인플레이스 업그레이드(in-place upgrades)라는 기법을 사용하여 AKS 클러스터를 업데이트합니다. 이 방법은 시스템이 사용 중인 클러스터 버전을 업그레이드한 후, 노드를 순서대로 업그레이드하는 방법입니다. 참고: Azure Kubernetes Service(AKS) 클러스터 업그레이드
또한 Blue/Green 배포라는 다른 방법도 고려했으나 사용하지는 않았습니다. 아래 그림에서 볼 수 있듯이, 현재 클러스터 외에 새 버전의 클러스터를 준비하고 Front Door 또는 Traffic Manager 간 전환이 가능합니다.

현장 업그레이드의 이점은 다음과 같습니다:
- 현장 배치(Blue/Green로 전환하는 것과 비교) k8s 현장 설정만 이해한다면 Azure 인프라 구성을 이해할 필요가 없습니다(대부분의 경우)
- 서비스가 사용하는 외부 API에 접근할 수 있는 IP 주소를 등록해야 합니다. 아웃바운드 IP 주소가 변경되면 주의가 필요합니다.
현장 업그레이드의 단점은 다음과 같습니다:
- 파란색/녹색은 한 번에 버전을 변경할 수 있지만, 현장 모드는 0.1 업그레이드가 필요합니다.
- 블루/그린에서는 원래 환경으로 돌아가 다시 전환할 수 있지만, 현장에서는 불가능합니다(현장에서는 개발, 검증, 프로덕션 세 환경에서 사전 검증을 통해 이 점을 보장합니다)
이러한 장단점을 고려하여, 현재 현장 업그레이드를 통해 이를 업데이트하고 있습니다.
개발팀과 인프라팀 간 역할 분담
역할 분담은 1년에 걸쳐 점차 변화했습니다. 1년 전 AKS를 이전했을 때, 인프라 멤버들이 Azure와 물론 k8s의 매니페스트 관리를 주도했고, 개발자들은 주로 애플리케이션 코드 수정을 담당했습니다. 도표는 다음과 같습니다.

K8s가 개발자들 사이에서 점점 더 뒤처지면서, 개발자들은 이제 기능 요청에 대해 직접 명단을 작성합니다. 클러스터를 안정적으로 운영하기 위한 조치와 개발자의 Pull Reqeuest 리뷰 등 인프라 구성원에 대한 부담이 크게 줄어들었습니다. 수치는 다음과 같습니다.

미래 전망
Azure Container Apps는 얼마 전 Microsoft Build에서 GA로 사용되었습니다. 참고: Azure Container Apps | Microsoft Azure
AKS 클러스터 관리는 k8s를 깊이 이해하고 활용하는 데 좋지만, 상대적으로 노동력이 많이 드는 작업입니다. 마이크로서비스를 포괄적으로 관리하고 관리 비용을 줄일 수 있는 솔루션으로 Azure Container Apps 도입을 검토 중입니다.
결론
마모루 비즈는 꾸준히 사용자 기반을 늘리고 있으며, 새로운 기능을 제공하기 위해 안정적인 인프라와 확장성을 유지해야 합니다. 최근에는 마모루 비즈뿐만 아니라 자체 서비스 개발도 점차 증가하고 있습니다.
따라서 우리는 인프라 구성원들이 각자 개별적으로 운영하는 시스템에서 전체 서비스를 지속적으로 지원하는 인프라 팀으로 일하기 시작했습니다. 구성원들은 여전히 다른 업무와 병행하고 있지만, 조직은 점차 변화하고 있습니다.
Colorkrew에서는 자신의 서비스 개발과 계약 사업 모두를 경험할 수 있습니다. 저희 회사에 관심이 있으시면 채용 페이지에서 입력해 주세요.
컨테이너 구성 시스템 도입에 관심이 있으시면 아래에서 저희에게 연락해 주세요. 서버리스/컨테이너 구현 지원 |