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

Kor 11

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 ..

Architecting With Google Compute Engine - Core Service ch2. Resource Management (Coursera)

Resource Management Resource management = controlling cost. Quota / limit consumption 두 가지 방식이 있음. Default quota는 요청할 경우 증가시킬 수 있다. Cloud Resource management 기본적으로는, IAM을 다룰 때 상정했던 계층구조를 그대로 따른다. Policy -> roles + members, set on resources. Resources inherit policies from their parents. 즉, union of parent & resource. 또한 parent policy가 less restrictive할 경우, more restrict한 resource policy를 자동으로 기각..

Architecting With Google Compute Engine - Core Service ch1. Storage (Coursera)

Storage Storage, Sql, spanner, firestore, Bigtable. BigQuery도 storage 범주에 있긴 하지만, 본래 목적은 data analysis and interactive querying. Decision Chart. If data is not structured -> Storage. Structured + Focus on Data analysis -> Bigtable / BigQuery (depends on your latency / update needs) Whether your data is relational. If not relational -> Cloud Firestore. Relational -> Cloud SQL , Spanner. Scope 이 강..