IT 직군의 종류
- 각 단계마다 엔지니어가 존재함
- 스토리지 엔지니어는 해당 엔지니어만 자체적으로 있는 회사가 희소해서 솔루션 업체가 있기도 함
- 서버 엔지니어는 가상화와 OS까지 담당함
- 미들웨어는 서버의 트래픽을 어플리케이션으로 옮기거나 미들웨어의 로그를 OS로 보내는 등 어플리케이션이 OS 위에서 잘 돌아가게 하는 것을 의미
- 해당 부분도 WAS 엔지니어를 보유한 솔루션 업체가 존재
- 옛날에는 개발자 -> PL -> PM 식으로 늘려나갔지만 지금은 해외의 직급 체계를 따라서 주니어 -> 미드레벨 -> 시니어 -> 리더 -> CTO 순으로 연결 됨
- 요즘은 작업 범위를 늘려서 하는 직업이 많아짐
- 클라우드와 개발을 합친 DevOps 등
- 늘리면서 커리어를 확장해나가는 것이 좋음
여러 서비스 모델
대표적인 서비스 모델
Kaas
- 쿠버네티스를 사용하는 서비스 모델을 Kaas라고 함
쿠버네티스에서 가장 어려운 리소스
- 기본적으로 사내 내트워크로 서버들은 연결이 됨
- 저장을 위한 스토리지들이 존재함
- App을 띄우는 Container를 뜻하는 것이 존재하며 트래픽을 연결해주는 service와 데이터를 저장하는 PV도 존재함
- Service는 네트워크 관리 담당
- ClusterIP는 컨테이너의 네트워크를 의미하고
- Nodeport는 가상환경의 네트워크를 의미
- LoadBalancer는 바깥쪽과의 네트워크를 의미
- ExternalName은 도메인 연결인데 CoreDNS와 연결하여 도메인을 부여하고 외부와 연결하고 싶으면 사내DNS 서버를 업스트림 서버로 설정하면 됨. (만약 인터넷과 연결하고 싶다면 게이트웨이와 연결하면 됨 (공인 DNS))
- PV는 데이터 담당
- 데이터 마다 적당한 스토리지가 다름
- ReadWriteMany는 파일 스토리지
- ReaWriteOnce는 블록 스토리지
- 가상 환경에는 네트워크 세팅이 존재함
- Nat Network는 호스트는 안됨 (포트포워딩을 하면 가능하긴 함)
- 귀찮고 힘들기에 Host-Only Network와 NAT을 사용
가상화 기술 비교
- 하이퍼바이저 가상화는 중간 HostOS가 없기 때문에 호스트 가상화에 비해 속도가 더 빠름
- 하지만 관리가 더 힘듦
- 망 분리를 위해 주로 사용하며 데이터센터에서 많이 사용됨
- VDI는 데이터 센터를 외부에서 접근하게 하기 위해 사용 (관리 목적)
- 컨테이너 가상화는 HostOS 위에 Container runtime을 올리고 그 위에 컨테이너와 함께 어플리케이션을 올리는 것
- HosOS와 커널을 공유하기 때문에 필요한 패키지만 사용이 가능
컨테이너 기술의 장점
- 일관성 있는 환경 세팅이 가능해짐
- 기존에는 환경마다 세팅을 다시 해주고 만약 변경이 필요하다면 다 변경해야했지만 컨테이너를 사용하면 일관성 있게 사용 가능
- 특히 클라우드 환경이 개발 환경과 다를 경우 클라우드 환경에 맞추어주어야 하기 때문에 힘듦
쿠버네티스의 단점
- 쿠버네티스를 사용할 때도 VM 세팅이 필요함
- 쿠버네티스 환경 구축이 더 어려울 수도 있고 쿠버네티스 자체의 난이도도 존재함
- 비용 절감이라는 장점 또한 구성하기 나름임
- 쿠버네티스에는 오픈소스가 많기 때문에 오픈 소스에 대한 관리 인원 증가
- 하지만 MSA에 유리하며 오픈 소스도 빠르게 표준화 되고 있기 때문에 점점 좋아지고 있음
출처: https://inf.run/Ln688