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

Coursera 19

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

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

Cloud IAM Email-like address names, job-type role in granular permission. Cloud IAM Who can do What, on which resources를 정의한 것. Who : Person, Group, Application 전부 해당한다. What : Privilege / Action Resource는 모든 종류의 GCP 서비스. Cloud IAM Resource의 계층구조를 토대로 IAM 적용가능한 객체를 파악할 수 있다. 상위 -> 하위 순으로 각각 Organization Node -> Folders -> Projects -> Resources 순서. 각각의 Resource는 하나의 Parent만을 갖는다. 모든 계층 Level에서 po..