728x90
반응형

클라우드 11

AWS 기반 게임 개발 위한 안내서 - 출시 전

Q. 게임 특징은? 높은 처리량이 있는가? 실시간 반응이 필요한가? 지속적인 연결이 필요한가? Region 선택 FPS 또는 실시간 대전 low latency를 유지해야하기 때문에 유저와 가장 근접한 리전 선택 AWS Global Accelerator 사용하여 리전간 최적화된 통신 Amazon GameLift로 지연시간 기반의 플레이어 간 매치메이킹 MMORPG 높은 데이터 처리량, 복잡한 로직, 지속적인 연결 요구하기 때문에 근접한 리전 선택 플레이어 분포에 따라 리전 선택 리전 별로 백엔드 분리 웹 기반, 방치형, 비동기 방식 적절히 하나의 리전을 선택 Edge 최적화 API 엔드포인트를 통해 지연시간 최소화 CloudFront 사용 1) 게임 장르에 따른 리전 선택 먼저 FPS, 실시간 대전류와 같..

클라우드/AWS 2023.12.01

프리캐싱, Pre-Caching이란?

위에서 보다시피 웹앱에서 DB 접근 전에 메모리에 올려놓는 것을 캐싱이라고 하는 것을 알 것이다. 하지만 Pre-Caching은 그보다 더 성능을 높일 수 있는 방안이다. 조금 다른 방식이라고 생각하면 된다. 알아보자 캐싱보다 pre(앞선) 것이 무엇일까? 캐싱은 요청된 것에 대해서 미리 메모리에 갖고 있다는 측면이지만 Pre 캐싱은 요청하기 전 미리 유저를 예측하여 미리 메모리를 갖고 있는 것이다. 즉, 사후처리가 캐싱, 사전처리가 프리 캐싱이다. 프리 캐싱은 2가지 측면이 있는데 예를 들어보자 Client-Side의 예는 사용자가 미리 자주 방문하는 사이트에 대해 캐싱하고 있다는 것이 되겠고 Server-Side 의 예는 사용자가 다운로드 받을만한 것들을 캐싱하고 있다는 것이 되겠다. 프리 캐싱 플로..

클라우드/AWS 2023.07.09

Docker_Window

Window Docker는 Window에서도 사용이 가능함 → 다만 Linux 환경과 다르게 사용해야 함 Window에서는 Hyper-V 기능을 사용하여 Linux Container를 실행시킬 수 있음 하지만 Linux Kernel을 간접적으로 이용하는 만큼 overhead 가 발생하고 복잡성이 증가함 **Docker Desktop(유료, 무료)를 통해 더욱 쉽게 Docker Engine과 Docker CLI 사용 가능 https://learn.microsoft.com/ko-kr/windows/wsl/tutorials/wsl-containers - 도커 데스크톱 뿐만 아니라 Linux를 WSL을 사용하여 Linux 환경을 구성할 수 있음 WSL2로 Docker Engine 설치, Docker CLI 설치..

AWS, 아마존 웹 서비스 탐구(Cloud Front, EC2, EBS)

AWS의 CDN 서비스 CloudFront CDN이란 Content Delivery Network의 약자로 컨텐츠( 이미지, 동영상, 각종 파일)등을 유저가 가장 가까운 서버에서 받을 수 있게 해주는 서비스이다. AWS에서는 Cloud Front라는 이름으로 서비스를 제공한다. AWS는 전세계적으로 많은 리전을 갖고 있기 때문에 어느 지역에서도 내가 배포한 파일을 빠르게 받을 수 있는 장점이 있다. 이러한 캐시 서버를 구축해서 사용자의 환경을 개선한다. S3의 저장소는 내가 미국에 저장하더라도 서울 리전의 CDN을 통해 다운받을 수 있다는 말과 같다. 하지만 바로 이것이 제공되는 것은 아니다. 컨텐츠가 캐시서버에 있다면 다행이다. 콘텐츠가 이미 지연 시간이 가장 낮은 엣지 로케이션에 있는 경우 Cloud..

클라우드 2022.11.07

구글 스터디잼

https://sites.google.com/view/studyjam-kr/home 2022 클라우드 스터디 잼 sites.google.com 위의 링크에서 스터디를 하느라 한동안 블로그에 글이 없었다. 여러가지 공부를 하느라 바빴다. 솔직히 GCP가 팔아먹기 위해 제공하는 튜토리얼이지만 구글이 어떻게 구성해놓았는지, 어떻게 구조를 짜놓았는지는 항상 배울점이 있다. 그래서 쿠버네티스 전반적인 것을 공부할 수 있는 것이 바로 이 튜토리얼이라고 할 수 있겠다. 더군다나 퀘스트, 실습까지 주어져 괜찮은 프로그램이라고 생각한다. 오늘 끝냈으니 조금 쉬어야 겠다.

K8s, Kubernetes - 기본 개념 (추가 중)

