GCP ML sytem관련 용어에 대한 개념, 차이, use-cases 등을 정리합니다.
Microservices
Microservices architecture 마이크로서비스 아키텍쳐
Type of application architecture where the application is developed as a collection of services.
- Provides the framework to develop, deploy, and maintain microservices architecture diagrams and services independently.
Microservices-based application은 내부의 다양한 microservice를 호출해 단일 유저의 요청을 처리한다.- Allows applications to separate into smaller independent parts, with each part having its own realm of responsibility.
Containers 컨테이너
Well-suited microservices architecture example
- Let you focus on developing the services without worrying about the dependencies 종속성에 대한 걱정 없이 서비스 개발에 집중할 수 있게 해주는 마이크로서비스
- Modern cloud-native applications are usually built as microservices using containers.
- Google Kubernetes Engine (GKE) : help you create microservices-based applications using containers.
API $vs.$ SDK
API (Application Programming Interface)
Defines how apps work together : allows the software to interact with other software. 프로그램들이 서로 상호작용하는 것을 도와주는 매개체
- Deliver a request from one app to another software and deliver a response back to the requesting app.
- like channels between different applications.
- CAN'T use to build a new application, CAN'T contain SDKs
- API contains specifications and descriptions about functions.
- DO NOT HAVE code libraries
- Easy to modify
SDK (Software Development Kit) - devkit
Set of tools for building software programs that are used to develop applications
- SDK contains an API as well as sample code, technical specifications and tools
- May contain APIs : SDKs use APIs to make communication between two applications possible.
vs | API | SDK |
---|---|---|
Purpose | Connects and integrates software | Contains a variety of development tools |
Characteristics | Lightweight, fast, usually specialized | More robustusually includes many utilities |
Use Case | Used for adding specific functions to an application | Used for creating new applications or adding many functionalities with one package |
Features | The interface accesses the underlying platform capabilities and features. | Provides tools to help programmers for development and to use the API. |
Global/Regional/Zonal Resources
Global resources
: available across regions and zones- Examples: Pre-configured disk images, disk snapshots, and networks
Regional resources
: can be accessed only by resources located in the same region- Examples: Static external IP addresses
Zonal resources
: can be accessed only by resources located in the same zone- Examples: VM instances, their types(flavors), and disks
Synchronous 동기 $vs.$ Asynchronous 비동기 - 데이터를 받는 방식
동기 Synchronous
동기는 단어 그대로 동시에 발생한다 즉, 요청과 결과가 동시에 일어남을 의미한다.
The caller will wait until the work is done, expecting a result.
- This pattern can be directly and simply handled by
Cloud Functions
with anHTTP trigger
.
Asynchronous 비동기
비동기는 요청과 결과가 동시에 일어나지 않음을 의미한다.
The caller does not need to wait for the work to be done, and does not need to follow up on the completion status.
work-queue
Data $vs.$ Metadata 데이터와 메타데이터
Basis for Comparison | Data | Metadata |
---|---|---|
Definition | a set of facts and statistics can that be operated, referred or analyzed. | Metadata describes relevant information about the data. |
Information | Data can or can not be informative. | Metadata is always informative. |
Processing | Data may or may not have been processed. | Metadata is always a processed data. |
OAuth = Open Authorization
OAuth 2.0을 사용하여 Google API에 액세스 | Google ID 플랫폼
- 애플리케이션은 Google Authorization Server에 토큰 요청
- 인증 코드를 수신
- 코드를 토큰으로 교환
- 토큰을 사용해 Google API 엔드포인트를 호출
Source&Refernce : Difference Between an API and an SDK Anyone Can Understand | by Addevice | Mobile Development | Medium | Difference between SDK and API | Google Cloud Overview – Web Age Dev Zone |Asynchronous patterns for Cloud Functions | Difference Between Data and Metadata (with Comparison Chart) - Tech Differences
'Certificate - DS > Machine learning engineer' 카테고리의 다른 글
Which GCP service to use - AutoML, Cloud Machine Learning APIs (0) | 2021.12.04 |
---|---|
Which GCP Service to use - Serverless (0) | 2021.12.02 |
Production ML Systems - Tuning System Performance (0) | 2021.11.29 |
Which GCP service to use - BigQuery ML (BQML) (0) | 2021.11.29 |
Feature Engineering - Feature Crosses (0) | 2021.11.29 |