컨테이너, 이미지에 담을 것과 밖에 둘 것
컨테이너는 프로그램과 실행에 필요한 파일을 이미지로 묶어 어느 서버에서나 같은 조합으로 실행한다. 이미지와 컨테이너의 차이, 가상 머신과 다른 점, 설정과 데이터를 이미지 밖에 두는 이유를 기초부터 설명한다.
컨테이너는 프로그램과 실행에 필요한 파일을 이미지로 묶어 어느 서버에서나 같은 조합으로 실행한다. 이미지와 컨테이너의 차이, 가상 머신과 다른 점, 설정과 데이터를 이미지 밖에 두는 이유를 기초부터 설명한다.
보안 그룹 인바운드 규칙에 0.0.0.0/0을 넣으면 인터넷의 누구나 그 포트로 연결을 시도할 수 있다. 포트, 인바운드와 아웃바운드, IP 범위 표기부터 차례로 정리한다.
EC2 인스턴스에는 퍼블릭 IP와 프라이빗 IP가 함께 붙는다. 두 주소가 각각 어디서 통하는지, 사설 IP만 가진 서버가 NAT을 거쳐 밖과 통신하는 방식, VPC 대역을 고를 때 주의할 점을 다룬다.
클라우드를 쓰면 하드웨어 고장과 전력, 회선은 제공자가 맡지만 운영체제 패치와 데이터, 권한 설정은 여전히 사용자 몫이다. 요금이 유리한지는 작업량이 시간에 따라 어떻게 오르내리는지에 달려 있다.
정적 사이트에는 검색어를 받아 줄 서버가 없다. 빌드 때 만든 역색인으로 브라우저가 직접 글을 찾는 원리와, 사이트 밖에서 글을 찾아오게 하는 사이트맵과 RSS를 함께 설명한다.
코드를 올리면 빌드와 테스트가 자동으로 돌고, 통과한 결과만 운영 서버로 나간다. CI와 CD가 각각 무엇을 가리키는지, 산출물을 왜 한 번만 만드는지, 검사에 걸리면 무엇이 멈추는지 정리한다.
CDN은 방문자와 가까운 서버에 응답의 사본을 두어 거리에서 오는 지연을 줄인다. 사람마다 다른 응답이 남에게 보이는 사고와 고친 페이지가 늦게 반영되는 현상도 이 사본을 다루는 방식에서 나온다.
A 레코드의 서버 주소를 바꿔도 한동안 옛 서버로 가는 요청이 남는다. DNS가 받은 답을 TTL 동안 기억하기 때문이다. 도메인 등록과 HTTPS 인증서가 각각 무엇을 맡는지도 함께 짚는다.
프레임워크 문서에 나오는 SSG는 페이지의 HTML을 방문 전에 빌드로 만들어 두는 방식이다. 요청 때 조립하는 방식과 무엇이 다른지, 어떤 화면에 맞고 어디서 실패하는지 설명한다.
사진을 브라우저에서 줄여 올리면 전송량은 줄지만, 처리하는 동안에는 해상도만큼의 픽셀 배열이 메모리에 펼쳐진다. 디코딩이 무엇인지, 여러 장을 한꺼번에 줄이면 왜 화면이 멈추는지 설명한다.