쿠버네티스 공식홈페이지가 있지만.. 그것보다 쉬운 설명이 있다고 믿고.. 내가 더 쉽게 쓸 수 있다고 믿는다. 이를 읽음으로써 더 이해가 잘 간다면 피드백 부탁한다. 원하는 용어는 Ctrl + F 로 잘 찾기를 바란다. 쿠버네티스 오브젝트(Kubernetes Object)란 무엇일까?? 쿠버네티스 시스템 안에서 영속성(persistence)를 가지는 오브젝트이다. 클러스터의 상태를 나타내는 주체이다. 영속성...? 계속 끝까지 남아있는다는 말인가??? 그럼 왜 그 오브젝트가 남아있어야 하는데?? 오브젝트는 쿠버네티스를 운영하는데 많은 정보들을 제공해준다. 3가지만 말해보자면 어떤 컨테이너화 된 어플리케이션이 어느 노드에서 동작 중인지 해당 어플리케이션이 이용할 수 있는 리소스는 뭔지 어플리케이션이 어떻게..

코드형 인프라란 , Infrastructure as Code? IaC

요즘 회사에서는 인프라를 구축하고 운영하는 일을 정말 컴퓨터를 사고, 방화벽을 구축하고, 제공하는 것을 직접 하지 않는다. 직접 인프라를 구현하는 것보다는 모든 것을 클라우드와 자동화 기술을 사용해서 짧은 시간 안에 더 안정적으로 작업할 수 있는 환경을 구성하는 것에 심혈을 기울인다. 하지만 그렇게 쉬운 일은 아니다. 인프라 리소스의 규모, 복잡성, 다양성이 증가하면서 힘들어졌다. 그니까 더욱 클라우드 인프라 자동화 기술이 더 중요해졌다. 단순히 자동화 도구 및 클라우드 플랫폼의 도입만으로는 부족하다. 그래서 코드형 인프라라는 것이 나왔다. 특징은 3가지 정도로 추릴 수 있다. 1. 모든 것을 코드로 정의한다. 2. 코드를 지속적으로 테스트하고 딜리버리한다. 3. 시스템을 작고 간단하게 빌드한다. 그에 ..

클라우드 2022.09.18

쿠버네티스 - Probe

쿠버네티스에 대해 공부하다보니 학습량이 무지하게 많아졌다. 하지만 재밌어 보여서...ㅋㅋㅋㅋ 공부해보자 Probe란 무엇일까? Probe는 컨테이너에서 kubelet에 의해 주기적으로 수행되는 진단이다. 그 진단은 health check라고도 부르는데 뭐 그렇다. 주기적으로 진단하는 이유가 뭐야?? 주기적으로 체크한 후 문제가 있는 컨테이너를 자동으로 재시작하거나 문제가 있는 컨테이너를 서비스에서 제외시키기 위한 것이다. 컨테이너 자동 재시작으로 다시 원활히 돌아간다면 다행이지만 문제가 생긴다면 그 즉시 그 컨테이너를 서비스에서 제외시켜야 한다. 그 컨테이너가 동작하지 않음에도 계속 접근해서 무엇인가 제공받으려고 한다면 그것이 문제기 때문이다. kubelet은 컨테이너 상태를 진단하기 위한 핸들러를 호출..

쿠버네티스 - 디플로이먼트 yaml 파일 예시, Kubernetes - Deployment.yaml sample

apiVersion: apps/v1 #반드시 선언되어야함 kubernetes 버전 참고 kind: Deployment #반드시 선언되어야함 쿠버네티스 오브젝트의 종류 metadata: #반드시 선언되어야함 name: #오브젝트의 unique한 이름 namespace: #일반적으로 namespace를 지정해줌 resourceVersion: generation: 30 creationTimestamp: labels: #쿠버네티스 오브젝트를 선택하기 위한 것임 , 일반적으로 Selector에서 이용하기 위해 선언 app: random annotations: #어노테이션은 오브젝트를 식별하거나 선택할 때 쓰지 못한다. 하지만 레이블에서 허용되지 않는 문자를 포함할 수 있다.(https://kubernetes.io..

쿠버네티스 기본 개념

핫한 기술인 컨테이너부터 시작해서 쿠버네티스까지 학습해보자 노드, Node 더보기 Pod가 동작하는 곳 Pod 는 항상 노드 위에서 작동한다. 컨테이너 런타임(도커와 같은)은 레지스트리에서 컨테이너 이미지를 가져와 묶여 있는 것을 풀고 애플리케이션을 동작시키는 책임을 맡는다. 쿠버네티스에서 노드란 워커머신을 말하며 클러스터에 따라 가상 또는 물리 머신이 된다. => 물리적 단위, 논리적 단위 둘 다 된다는 뜻. => 하나의 노드는 여러 개의 Pod를 가질 수 있음. => 쿠버네티스 컨트롤 플레인은 클러스터 내 노드를 통해서 Pod에 대한 스케줄링을 자동 처리함. ** 다시 말하면 노드라는 인터페이스를 통해서 Pod 에 접근(외부에 IP 노출) Kubelet이란? 더보기 쿠버네티스 컨트롤 플레인과 노드 간..

728x90
반응형