반응형

GCP Practice Exam 에서 풀고나서 오답에 대한 내용 체크한거.

(https://cloud.google.com/certification/practice-exam/cloud-architect?hl=ko)

코로나때문에 시험을 미룬게 잘된건지 아닌지 모르겠다..ㅠㅠ

 

TerramEarth case study

Q. Because you do not know every possible future use for the data TerramEarth collects, you have decided to build a system that captures and stores all raw data in case you need it later. How can you most cost-effectively accomplish this goal?
D. Have the vehicles in the field continue to dump data via FTP, and adjust the existing Linux machines to immediately upload it to Cloud Storage with gsutil.

B. Have the vehicles in the field pass the data to Cloud Pub/Sub and dump it into a Cloud Dataproc cluster that stores data in Apache Hadoop Distributed File System (HDFS) on persistent disks.
- B is not correct because although Cloud Pub/Sub is a fine choice for this application, Cloud Dataproc is probably not. The question posed asks us to optimize for cost. Because Cloud Dataproc is optimized for ephemeral, job-scoped clusters[2], a long-running cluster with large amounts of HDFS storage could be very expensive to build and maintain when compared to managed and specialized storage solutions like Cloud Storage[3].

Q. Your agricultural division is experimenting with fully autonomous vehicles. You want your architecture to promote strong security during vehicle operation. Which two architecture characteristics should you consider?
E. Treat every microservice call between modules on the vehicle as untrusted.
F. Use a Trusted Platform Module (TPM) and verify firmware and binaries on boot.

B. Require IPv6 for connectivity to ensure a secure address space.
- B is not correct because IPv6 doesn't have any impact on the security during vehicle operation, although it improves system scalability and simplicity.

Q. You analyzed TerramEarth’s business requirement to reduce downtime and found that they can achieve a majority of time saving by reducing customers’ wait time for parts. You decided to focus on reduction of the 3 weeks’ aggregate reporting time. Which modifications to the company’s processes should you recommend?
C. Increase fleet cellular connectivity to 80%, migrate from FTP to streaming transport, and develop machine learning analysis of metrics.

B. Migrate from FTP to streaming transport, migrate from CSV to binary format, and develop machine learning analysis of metrics.
- B is not correct because machine learning analysis is a good means toward the end of reducing downtime, and moving to streaming can improve the freshness of the information in that analysis, but changing the format doesn't directly help at all.


Mountkirk Games case study

Q. Mountkirk Games has deployed their new backend on Google Cloud Platform (GCP). You want to create a thorough testing process for new versions of the backend before they are released to the public. You want the testing environment to scale in an economical way. How should you design the process?
A. Create a scalable environment in GCP for simulating production load.



Q. You are designing a mobile chat application. You want to ensure that people cannot spoof chat messages by proving that a message was sent by a specific user. What should you do?
D. Use public key infrastructure (PKI) to encrypt the message client-side using the originating user’s private key.

C. Use a trusted certificate authority to enable SSL connectivity between the client application and the server.
- C is not correct because SSL only requires the server to have a signed certificate and does not require validating the client.

Q. 
To reduce costs, the Director of Engineering has required all developers to move their development infrastructure resources from on-premises virtual machines (VMs) to Google Cloud Platform. These resources go through multiple start/stop events during the day and require state to persist. You have been asked to design the process of running a development environment in Google Cloud while providing cost visibility to the finance department. Which two steps should you take?
A. Use persistent disks to store the state. Start and stop the VM as needed.
D. Use BigQuery billing export and labels to relate cost to groups.

F. Store all state in Cloud Storage, snapshot the persistent disks, and terminate the VM
- F is not correct because there is no need for persistent disks or snapshots if the state is to be stored in Cloud Storage.

728x90
반응형
반응형

Google Associate Cloud Engineer Exam Dumps 2019

Udemy 에 있는 Dump 풀면서 적은 오답노트들..

 

## failover replica

Failover replica helps provides High Availability for Cloud SQL. The failover replica must be in the same region as the primary instance.

 

 ## Cloud Datastore

 A scalable, fully managed NoSQL document database for your web and mobile applications. Semistructured application dataHierarchical dataDurable key-value dataUser profilesProduct catalogsGame state.

Bigtable is not an ideal storage option for state management.

 

## BigQuery

BigQuery is a good storage option with analysis capability. Also, the access to the data can be controlled using ACLs and Views. BigQuery uses access control lists (ACLs) to manage permissions on projects and datasets

Cloud Storage is a good storage option but does not provide direct analytics capabilities.

 

 ## HTTP load Balancer

HTTP load balancer support global access. HTTP(S) load balancing can balance HTTP and HTTPS traffic across multiple backend instances, across multiple regions. Your entire app is available via a single global IP address, resulting in a simplified DNS setup. HTTP(S) load balancing is scalable, fault-tolerant, requires no pre-warming, and enables content-based load balancing. For HTTPS traffic, it provides SSL termination and load balancing.

 

 ## Big Table

Cloud Bigtable is the most performant storage option to work with IoT and time-series data. Google Cloud Bigtable is a fast, fully managed, highly-scalable NoSQL database service. It is designed for the collection and retention of data from 1TB to hundreds of PB.

 

## Testing application

Google Compute Engine managed instance group can help the testing application to scale to reduce the amount of time to run tests.

 

## Cloud SQL
Failover replica must be in the same region.

## App Engine Standard, Flexible
The App Engine Standard Environment provides rapid scaling as compared to App Engine Flexible Environment and is ideal for applications requiring quick start times and handle sudden and extreme spikes.

 

Feature - SSH-debugging

Standard environment - No

Flexible environment - Yes


## App Engine Deployer
App Engine Deployer gives write access only to create a new version.

## roles/storage.objectCreator
allows users to create objects. Does not give permission to view, delete, or overwrite objects.

 

## Instance Group auto-healing

performs a health check and if the application is not responding the instance is automatically recreated

 

## Kubernetes Cluster auto-repairing

as the resiliency and high availability can be increased using the node auto-repair feature, which would allow Kubernetes engine to replace unhealthy nodes.

 

## gsutil options

Multi-threaded/processed: Useful when transferring large number of files.

Parallel composite uploads: Splits large files, transfers chunks in parallel, and composes at destination.

Retry: Applies to transient network failures and HTTP/429 and 5xx error codes.

Resumability: Resumes the transfer after an error.

 

## command

gcloud compute instances create "preempt" --preemptible --no-boot-disk-auto-delete 

gcloud container clusters resize --num-nodes= --size=

gcloud container clusters update --min-nodes=

gcloud deployment-manager deployments update

kubectl set image deployment nginx nginx=nginx:1.9.1]

