개발서버를 스스로 셋업해보자.
최종적인 목표 : 도커 컨테이너 환경에 대한 이해,해당 환경에 대한 서버 셋업을 할수 있다.
학습목표
- VM서버 생성(네이버 클라우드 크레딧을 이용)
- jar배포 후 외부의 요청을 받을수 있는 상태까지 만들기
1차프로젝트가 마무리되어간다. 실질적인 개발은 끝이났고, 인프라적인 부분과 문서관련? 된 부분이 남은것 같다.
이제 2차프로젝트로 넘어가기전, 2차프로젝트에서는 1차와 달리, 배포를 바로바로 할수있는 상태에서 시작을 할수있도록 인프라환경을 구축중에 있다. 다만 VM서버 셋업에 대한 경험이 전무하기 때문에, 곧바로 도커 컨테이너 환경에 대한 서버 셋업을 하기보다, 기초적인 VM서버를 생성하고, 간단한 jar를 배포, 외부호출에 응답할수 있는 상태가 될수있게 해보자.
VM서버란?
VirtualMachine서버를 뜻한다. 여기서 말하는 가상머신이란 무엇일까?? 여러가지 의미가 있겠지만, 말그래도 실제 머신이 아니라 가상의머신을 뜻한다. 그럼 머신은 뭘까? HW 기계를 말한다. CPU,메인보드 등... 이런 HW에 직접적으로 설치되어 동작하는 OS와 다르게, 가상머신을 사용해 해당 가상머신위에서 동작하는 OS들을 설치할수있다. 즉 윈도우컴퓨터에서 리눅스OS를 가상머신을 이용해서 설치, 이용할수 있는것이다. JVM도 같은 원리로, Java가 동작하는 가상머신을 이용, Java는 이 JVM위에서만 동작이 가능한것과 같다.
즉 VM서버를 셋업 한다는것은, 이런 가상머신이 설치된 서버 환경을 설정하고, 구동한다는 말과 같다. (맞나?...)
ㅇ 가상화
하나의 하드웨어를 여러 대 처럼 동작시키거나 반대로 여러 대의 장치를 묶어 하나의 장치 인 것처럼 사용자에게 공유자원으로 제공하는 기술입니다.
ㅇ 서버 가상화위 가상화를 참고하여 말씀드리자면, 한 대의 물리적 서버를 여러 대의 가상 서버로 나눠 쓰는 것을 말합니다.
가상 서버는 다른 말로 Virtual Machine(VM)이라고도 부릅니다.
위의 참고사항으로 왜 그냥 물리적인 서버가 아니라 VM서버를 사용해야하는지 알수있다. 하나의 물리적인 HW의 리소스를 여러개의 머신이(가상화된) 나눠쓰며 효율적으로 서버의 리소스를 사용하는것. 물론 나는 샘플용으로 jar하나만 배포할태니 큰의미는 없을것 같다.
References
https://tech.ktcloud.com/62
'프로그래밍 > 인프라' 카테고리의 다른 글
개발서버를 셋업해보자!-2 (0) | 2022.08.13 |
---|