DevOps 22

GCP Free Tier에서 GPU 사용하기

Reference를 보고 구축된 Kubeflow Pipeline을 이용해 Tensor2Tensor 모델을 트레이닝하고 서빙하는 과정을 따라가 보았다. Kubeflow Pipeline을 이용해 ML 트레이닝을 진행하려면 GPU가 필요하다.(Reference: https://codelabs.developers.google.com/codelabs/cloud-kubeflow-pipelines-gis/index.html?index=..%2F..index#0) GPU Node Pool을 생성하는 단계 message: "Insufficient quota to satisfy the request: Not all instances running in IGM after 17.643053934s. Expected 1, ru..

Kubernetes로 MNIST 데이터셋 훈련시키기

Reference: https://github.com/ml-kubernetes/MNIST GitHub - ml-kubernetes/MNIST: Simple example for learning and serving 'MNIST' in kubernetes cluster Simple example for learning and serving 'MNIST' in kubernetes cluster - GitHub - ml-kubernetes/MNIST: Simple example for learning and serving 'MNIST' in kubernetes cluster github.com GCP Platform에서 Kubernetes를 이용해 MNIST 데이터셋을 훈련시켜 보기로 했다. Reference..

GCP PCA 자격증 시험 후기 & 공부 방법

GCP PCA 시험을 준비하는데 대략 3개월이 걸렸습니다. 독학을 하는 저로서는 PCA 준비에 대한 모든 정보를 오래된 블로그 글에 의존할 수 밖에 없었고 유용한 정보와 그렇지 않은 정보도 있었습니다. 제가 했던 공부 방법이 정답은 아니지만 조금이나마 도움이 되었으면 하는 마음에 글을 작성하게 되었습니다. 1. GCP의 모든 서비스에 대해 전반적으로 골고루 알아야하기 때문에 처음에는 강의를 추천합니다. 많은 블로그에서 추천하는 코세라 강의는 솔직히 도움이 되지 않았지만 그 중에 실습 파트는 GCP 사용법을 맛보기로 해 볼 수 있어 좋았습니다. 제가 추천하는 강의는 https://acloudguru.com/course/google-certified-professional-cloud-architect-Z6X..

A/B Testing, Canary Releases, and Blue-Green Deployments

Application을 Production 환경으로 옮길때 사용하는 기술적인 방법들이 있다. Application의 새로운 버전이 잘 동작하는지 테스트 하고 싶거나 아예 새로운 버전으로 바꾸고 싶을 때, A/B Testing, Canary Releases, and Blue-Green Deployments 등의 방법이 쓰인다. Blue-Green Deployments 새로운 Version의 Application을 배포하는 과정은 신속하게 이루어져야 하며, 새로운 배포판에 Bug가 감지되면 빠르게 Rollback을 해야한다. Blue-Green Deployments는 2개의 동일한 Production 환경을 셋팅해놓고 시작한다. 예를 들어, 현재 live 되고 있는 환경이 Green이라고 해보자. V2로 업..

Traffic Splitting에 대해 알아보자

트래픽 분할을 사용하면 서비스 내 버전 두 개 이상에 트래픽 분산 비율을 지정할 수 있다. 트래픽을 분할하면 버전 간 A/B 테스트를 할 수 있으며, 기능을 배포할 때 속도를 제어할 수 있다. 이러한 트래픽 분할은 특정 버전을 명시적으로 대상하지 않는 URL에 적용된다. 예를 들어, https://PROJECT_ID.REGION_ID.r.appspot.com - 트래픽을 default 서비스의 여러 버전으로 분산한다. https://SERVICE_ID-dot-PROJECT_ID.REGION_ID.r.appspot.com - 트래픽을 [SERVICE_ID] 서비스의 여러 버전으로 분산한다. 여러 버전 간 트래픽을 분할할 때는 IP 주소를 사용할지, HTTP 쿠키를 사용할지를 선택해야 한다. IP 주소 분할..

Big Data Migration Flowchart

★ gsutil gsutil은 Command line에서 Cloud Storage에 액세스하는데 사용할 수 있는 Python Application이다. gsutil은 HTTPS 및 전송 계층 보안 (TLS)을 사용하여 업로드 및 다운로드를 포함한 모든 작업을 수행한다. The gsutil tool is the standard tool for small to medium sized transfers (less than 1 TB) over a typical enterprise-scale network from a private data center of from another cloud provider to Google Cloud. ● For transfers of larger datasets, there ..

SLI, SLO, and SLA in SRE에 대해 알아보자

SRE - Site Reliability Engineering 사이트 신뢰성 엔지니어링은 IT 운영에 대한 소프트웨어 엔지니어링 접근방식이다. SRE는 확장 가능하고 신뢰성이 높은 소프트웨어 시스템을 생성할 때 유용한 방법이다. 코드를 통해 대규모 시스템을 관리할 수 있으므로 수천 대에서 수십만대에 이르는 머신을 관리하는 시스템 관리자에게 더 큰확장서과 지속가능성을 제공한다. SLI - Service Level Indicators 서비스의 측정 가능한 특성을 의미한다. A carefully defined quantitative measure of some aspect of the level of service that is provided. Example: Request Latency - How long..

Cloud DNS에 대해 알아보자

DNS 먼저 DNS에 대해 알아보자. 친구 A와 B가 있다. 친구 A는 영국에 살고, 친구 B는 영국에 놀러가고 싶어한다. B: '영국에서 가장 좋아하는 장소가 어디야?' A: '51° 30' 19.9944'' N and 0° 4' 31.0008'' W 가 가장 좋아하는 장소야' B: '엥? 아니 좋아하는 장소 이름이 뭐야?' A: ''51° 30' 19.9944'' N and 0° 4' 31.0008 라니깐?!' B: "....." 사람은 숫자보다 이름으로 기억하는 것이 더 편하다. 우리가 특정 웹사이트에 접속하려 할 때 도메인 이름이 아닌 IP 주소를 외워야 한다면 너무나 힘든 일이 될 것이다. 따라서 사람 대신에 IP 주소를 찾아주는 DNS(Domain Name Server)가 필요하다. DNS는 ..

ETL, ELT, Data Warehouse, Data Lake에 대해 알아보자

ETL 이란? Extract, Transform, Load 기업이 전 세계 모든 곳의 수많은 팀에서 관리하는 구조화된 데이터와 구조화되지 않은 데이터를 비롯한 전체 데이터를 가져와 비즈니스 목적에 실질적으로 유용한 상태로 변환하는 엔드 투 엔드 프로세스를 의미합니다. 여러가지 데이터 소스에서 추출 (Extract) 하고, 데이터를 원하는 형태로 변형 (Transform) 하고, Data Warehouse로 적재 (Load) 하는 과정입니다. 비즈니스 또는 분석 용도에 맞추어 데이터를 잘 정제하는 단계 (Transform) 가 중요하고, 데이터 크기가 클수록 Transform 하는 시간도 오래 걸린다. ETL 파이프라인이 설계된 후에는 1일 1회 등의 방식으로 업데이트 된 내용을 다시 가져와서 새로운 내용..

Cloud VPN에 대해 알아보자

Packets 이란? 쪼개진 데이터 조각을 말한다. Packets은 데이터를 전송할 목적지에서 다시 합쳐질 수 있는 데이터 조각들이다. 하나의 Packet은 Header (Packet의 목적지와 사용한 Protocol 정보를 담고있음) 와 Payload (Packet의 실제 내용) 으로 구성된다. Packet Encapsulation 이란? Packet을 Encapsulate 한다는 것은 Packet을 다른 Packet으로 감싸는 것을 의미한다. 즉, 본래의 Packet(header + payload)을 이를 감쌀 Packet의 payload 섹션에 포함시킨다. Tunneling 이란? Packets을 한 네트워크에서 다른 네트워크로 이동시키는 방법을 말한다. 이때 해당 네트워크에서 지원하지 않는 프로토..

728x90