gcloud app deploy --project 

 

728x90
반응형
반응형

HTTP(S) 에 대한 global Load Balancer 이다.

 

1. forwarding rule 은 다이렉트로 request 를 target proxy 로 전달한다.

2. target proxy 는 url map 을 통해서 적절한 backend service 로 라우팅 해준다.

3. backend service 는 request 를 서버 용량, 상태에 따라서 적절한 backend instance 로 전달한다. 각각의 backend instance는 health check 를 사용한다.

 

출처 : https://cloud.google.com/load-balancing/docs/https/

 

LoadBalancing 비교

Internal or external Load balancer type Regional or global Supported network  tiers Proxy or pass-through Traffic type
Internal Internal TCP/UDP Regional

Premium only Pass-through TCP or UDP
Internal HTTP(S) Proxy HTTP or HTTPS
External Network TCP/UDP Premium or Standard Pass-through TCP or UDP
TCP Proxy Global in Premium Tier Proxy TCP
SSL Proxy Proxy SSL
HTTP(S) Proxy HTTP or HTTPS

(출처 : https://cloud.google.com/load-balancing/docs/load-balancing-overview?hl=en)

 

다른글

2019/07/28 - [Development/GoogleCloud] - [GCP]Network TCP/UDP Load Balancing

 

참고 자료

https://cloud.google.com/load-balancing/docs/https/

https://google.qwiklabs.com/focuses/558?parent=catalog

https://cloud.google.com/sdk/gcloud/reference/compute/instance-groups/set-named-ports

728x90
반응형

'Development > GoogleCloud' 카테고리의 다른 글

[GCP] Google Cloud Storage Options.  (0) 2019.12.12
[GCP]VPC Network  (0) 2019.08.03
[GCP] Network  (0) 2019.08.01
[GCP]Network TCP/UDP Load Balancing  (0) 2019.07.28
[GCP] Google Cloud 컨테이너 레지스트리에 이미지 push 하기  (0) 2018.10.19
반응형

10월 25일 Google Cloud Summit 2018 이 삼성역 코엑스에서 열렸다.


https://cloudplatformonline.com/2018-Summit-Korea-Home.html


페이스북으로 올라온 글을 보고 신청기간에 등록을 해서 참석하게 되었다. 



Google Cloud Summit



세미나 할때마다 자주 가는 코엑스. 처음에 돌아다닐때에는 위를 보지 않아서 오른쪽 그림이 걸려있는지 몰랐다. -_-;;. 

국내에서 처음 하는 Google Cloud Summit 이어서 인지 전에 와봤던 다른 세미나보다 현수막들이 많이 달려 있는 느낌이었다.



행사 일정이다. 파란색의 낯익은 로고를 보고 정말 의외라고 생각했다.




키노트 하는 오디토리움 내부에서 봤던 로고이다. 개인적으로 왼쪽 로고와 색깔이 맘에 들었다. 



Session

(내가 메모하는 것을 귀찮아 해서 들었던 기억력을 더듬어 가면서 적는 것이기 때문에 내용이 정확하지 않을 수 있다. 아니면 내가 잘못 이해했을 수도 있다.^^;)


빅데이터와 데이터 분석 소개



수많은 데이터를 어떻게 하면 의미있는 정보로 만들것인지, 그 만드는 과정이 굉장히 어렵다. 그런 부분을 Google 에서 쉽게 접근 할수 있도록 도와 주고 있다. 그리고 BigQuery를 통해서 수백만건의 자료들을 빠르게 필터링 하거나 원하는 정보만 가져올 수 있다. 



위와 같은 형태로 수집부터 변환, 분석까지 다양한 서비스를 손쉽게 사용할 수 있도록 제공하고 있다. 



클라우드 플랫폼 정글에서 살아남기 : 하이브리드 클라우드 구성 가이드



이 세션에서는 듣다가 느낀점이 좀 많았다. 클라우드 벤더사들도 많고 하나의 벤더만 사용하면 괜찮지만 여러개의 벤더사들을 섞어서 사용할 경우 발생하는 문제점 들이다. (회사에서) 퍼블릭 클라우드 자체를 자주 사용하지 않다보니 이러한 이슈에 대해서 고민 해본적이 없었다. 


통신 비용 : 서로 다른 클라우드 간에 트랜젝션이 발생할 경우 아웃바운드, 인바운드에 대한 비용이 발생한다. 그게 계속 되고 트래픽이 많아질수록 비용은 높아진다.

성능 :  같은 서비스라도 벤더사마다 제공하는 버전이 다르고 최적화가 다를 수 있다. 그럴 경우 결론적으로 하향 평준화 된다. 성능이 낮은 쪽으로 맞춰진다는 이야기 이다. 

보안 : 이건 어떻게 보면 당연한 이야기 이다. 내부에서 발생하는 트래픽이 아닌데.. 물론 암호화를 거치기는 하겠지만 그래도 문제가 생길 가능성이 있다. 



마이크로 서비스 아키텍처 구성하기 : Kubernetes, Istio, Spinnaker, Knative


가장 관심 있었던 세션이었는데 사진 찍는것을 깜빡했다. 마이크로 서비스에 대한 다양한 관점들, 그리고 내가 몰랐던 패턴들에 대해서 설명을 들을 수 있었다. 


죽지만 다시 살아나는 피닉스 서버 패턴. 여기에서 처음 들어봤는데 한번 찾아볼만한 내용이었다. 그리고 몰랐는데 Google Container Registry 에 이미지 올리면 취약점을 자동 스캔한다는 것을 여기에서 처음 알았다. ^^;;



클라우드 앱 디버깅과 성능 모니터링 : Stackdriver



마이크로 서비스 세션에서도 들었었지만 모든 어플리케이션이 컨테이너화 되면서 모니터링, 디버깅에 대한 내용이 강조되고 있다. 그걸 좀더 손쉽게 할수 있도록 도와주는 서비스 이다. 설명을 들으면서 느꼈는데 상당히 매력적인 툴이었다. 특히 디버거나 로깅 같은 경우는 실제 소스를 재배포 하지 않고도 Logger 를 삽입한다던가 디버깅을 해볼수 있다니. 정말 내게는 매력적이었다. 로그 찍을려고 다시 이미지 구워서 올리고 재배포 하고 했었는데. 그럴 필요가 전혀 없다는 거다. -_-;;; 정말 안되는게 없는 세상이다. 



Cloud Study Jam


참여하고 있던 Cloud Study Jam 마지막 미션과제. 발표가 있었다. 



시간표에 이름이 올라와 있는 "피넛버터" 



그래서 이렇게 저 시간에 가서 무사히(?) 팀 발표를 마쳤다. 정말 허접했지만 준비하느라 걱정이 많았었다. 만든건 왜 대체 잘 안돌아가는 건지. -_-;; 대체 외 Pod 간 연결이 안되는건지. 거의 초보인 내게 컨테이너에 뭔가를 해본다는 것 자체가 시간이 많이 걸리는 일이었다. 그래도 그 덕분에 이것 저것 사용을 해보고 해서 많은 공부가 되었다. 

나중에 동영상으로 녹화한거 다시 들어봤는데 민망해서 영상을 못보고 소리만 들었다. -_-;;; 다음에는 좀더 연습을 해야겠다. 


드디어 4개 다 모았다.~^^


기념품들 



이것 말고도 파트어 업체에서 받은 것들도 있지만 그건 제외 했다. 



Action Item


세미나에서 들으면서 몇가지 써봐야 겠다고 생각한 것들을 요약해 본다. 


- Stackdrvier 사용해보기 (디버거, 프로파일러, 로깅등)

- SRE(Site Reliability Engineering) 에 대해서 좀 찾아보자

- BigQuery 한번 써보자.

728x90
반응형
반응형


한달 전에 Google Cloud Study Jams 을 진행하는 그룹장을 모집한다는 내용을 보게 되었다. 스터디원도 아니고 그룹장을 모집한다라니. 몇번을 할까말까 고민을 하다가 지원을 하게 되었다. 


Google Cloud Study Jams 을 통해서 그룹장 및 그룹원들은 Qwiklabs 에서 제공하는 Google Cloud Platform 관련 lab 들을 한달간 무료로 수강을 할수 있는 기회가 제공된다. 그룹장은 같이 스터디를 할 그룹원들을 최소 5명이상 모아야 하며 Google에서 제시한 4가지의 필수 과목을 수료하게 되면 교육을 이수하게 된다. 단, Qwiklabs에서 제공되는 모든 Lab들을 수강할 수 있으며 필수 과목 이외에도 다른 과목을 수강하는것도 허용된다. Qwiklabs에 권한이 크레딧으로 부여되는게 아니라 기간으로 부여되기 때문에 개개인이 듣고 싶은 모든 Labs들을 수강이 가능하다. 


좋은 기회인것은 분명하고 공부도 하면 좋을것 같아서 회사 내에서 그룹원들을 모집하고 한달간 진행을 했다. 진행이라고 해서 별다른건 없었다. Qwiklabs 자체가 개개인이 Lab을 진행 해야 하기 때문에 그룹원들 보다 먼저 진행해서 좀더 쉽게 할수 있도록 도와주는 역할 정도였다. 그리고 공지사항 같은 것들을 전달하고 하는 역할이었다. 그리고 어느새 한달이 지나갔다.


2018년 5월 15일 종강모임을 하게 되었다. 원래 참석 대상은 그룹장 대상이었으나 일부 자리가 남아서 그룹원들도 선착순으로 참석할 수 있었다. 장소는 역삼역 GFC 22층 구글 코리아에서 진행 되었다.




시작에 앞서 먼저 저녁식사가 뷔페식으로 제공되었다. 아마도 구글 직원들이 사용하는 카페테리아 같은데 전에 세미나 들으러 21층은 자주 왔었는데 22층은 처음 와봤다. 그렇게 많지는 않지만 그래도 음식들이 깔끔하고 후식이랑 음료수등로 많이 있어서 배부르게 먹기 충분했다. 


Google Cloud Study Jams 담당자이신 임성혁 님께서 진행을 하면서 수료식이 시작되었다.

화면에 보이는 숫자중 위에 있는 것은 전 세계에서 진행된 Google Cloud Study Jams 숫자이고 아래 있는 숫자들인 이번에 처음으로 한국에서 진행된 숫자이다. 첫번재는 참여 인원, 두번째는 그룹 숫자, 세번째는 진행한 시간 네번째는 달성률이다. 짧은 기간 진행된 그룹과 달성률을 전세계 숫자와 비교하면 높은 수치라고 한다. 그만큼 각각의 그룹과 그룹원들의 참여율이 높았다고 할 수 있다.


이것은 다음에 진행될 Advanced 과정에 대한 예고편이다. 의미심장한 Coursera가 화면에 보인다. 언제 시작될지 아직은 모르지만 벌써부터 기대가 된다. 하지만 전에도 느꼈지만 Coursera 는 이번처럼 만만치는 않을거라 생각이 된다. 

그리고 이것은 구글에서 준비해준 작은 선물이다. 


왼쪽에 보이는 것은 티셔츠와 친환경 소재로 만든 연필, 그리고 구글 스티커이다. 이것은 그룹장에게만 준 선물이고 오른쪽에 보이는 배지는 그룹원들에게 주는 선물이다. 



이번 스터디 기간 동안 내가 진행한 내용이다. 다행히 GCP Essentials 는 완료를 할 수 있었고 그 이외에 Kubernetes 관련된 것도 2개정도 더 들었다. 좀더 많이 들었으면 더 좋았을텐데 라는 아쉬움이 남는다. 그리고 이번에 진행하면서 의사전달을 Slack을 이용했는데 개인적으로는 만족을 했는데 그룹원들에게는 아직 익숙치 않은것 같았다. 그래서 그것때문에 의사전달이 제대로 되지 않은 경우도 발생을 해서 좀 힘이 들었다. 물론 다음 스터디 진행 시에도 Slack을 그대로 사용할 거지만 그때는 좀더 사용을 잘 할 수 있도록 해야겠다. 그리고 어떻게 하면 좀더 즐겁게 많은 것을 배울 수 있도록 참여를 유도할 것인지 고민을 해봐야겠다. 

728x90
반응형
반응형

 

구글에서 대용량 아키텍쳐 설계 대한 2일짜리 워크샵을 진행한다고 해서 신청을 했다. 신청한 사람 중에 일부만 참석할수 있는 워크샵 이어서 선정이 안될까 조마조마 했다. 워크샵 내용은 아래 표처럼 이틀동안 강의도 듣고 실습도 해볼수 있는 일정이었다. 교육은 "대용량 아키텍처와 성능 튜닝" 저자인 조대협님께서 직접 해주셨다.

 

우선 기술적인 자세한 내용들은 워낙 방대하고 적을수 없어서 여기에다 일일이 적지는 않겠다.  기술적인 내용보다는 첫날 들었던 "아키텍트"는 어떻게 해야 하는지에 대해서 몇가지 인상깊었던 것에 대해 적어보려고 한다. 


아키텍트는 전달을 잘해야 한다. 

아키텍트는 설계를 하는 사람이다. 아니, 설계만 하는 사람이라고 생각을 했었다. 그런데 그것도 중요하지만 다른 중요한것이 있었다. 바로 커뮤니케이션이다. 아키텍트는 설계를 한후 개발팀이 설계한 것을 보고 개발을 할수 있도록 전달을 해야 한다. 그렇기 때문에 개발팀과의 커뮤니케이션이 정말 중요하다. 보통 설계 문서를 주지만 이건 한계가 있다. 왜냐? 개발자들은 설계문서를 잘 안본다는 안타깝지만 사실에 가까운 팩트이다. 결국 찾아다니면서 설명을 해줘야 한다. 그리고 말보다는 그림이 더 설명을 하기도, 이해를 하기도 쉽다.



위 사진을 한번 살펴보자. 인스타그램 같은 앱에서 사진을 올렸을 경우 사진을 저장하는 절차를 설계한 그림이다. 모바일컨트롤러(MC) 에서 API Gateway를 거쳐서 인증을 받은후 API 서버를 거쳐서 사진을 저장하게 된다. 각각의 흐름에는 번호가 붙어 있다. 각각의 트랜잭션이 일어날때 마다 필요한 DATA 와 받는 Data도 표현을 해준다. 각각의 번호는 하나의 RestAPI 로 설계가 될수 있다. 이런 형태로 하나 하나 다 정의를 해줘야 한다고 한다.(아키텍트는 정말 힘든 직업인것 같다 ㅡㅡ;;)  


그리고 커뮤니케이션과 더불어서 개발팀의 능력치 파악도 중요한 포인트이다. 개발팀의 능력에 따라서 일의 양이나 일정을 결정 할 수 있다. 그리고 누구한테 어떤 일을 맡겨야하는것 까지 파악이 된다면 정말 도움이 많이된다. 이런 것들을 잘 파악하기 위해서는 같이 술을 먹어야 한다고...


아키텍처는 상황에 따라서 변한다.

설계 변경이야 늘 있는 일이라서 새삼 놀랍지도 않은 일이다. 아침에 받았던 설계를 점심 이후에 다시 가져와서 수정해야 된다고 들은적이 정말 많다. 그런데 하나의 product를 유지하기 위해 환경이 변화해서 전체 아키텍처가 변경이 된다는 말에서 놀랐다. 

처음 product  를 만들 때에는 정해진 feature를 만들어서 제공하기 위한 제품 위주의 아키텍처 였다고 가정해 보자. 제품을 출시하고 나면 다른 경쟁사들에게 뒤쳐지지 않기 위해서 빠르게 개발해서 빠르게 대응할 수 있는 아키텍처가 필요하다고 한다. 이런 형태로 처음 구상했던 아키텍처를 끝까지 가지고 가는게 아니라 변화하는 상황에 빨리 대응하기 위한 형태로 아키텍처를 그때 그때 알맞게 변경을 해야 한다고 한다. 생각해 보면 하루에도 수십개, 수천개씩 쏟아져 나오는 product들 사이에서 살아 남으려면 변화는 필수인것 같다. 그리고 아키텍처도 예외는 아니라는 것이다. 


이틀간의 짧은 시간동안 많은 내용을 배웠다. 모든 내용을 다 이해해서 내 머릿속에 담을수 있었으면 더 좋았겠지만 아직은 좀 무리였다. 하지만 앞으로 공부를 더 해나가면 발전할 수 있을거라는 생각은 한다. 오랜만에 다녀온 워크샵에서 좋은 지식과 자극을 같이 얻을수 있어서 너무 좋았다. 


728x90
반응형

'Development > Tech&Seminar' 카테고리의 다른 글

TCC가 뭐지???  (0) 2018.09.07
Openssl로 SSL 을 위한 인증서 발급하기 (HTTPS)  (2) 2018.08.22
#2 OpenID Connect Flow  (0) 2018.08.14
#1 Open ID Connect 가 뭐야???  (0) 2018.08.07
Google Cloud Study Jams 후기  (0) 2018.05.15

+ Recent posts