///
Search
🌅

01.(매우간단)쿠버네티스 소개

쿠버네티스를 다루는 전문직이나 비전문직의 고용 비율이 증가함
컨테이너 오케스트라에서 쿠버네티스 사용 비율이 급증
1711 개 회사는 구글, 슬랙, Shopify를 포함한 기술 스택에서 Kubernetes를 사용가상화 점유율 9.1% 이상
모놀리식(Monolithic architecture) 아키텍처
전통적인 아키텍처, 기존에 사용하던 서비스 방법
서비스가 하나의 애플리케이션으로 돌아가는 구조
기존의 개발 방식을 사용해 개발하여 간단히 배포
하나의 서비스 또는 어플리케이션이 하나의 거대한 아키텍처
다양한 기능을 동작하는 서비스를 서버에서 실행하여 서비스

모놀리식 단점

기존의 애플리케이션을 그대로 복제하여 로드밸런싱
불필요한 서비스까지 모두 공유 및 복제
종속적인 라이브러리의 충돌
각각의 기능들은 서로 다른 기능을 제공하여 버전의 종속성을 필요한 경우가 존재
각 기능의 따른 라이브러리를 매번 업데이트마다 관리하기 매우 어려움
조금만 수정해도 전체 빌드 및 배포 필요
소스코드 전체가 하나로써 동작하기 작은 수정만 있더라도 전체를 빌드하여 다시 배포해야 함
프로그램의 크기가 어느정도 커지면 한 번만 컴파일해서 전체 테스트를 돌려도 30분 내지 수 시간 소모
하루에 버그가 여러 개 순차적으로 발견되면? 난리난다.

컨테이너를 격리하는 기술

리눅스 네임 스페이스: 각 프로세스가 파일 시스템 마운트, 네트워크, 유저(uid), 호스트 네임(uts) 등 에 대해 시스템에 독립 뷰를 제공
리눅스 컨트롤 그룹: 프로세스로 소비할 수 있는 리소스 양(CPU, 메모리, I/O, 네트워크 대역대,device 노드 등)을 제한

데브옵스(DevOps) 모델

데브옵스는 소프트웨어 개발과 IT 운영을 결합한 합성어
기존의 분리된 소프트웨어 개발팀과 IT 운영팀의 협업으로 전체 라이프사이클을 함께 관리할 수 있자는 일종의 철학 또는 운동
소프트웨어 개발팀과 IT 팀이 더 빠르고 안정적으로 소프트웨어를 빌드, 릴리즈할 수 있도록 두 팀 간의 프세스를 자동화하는 일련의 과정

데브옵스의 이점

➢속도: 서로의 업무에 대해 더 잘 이해하여 좀더 신속하게 사용자에게 필요한 업데이트를 수행 가능. 개발자는
소비자가 무엇을 원하는지, 운영자는 애플리케이션을 제공하는데 해결할 문제를 인지할 수 있음
➢신속한 제공: 컨테이너와 마이크로서비스를 사용하면 더 자주 빠르게 릴리즈하는 것이 가능. 더 빠르게 좋은 기능을 제공할 수 있으며 개발자가 운영에 필요한 인프라와 하드웨어에 대해 잘 몰라도 릴리즈가 가능.
➢ 개발과 릴리즈가 편해지므로 안정성이 확보, 협업 강화