공부하고 기록하는, 경제학과 출신 개발자의 노트

GCP 14

Google Cloud Summit 2023 Seoul - Cloud Run으로 Fast, Scalable, Durable 앱 구축하기

Google Cloud Customer Engineer 권신중님. CloudRun: 완전관리형, 컨테이너 기반 애플리케이션 배포 / 운영 / 확장을 위한 서비스. 인프라 고민 필요없음. CloudRun 소개 크게 두 가지 형태로 쓰임. Service / Job. Service: public / private한 웹사이트 또는 Endpoint url endpoint 제공 autoscale 기준은 크게 두 가지 (or 조건으로 동작함) cpu 기준. default 60% request 개수 (concurrency) - default 80. canary deployment (traffic split) based on revision HTTP, WebSocket, gRPC, Event 등 다양한 조건으로 트리거 ..

Google Cloud Run으로 Container image 실행하기

Managed Container-as-a-Service Serverless Deployment remove the needs for us to manage the underlying infraStructure. Simplified Application Management. Out-of-the-box High availability & Scaling "Pay what your Users use" business Model. 서비스를 제공하는 vendor 입장에서는 'do not waste resources like cpu / ram for no reason.' 즉 '내가 사용하는 리소스'에 대한 비용 지출이 아니라, '내 프로덕트를 이용하는 사용자가 쓰는 리소스'에 대한 비용 지출이 이루어진다. inste..

Architecting with Google Compute Engine - Design Process ch4. Presentation Layer

Presentation Layer Overview Presentation Layer : 사용자와 시스템 간, business logic, stored service 간 데이터 flow를 말한다. 간단히 말해 Networking. Presentation Layer : Network Configuration Networking 에서 가장 중요시해야 할 건 Location. 이게 latency 차이를 만드는 핵심이기 때문. Distributed network일수록 outage tolerance가 강해지지만, round trip time is slower between distant elements 문제 때문에 performance limitation은 반드시 존재한다. 미국 - 유럽 간 통신은 1초당 최대 6..

Architecting with Google Compute Engine - Design Process ch3. Data Layer

Data Layer Overview Storage / retrieval of data를 다루는 영역. Storage / retrieval 영역인 database / file system뿐만 아니라 access method; SQL and API 등등을 포함한다. 하지만 transport of data는 다루지 않음. (Into, around, out of the system) transportation 부분은 presentation layer module에서 다룬다. Data Layer Design : Classifying and Characterizing Data 사용자 입장에서 중요한 건 Data integrity. Underlying tech에는 관심 없고, data loss / data corru..

Architecting with Google Compute Engine - Design Process ch2. Business Logic Layer

Business_logic Layer Design OverView Business Logic = code that implements business logic (Computer Science에서의 정의) that determines what happens to data. = processing. Ex) 비행기 티켓 예매라고 하면, 예매 인터페이스가 앱이건 키오스크건 상관없이 ‘티켓 예매’라는 데이터 처리는 동일하다. 이게 business logic. Microservices = specific kind of Service Oriented Architecture (SOA) -> leverages small, stateless processing for improving scalability and res..

Architecting with Google Compute Engine - Design Process ch1. Defining Service

Design and Process 실제로 How to start, utilize a design and process the follows the best practices. 강의 구성 Lecture, introducing architect concepts and principles. Application of those principles to a real world design Related application problem. Compare it with standard solutions Lecture 1. Defining the Service Overview Automated Deployments are the foundation of SRE and design process. 강의보다는 lab ..

Architecting with Google Compute Engine - Scale Automation ch2 - Deployment Manager

Deployment Manager & Managed Service Automatically generate infrasturture by Calling Cloud API. 강력하기는 한데 몇 가지 걸리는 점이 있긴 함 Maintainability… depends directly on the quality of SW. 여러 코드에서 API를 실행하고 있다면, 어느 코드에서 어떤 작업이 일어나는지 확인하기가 쉽지 않다. 관리하기도 까다로움. 그래서 Deployment manager 가 필요함. Highly structured templates and configuration files to document the infrastructure in an easily readable / understandable..

Architecting with Google Compute Engine - Scale Automation ch1 - Load balancing

Load Balancing and Autoscaling High availability 확보를 위해. Serve content as close as possible to your users on a system. (1M queries per sec) Cloud Load Balancing = Fully distributed SW defined managed system. 완벽한 SW이므로 HW infrastructure나 physical 장비가 필요없다. 크게 두 가지의 load balancer. Global vs Regional. 서비스의 사용자나 인스턴스가 Global 분포라면 Global 사용. (전세계 단위의 사용자에게 single anycast IP address로 provide할 경우) Regi..

Architecting with Google Compute Engine - Scale Automation ch1 - Interconnect network

Scaling & Automation Overview Interconnecting Network에 초점. 각각의 App, workload마다 여러 종류의 network connection solution이 필요함. Cloud VPN On-premises network와 GCP VPC network를 IPSec VPN tunnel로 연결하는 작업을 수행한다. 두 개의 네트워크는 one VPN gateway에서 encrypted -> other VPN gateway에서 decrypted. 이 암호화 작업으로 public internet을 사용하면서도 security 확보가 가능하다. site to site VPN dynamic routes IKEv1, IKEv2 지원. Cloud VPN doesn’t sup..

Architecting with Google Compute Engine - Core Service ch2. Resource Monitoring (Coursera)

Resource Monitoring 사실상 stack driver 다루는 파트. Monitoring / logging / diagnostics for your applications. 크게 monitoring, logging, error reporting, tracing, debugging 서비스를 제공하며, 사용한 만큼 돈 낸다. Free usage allotments도 존재함. 수많은 3rd party SW나 Open Source와 호환되는, growing Ecosystem of tech partners. Monitoring Site Reliability Engineering (SRE) 에서 가장 중요한 게 monitoring. SRE 자체가 build, deploy, maintain largest ..