모놀리식 앱을 쿠버네티스로 옮기는 여정의 첫 단계
소프트웨어 엔지니어링의 내 경력을 통해 동료에 게 배운 가장 귀중 한 질문 중 하나는”무엇$뭔가 당신에 게 의미 합니까?”. 그것은 특정 단어를 사용하여 자신의 의미를 평가하기 위해 다른 엔지니어를 강제로. 쿠버네티스로 이동한 첫 번째 모놀리식 애플리케이션들에 대한 후속 조치로,나는 모놀리식 애플리케이션이 무엇인지에 대해 몇 분 동안 이야기하고 싶었다. 또는 적어도,그것은 나에게 무엇을 의미하는지.
이것은 약간의 관심이 필요한 흥미로운 공간입니다. 쿠버네티스에서 상태 비저장 마이크로서비스를 운영하는 것은 비교적 쉽지만,대규모 상태 저장 애플리케이션을 운영하는 것은 아직 갈 길이 멀다. 모 놀리 식 응용 프로그램이 무엇인지 이해하는 것이 마이그레이션 프로세스를 쉽게 만드는 첫 번째 단계가 될 것입니다.
모 놀리 식 응용 프로그램을 정의하기 위해서는 먼저 우리가 걱정하는 응용 프로그램의 구성 요소를 이해해야합니다. 관심 있는 세 가지 구성 요소는 사용자 인터페이스,데이터 액세스 계층 및 데이터 저장소입니다.
사용자 인터페이스는 응용 프로그램의 진입점이며 사용자가 상호 작용할 프로그램의 지점이기도 합니다. 이것은 주요()기능,웹 사이트,웹 서비스 또는 기타 다양한 진입 점일 수 있습니다.
데이터 액세스 계층은 데이터 저장소를 래핑할 프로그램의 계층입니다. 일반적으로 데이터 액세스 계층은 데이터 저장소로 인증하고 데이터 저장소에 유지되기 전에 데이터를 삭제하는 등의 문제를 처리합니다.
데이터 저장소는 시스템의 가장 기본적인 부분이며 임의의 정보(데이터)를 저장하고 검색하는 역할을합니다. 이 구성 요소는 일반적으로 데이터베이스 일뿐입니다.
이 세 가지 구성 요소는 상태 저장 응용 프로그램이라는 매우 일반적인 응용 프로그램 유형을 구성합니다. 즉,응용 프로그램은 시간이 지남에 따라 데이터를 저장하고 조작합니다. 따라서 우리는 응용 프로그램이 상태를 가지고 있다고. 더 중요한 것은 응용 프로그램의 상태가 시간이 지남에 따라 변경 될 수 있다는 것입니다.
모 놀리 식 응용 프로그램의 경우 일반적으로 응용 프로그램의 여러 계층이 서로 단단히 결합 된 것을 관찰합니다. 아래 예에서 우리는 사용자 인터페이스와 데이터 액세스 계층이 함께 그룹화되어 있음을 볼 수 있습니다. 이것은 일반적으로 큰 코드 저장소를 통해 수행되며,이 두 계층은 실행하기 위해 다른 계층에 따라 달라질 수 있습니다. 또한 사용자 인터페이스 및 데이터 액세스 계층은 일반적으로 런타임에 동일한 프로세스에 번들로 제공됩니다. 즉,시스템 리소스(메모리 및 컴퓨팅 사이클)를 사용하여 시스템의 다른 부분과 상호 작용하여 동일한 시스템에서 통신합니다.
반대로 마이크로 서비스 기반 응용 프로그램은 쉽게 전환 할 수있는 작은 모듈 식 구성 요소로 구성됩니다. 이 연산자에 대 한 합성성의 개념을 제공 하 고 모놀리식 응용 프로그램 대신 마이크로 서비스를 사용 하는 기호입니다. 아래 예제에서는 유연한 모듈식 응용 프로그램을 보여 줍니다. 이 모델에서는 작은 구성 요소를 독립적으로 실행하고 네트워크를 사용하여 시스템을 함께 연결할 수 있습니다. 이 접근 방식은 훨씬 더 확장 가능합니다.
그래서 모 놀리 식 응용 프로그램은 무엇입니까? 사용자 인터페이스와 데이터 액세스 코드가 단일 플랫폼에서 단일 프로그램으로 결합되는 단일 계층 소프트웨어 응용 프로그램입니다. 또한 동일한 시스템에서 동일한 프로세스에서 여러 구성 요소를 실행하는 응용 프로그램입니다.
앞으로 우리는 모 놀리 식 애플리케이션을 쿠버네티스로 마이그레이션하는 뉘앙스를 이해하려고 노력하며,이것이 우리의 여정에서 중요한 첫 걸음이되기를 바랍니다. 이 과정은 상대적으로 문서화되지 않은,우리는 배운 교훈을 공유 할 계획,그래서 모두가 혜택을 누릴 수 있습니다.