인프라 구축을 하면서 많이 배우는 것 같아서 좋다😀 아직 내가 모르는 부분이 많기 때문에 늘 겸손함을 잃지 않고 뭐든 배우려는 자세를 잃지 않아야겠다는 다짐과 함께...! 도커와 쿠버네티스 차이 도커를 사용하여 인프라 구축을 하다보니, 쿠버네티스 생각이 났다. 들어본 것 같은데 쿠버네티스가 뭘까? 라는 궁금증에 찾아보니 컨테이너를 하나만 띄워서 사용하는 경우에는 도커를 사용하고, 여러개의 컨테이너를 생성해서 관리할 때는 쿠버네티스를 사용한다고 한다. 때문에, 도커는 한 개의 컨테이너를 관리하는데 최적화 되어있고 쿠버네티스는 여러개의 컨테이너를 서비스 단위로 관리하는데 최적화 되어있다고 한다. 아무래도 현 시점에서 쿠버네티스를 적용하기 보다는 도커를 사용해서 컨테이너 하나만을 운영해보고 결정해보아야겠다는 ..
VPN이란? VPN은 Virtual Private Network의 약자이고, 가상의 사설망이다. 회사 네트워크를 예로 들어 주고 있는데, 회사 보안상의 이유로 직원간의 네트워크를 분리하고 싶다면, 기존 인터넷 선 공사도 다시 해야하고 건물의 내부 선을 다 뜯어 고쳐야하고 전용선을 깔아주어야 하기 때문에 가상의 망 VPN을 사용한다. VPN은 네트워크A와 네트워크B가 실제로 같은 네트워크상에 있지만, 논리적으로 다른 네트워크인것 처럼 동작한다. VPC란? VPC는 Virtual Private Cloud의 약자이고, AWS의 네트워크 서비스이다. VPC에 필요한 사전 지식 Region AWS의 물리적 서버가 위치하고 있는 국가 단위의 위치 Availability Zone Region내의 물리적 서버의 지역 ..
포트 IP를 통해 접속한 컴퓨터에서 어떤 곳으로 연결할지 구분시키는 역할 IP만 가지고 접속하면 컴퓨터가 접속했다는 것은 인지하지만 어떤 응답을 주어야 하는지 모른다고 한다. 포트와 함께 접속하면, 클라이언트가 80번을 요청했으므로 HTTP반환?! 그래서 포트란, IP를 통해서 컴퓨터에 접속할 때, 어떤 것을 원하는지 요청하기 위해 사용하는 논리적인 약속이라고 한다. 포트는 0번부터 65535번까지 사용할 수 있다 0 - 1023번은 well-known port이고, 1024 - 49151번은 registered port이고, 49151 - 65535번은 dynamic port라고 한다. well-known port는 80번 http, 22번 ssh처럼 자주 사용되는 포트 registered port는 ..
IT 서비스를 운영하는 회사가 물리적 하드웨어 장비를 가지고 서비스를 직접 운영하는 방식 클라우드 컴퓨팅 기술이 나오기 전까지 일반적인 기업이 사용하던 인프라 구축 방식 온프레미스 방식은 현대에 정의되고 사용되는 클라우드 컴퓨팅 기술의 이전 방식이기 때문에 인프라를 구축하는 전통적인 방식으로 통용된다고 한다. 인프라를 구축하는 하나의 방식일 뿐, 일종의 레거시로 받아들이는 것은 잘못된 이해이다. 서버실 혹은 데이터 센터와 같이 특정 공간에 IT 인프라를 구축하여 소프트웨어를 사용하는 방식이다. 반대 의미인 클라우드 방식의 서비스는 오프 프레미스라고 한다. 단점 사용자 데이터를 직접 관리하기 때문에 보안에 장점이 있다고 생각할 수 있지만, 아닐 수도 있다. 예를 들어, 현금을 은행에 맡기는 것이 보안에 있..
NGINX 트래픽이 많은 웹 사이트의 확장성을 위해 개발된 경량의 고성능 웹서버라고 한다. 아파치 웹서버에서 트래픽이 감당이 어려운 문제를 해결하기 위해 등장했다고 한다. (C10K - 하나의 웹서버에 1만개 이상의 클라이언트 접속을 처리하지 못하는 문제) 동시 접속 처리에 특화된 웹서버로, 클라이언트로부터 http 요청을 받아 요청에 해당하는 파일을 http 통신을 통해 응답해주는 프로그램 정적 컨텐츠 호스팅, 리버스 프록시, 캐싱, 로드밸런싱, 미디어 스트리밍 등 유용한 여러 역할을 수행한다고 한다. Reverse Proxy 대부분의 WAS는 Web Server 기능을 제공하므로 Reverse Proxy가 없이 내부 WAS 가 직접 서비스를 제공해도 되지만 Reverse Proxy를 사용하는 이유는 ..
웹서버란? 웹 브라우저와 같은 클라이언트로부터 HTTP 프로토콜로 요청을 받아, HTML 문서 등과 같은 정적 웹 페이지를 응답해주는 소프트웨어라고 한다. 웹서버의 하드웨어, 소프트웨어 측면 하드웨어 측면 웹서버의 소프트웨어와 웹사이트의 컴포넌트 파일들을 저장하는 컴퓨터 (컴포넌트 파일에는 HTML문서, Images, CSS stylesheets, js file이 있다.) 인터넷에 연결되어 웹에 연결된 다른 기기들이 웹서버의 데이터(컴포넌트 파일)를 주고받을 수 있도록 한다 소프트웨어 측면 웹 사용자가 어떻게 호스트 파일들에 접근하는지를 관리 HTTP 서버는 URL(web addresss)과 HTTP의 소프트웨어 일부 브라우저가 웹서버에 파일을 요청 (HTTP를 통해) 요청이 웹서버(하드웨어)에 도착했을..
2011년 오픈소스로 공개한 카프카는 링크드인의 엔지니어가 만들었다고 한다. 링크드인에서 개발한 비동기 메시징 시스템에 프란츠 카프카의 이름을 따서 '카프카'라고 명명했다고 한다. 카프카는 글로벌 IT기업의 상당수가 채택한 분산 스트리밍 플랫폼이라고 한다. 카프카의 용도 1. 메세지 처리 2. 사용자의 웹 사이트 활동 추적 파이프라인 3. 애플리케이션의 통계 집계 4. 시간순으로 발생하는 이벤트를 저장해 필요한 곳으로 보냄 갑자기 카프카가 궁금해서 글을 남기게 되었는데 일단 내가 이해할 수 있는 선까지만 정리해보았다. 이후에 더 알게된 점이 있거나 도입하게 된다면 상세하게 작성해 볼 예정! https://www.hanbit.co.kr/channel/category/category_view.html?cms..
Bean 이란? Spring IoC(Inversion of Control, 제어의 역전. 제어권이 뒤바뀜. 객체 간의 의존성을 이어주는 역할.) 컨테이너가 관리하는 자바 객체이다. new 연산자로 어떤 객체를 생성했을 때, 그 객체는 빈이 아니라 ApplicationContext.getBean으로 얻을 수 있는 객체이다. (ApplicationContext가 만들어서 담고 있는 객체를 의미한다) Bean 등록 방법 Component Scanning @ComponentScan, @Component 어노테이션을 사용해서 등록한다. Spring IoC 컨테이너가 IoC 컨테이너의 생성하고 그 안에 빈을 등록할 때 사용하는 인터페이스를 라이프사이클 콜백이라고 한다. 라이프사이클 콜백 중에는 @Component를..