반응형

한빛 미디어 나는 리뷰어 다 를 통해서 이번에는 "개발 7년차, 매니저 1일차" 라는 책을 리뷰하게 되었다.

 

"개발 7년차, 매니저 1일차".

우선 이 책의 제목부터가 흥미롭다. 

개발자로 일을 하고 있는 사람이라면 언젠가는 겪어야 하는 과정의 한 부분이기 때문이다. 그런데 현실은 그렇게 만만치 않다. 누군가 자세히 설명해주는 사람도 없다. 그러한 과정들이 항상 되풀이 되고 이제 곧 나에게도 다가올 것이라는 생각이 든다.

 

책은 매니저에서 부터 시작해서 점점 더 큰 조직을 맡게 되면 어떻게 팀을 관리를 해야 하는지, 매니저들은 어떻게 관리를 해야 하는지에 대해서 이야기를 해준다. 그리고 중간 중간에 같은 상황에 대해서 어떻게 대처하느냐에 따라서 상황이 어떻게 달라지는지 비교해서 설명을 해주는 부분들도 있다. 

 

도움이 되는 Q&A 와 생각해볼수 있는 문제들

각 챕터 중간중간에 위와같이 "CTO에게 묻는다" 라는 소주제들이 있다. 질문과 답변 형식으로 되어있고 실체 처음 관리를 맡게 되는 사람들이 궁금해 할 만한 질문들로 이루어져 있다. 답변들을 천천히 읽다 실제로 우리 주변에서 많이 볼수 있는 일들이어서 공감이 많이 됐다.

그리고 챕터 마지막에는 오른쪽과 같이 질문들이 있어서 한번 생각해보고 챕터를 마무리 할 수 있다.

 

실제 종사자들의 경험담

많지는 않지만 3편 정도의 기고글이 책 중간에 담겨져 있다. 실제 이러한 일들을 겪었던 분들의 경험담이기 때문에 같은 고민을 하고 있는 분들이나 이야기에서 말하는 상황에 놓인 분들에게 도움이 될만한 내용이다.

 

이런 분들에게 꼭 권해주고 싶어요.

 

책을 읽으면서 처음 부터 끝까지 나와 비슷한 상황 또는 고민들에 대한 내용들이 많이 나왔다. 아마 나 또한 직장생활한지 이제 곧 10년정도 되어가고 관리를 해야되는 역할에 다가가고 있어서 그런것 같다. 나는 항상 개발밖에 할수 없으며 무엇인가 관리하는 일들은 정말 나와는 안맞는다 라고 생각해왔다. 아래 글을 잠깐 보자.

딱 내가 생각했던 것들이다. 매니저가 되면 개발할 시간이 줄어들고 여기저기 회의에만 쫓아다녀야 하고. 그런 모습들이 정말 싫었다. 그리고 처음 개발을 할때에는 이러한 업무들은 개발보다 중요하지 않다고 생각을 하기도 했다. 하지만 그건 나의 잘못된 생각이었다. 이건 쉽게 생각할 업무가 아니고 정말 무거운 책임을 갖고 임해야 하는 중요한 일이다. 또 매니저란 역할은 연차가 올라간다고 맡는게 아니라 그 업무를 잘 해낼수 있는 사람에게 맡겨야 된다는 생각이 들었다. 이 책에서도 그러한 이야기를 계속 해주고 있다. 

안타깝게도 실제 우리가 다니고 있는 회사에서는 그런 것들을 배려해주지는 않는다. 그래서 이런 글들을 통해 조금이라도 준비를 할수 있으면 실제 매니저가 되었을때에 아주 조금이라도 덜 힘들지 않을까 생각이 든다. 

이제 곧 매지너라는 역할을 맞이 해야하는 모든 개발자 분들에게 이 책을 적극 권해주고 싶다. 파이팅.

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

728x90
반응형
반응형

ingress 에 tls 에서 사용되는 인증서가 만료되어서 secret 을 생성 해야 할 경우 다음과 같이 생성하면된다.

 

인증서와 key 파일은 있다고 가정한다. 

없다면 다음 글을 참고하면 된다.

 

2018/08/22 - [Development/Tech&Seminar] - Openssl로 SSL 을 위한 인증서 발급하기 (HTTPS)

 

secret 이름은 my-secret 이라고 가정하고 dev 네임스페이스에 생성되어있다고 가정한다.

 

1. 기존 secret 삭제

 

kubectl delete secret my-secret -n dev

 

2. secret 생성

 

kubectl create secret tls my-secret --key my.key --cert my.crt -n dev

 

이렇게 하면 끝난다.

 

이미 ingress 에 my-secret 이름으로 설정이 되어있다면 재기동도 안해도 된다.

 

728x90
반응형
반응형


## You are developing a new application that needs to store and analyze over a petabyte of data in NoSQL format. 
The database needs to offer low latency and millisecond response time. Which product would you choose?

Cloud Bigtable 
- Although both Datastore and Bigtable are NoSQL databases, Bigtable is able to support over a petabyte of data and is useful for high-speed analytics as well, whereas Datastore is not.
BigQuery does not offer low latency and millisecond response time.

BigQuery
- BigQuery could work except that it does not offer the low latency and high performance of Bigtable

## Your company is building a large-scale web application. Each team is responsible for its own service component of the application and wants to manage its own individual projects. You want each service to communicate with the others over RFC1918 address space. What should you do?

Configure a Shared VPC and add each project as a service of the Shared VPC project
- Using a shared VPC allows each team to individually manage their own application resources while enabling each application to communicate with each other securely over RFC1918 address space.

Configure a global load balancer for each project and communicate between each service using the global load balancer IP addresses
- This does not help us. The global load balancer will not help with internal communication between network resources.

## Your company currently hosts an AWS S3 bucket. You need to keep the contents of this bucket in sync with a new Google Cloud Storage bucket to support a backup storage destination. What is the best method to achieve this?

Use Storage Transfer Service to keep both the source and destination in sync
- You can use gsutil rsync to keep two locations in sync. However, the preferred option when working with an AWS S3 bucket is to use the Storage Transfer Service.

Use gsutil rsync commands to keep both locations in sync.
- You can use gsutil rsync to keep two locations in sync. However, the preferred option when working with an AWS S3 bucket is to use the Storage Transfer Service.

## You can use gsutil rsync to keep two locations in sync. However, the preferred option when working with an AWS S3 bucket is to use the Storage Transfer Service.

Migrate your data onto a Transfer Appliance. Use a Transfer Appliance Rehydrator to decrypt the data into Cloud Storage.
- For the quantity of data, you would want to use a Transfer Appliance, then rehydrate the data into Cloud Storage once transferred.

Install gsutil on each server containing data. Use multi-threaded transfers to upload the data into Cloud Storage.
- For the quantity of data, you want to use a Transfer Appliance instead.

## You need to analyze log data from your credit card processing application while staying in compliance with PCI regulations. What is the best method to perform this task?
Using a Squid proxy, have data collected by Stackdriver Logging exported to BigQuery via a sink based on needed log filters.
- The proper model for exporting credit card processing data is to forward from a Squid proxy to Stackdriver Logging and export from Stackdriver Logging into BigQuery.Video for reference: Legal Compliance and Audits

Export data from your on-premises application into BigQuery for analysis.
- To be in compliance PCI DSS regulations, credit card processing log data should be written to Stackdriver Logging from a Squid proxy, not the on-premises application. Video for reference: Legal Compliance and Audits


## You are migrating your on-premises application to Google Cloud. You will use the Cloud VPN service to connect your on-premises systems and Google Cloud until the migration is completed. What should you do to make sure that all network resources remain reachable during the migration?
Use an IP range on your Google Cloud VPC that does not overlap with the range you use on-premises
- You need to ensure that none of your IP ranges overlap each other on either your on-premises or Google Cloud VPC networks.

Use the same IP range on your Google Cloud VPC as you use on-premises for your primary IP range and use a secondary range that does not overlap with the range you use on-premises
- You need to ensure that none of your IP ranges overlap each other on either your on-premises or Google Cloud VPC networks.

## Your company wants to control IAM policies for different departments. The departments must be independent from each other, however, you want to centrally manage the IAM policies for each individual department. How should you approach this?
Use a single Organization with a Folder for each department
- This is the best structure to use. One single organization for the entire company. Organize departments inside folders inside of the single organization. You can then apply a single IAM policy to the single department folder, which will be applied to any projects or subfolders inside of it.

Create a single Organization with multiple projects, each with a central owner
- Instead of multiple projects, you will want to use a Folder for each department with a department IAM policy applied to it, which will allow you more control with individual projects inside of each folder.

## You've created a managed instance group that keeps rebooting its instances every 10 seconds. You have a health check configured with autoscaling disabled. You need to be able to SSH into your individual instances to troubleshoot without them rebooting. What should you do to accomplish this?
Disable the health check for the instance group
- The most likely culprit of these choices is a failed healthcheck restarting or recreating the instances. Disabling the health check will keep the instances up and running while you troubleshoot.

Enable autoscaling for the instance group.
- Autoscaling will not help with the stability of the instances.

## Your company has different on-premises systems that generate a variety of reports. This data is not well maintained and needs to be cleaned up before it is used for any useful analysis. Which best-practice method should you use to accomplish this task?
Upload your files into Cloud Storage. Use Cloud Dataprep to explore and clean your data hosted in Cloud Storage.
- This is the correct answer. Dataprep cleans data in a web interface format using data from Cloud Storage or Bigquery.

Upload your files into Cloud Storage. Use Cloud Datalab to clean your data.
- Datalab is used for data exploration, not cleaning.

## Your organization wants to publish sensitive transaction data from its onsite application server to Cloud Pub/Sub for processing and storage. Following Google's recommended best practices, what is the preferred method for your application to authenticate to the required Google Cloud services?
Create a service account for the VM to authenticate with Pub/Sub. Use a custom service account key for authentication.
- Resources not hosted on GCP should use a custom service account key for authentication.

Create a Cloud VPN gateway to Cloud Pub/Sub using Cloud Functions. Grant the Cloud Function service account the appropriate Cloud Pub/Sub IAM roles.
- This is unnecessarily complex. Using a service account for authentication is the best practice.

 

 

 

 

 

 

## TerramEarth wants to share insights with their dealer network regarding how customers use their equipment. From our discussion on the case study, how might they be able to do this?
Use Google Data Studio to create live charts that read directly from BigQuery. Give dealer representatives view rights to these charts to gain better understanding.
- This is the best answer as it uses live analytics data. Data Studio is able to easily create useful charts from live BigQuery data to get insight.

Export BigQuery records to a Cloud Storage bucket and give dealer representatives permission to download exported records for viewing.
- Technically possible, but there are better methods available.

## Mountkirk games is currently running a managed instance group for their game servers. They want to convert to using a CI/CD pipeline using microservices. They need to deploy game resources across the US, Europe, and SE Asia. Their deployed microservices need to be immutable. What products should they use?
HTTP/S Load Balancer, Container Registry, Kubernetes Engine
- An HTTP/S Load Balancer is able to globally serve multiple regions. Container Registry can store immutable container images for deployment. Kubernetes Engine is able to manage their containerized application.

Network Load Balancer, Container Registry, Kubernetes Engine
- Network (Layer 4) Load Balancers cannot support more than one region.

## You are planning the best database workloads for Mountkirk Games analytics requirements. Considering the business and technical requirements, what actions should you take?
Use Cloud Bigtable to replace MySQL and use BigQuery for historical data queries.
- This is the most correct answer of the given choices. Bigtable is well suited for holding time series data and BigQuery can query data in Bigtable. Alternatively, BigQuery can also be used for both solutions if low latency response times are not required.

Use Cloud Bigtable for time series data, use Cloud Spanner for transactional data, and use BigQuery for historical data queries.
- One of the requirements is to use a NoSQL database for transactional data. Cloud Spanner is a SQL/relational database.


## You need to plan the architecture for Mountkirk Games' game servers. Based on the technical and business requirements, what should you do?
Use a global HTTP load balancer that serves managed instances groups that have autoscaling enabled.
- An HTTP load balancer can serve instance groups in multiple regions. One of the requirements is to make the game available globally.

Use App Engine flexible environment to host the application.
- They need to use a custom Linux distro, in which case App Engine is not a valid option.

## Considering TerramEarth's requirements, what would be a suitable data warehouse solution for the company?
Use a BigQuery with table partitioning
- BigQuery is the best choice for data warehousing. Table partitioning will allow them to more easily handle the massive amount of data they will be dealing with by breaking it up into days.

Use Cloud Spanner
- Cloud Spanner is not as good of a data warehousing solution compared to BigQuery.

## Which of these compute services could be migrated to GCP "as-is", and still be optimized for a cloud environment?
Security monitors, bastion hosts, and Jenkins deployed to Compute Engine instances
- These services have no managed service equivalents, therefore Compute Engine instances are the most optimized route.

Tomcat servers deployed to an App Engine application
- This is not an example of deploying "as is".

728x90
반응형
반응형

드디어 다 읽게 된 3번째 책.

사피엔스

책을 골랐을때에 솔직히 이렇게 두꺼운 책인줄 모르고 골랐다. 도서관에서 빌려보니 왠걸? 거의 600페이지가 되는 책이었다. 그래서 결국은 책을 다 읽기 위해서 오랜만에 구매를 했다. 

 

사피엔스, 대체 무슨 내용이지

내가 지금 까지 알고 있는 사피엔스라는 단어는 학교다닐때 들었던 호모 사피엔스이다. 

이 책의 사피엔스 또한 그 사피엔스를 언급하는 단어가 맞다. 

그 사피엔스가 어떻게 과거를 거쳐서 현재에 왔는지 정말 다양하고 폭넓은 방향으로 설명을 하고 있다. 

내용이 정말 다양하고 풍부해서 중간중간 읽으면서 인상깊었던 대목 위주로 글을 써보려 한다.

 

사피엔스가 사회를 구성 할 수 있게 만들었던 허구, 그리고 협력

우리 인류가 이렇게 발전하기 전까지 호모 사피엔스 이외에 다른 종들도 있었다. 하지만 지금의 우리가 있을 수 있었던 것, 우리가 이렇게 사회를 구성하고 발전하게 만들 수 있었던 원동력은 허구라는 믿음이 있었기 때문이다. 소규모의 집단이 대규모의 집단으로 커지면서 공통된 무엇인가가 필요했다. 그래서 신화와 같은 허구를 통해 하나로 뭉칠수 있었다. 그리고 협력이라는 상호 작용을 통해서 집단이 커졌을 때에 발생할 수 있던 상황들을 슬기롭게 해결해 나갈수 있었다. 그렇지 않은 집단은 결국 도태되고 또는 사피엔스에 의해서 멸망을 하게 되었다. 

 

농업 혁명은 축복이 맞는걸까?

인류는 농업혁명을 통해서 많은 발전을 이루었다고 역사교과서를 통해서 배웠었다. 하지만 이 책에서는 그 농업 혁명이 과연  좋은 방향으로의 발전을 이끌어냈나 라는 의문을 던진다.

농업혁명을 시작으로 인류는 이동, 수렵 생활을 마무리 하고 특정 지역에 계속해서 거주하기 시작한다. 이건 분명 기존에 짐승을 사냥하고 열매를 채집하면서 이동하던 생활과는 확연히 다른 생활 모습이었다. 곡식을 기르면서 점점 생산량은 늘어갔다. 그런데 문제는 여기에서 발생한다, 

과연 전보다 삶은 나아졌을까??

좀더 많은 곡식을 얻기 위해서 사람들은 밤낮으로 일을 했다. 그냥 많이 하는것만으로는 충분치 않다. 키우는 곡식들이 잘 자랄 수 있도록 신경 써야 할게 한두개가 아니다. 좀더 많은 노동력이 필요했다. 이걸 수렵, 채집하던 때의 삶보다 나아진 삶이라고 말할 수 있을지 의문인 것이다. 인류가 곡식을 키우기 시작한것인지 아니면 곡식이 인류에게 자신을 돌보게 만든것인지 아리송 해진다. 

 

지금을 살고 있는 우리의 삶도 마찬가지이다.

하루하루가 급변하는 세상속에서 살아가고있는 우리는 매일매일 편안함을 추구한다. 좀더 쉽게, 좀더 편하게. 이런 생각들이 수많은 기기들을 개발하게 만들었다. 가장 간단한 예로 스마트폰을 들수 있다. 스마트폰이 없었던 옛날에는 어떻게 살수가 있었는지 의문이 들 정도로 지금은 항상 사람과 붙어있는 전자 기기이다. 쉽게 이메일을 보내고 인터넷 서핑을 할수 있어서 잠시라도 손에서 놓지 않는 스마트폰.  하지만 반대로 말하면 스마트폰이 없으면 정말 불편한 세상이 되었다. 아무것도 할수가 없다. 전에는 지도를 보고 여행을 떠났지만 이제는 네비게이션 없이는 갈 수가 없게되었다. 

인류가 발전을 한 건지 퇴화를 한 건지 지금은 판단을 할 수가 없지만 수 천년 후에 인류는 지금의 역사를 어떻게 판단을 할지 궁금해진다.

 

언제부터인가 나눠진 남성성과 여성성

남녀의 구분은 언제부터 시작이 되었을까. 남자이기 때문에 혹은 여자이기 때문에 구분되어져야 한다는 생물학 적 근거는 없다. 사회의 문화적 규범들이 작은것 부터 하나식 쌓아지다 보니 그러한 현상이 나타나게 된것이다. 그저 시작이 정확히 언제인지도 모를 그런 규범들이 지금까지 이어저 내려와 편을 가르고 있다는 점이 안타까울 뿐이다.

 

문화재, 역사의 산물? 그리고 지배의 표시??

문화적 유산이라는 것은 어떻게 생각을 해야 되는 것일까. 

문화적 유산 자체가 누군가에게는 흥미를 이끌수 있는 관광지일수 있다. 하지만 다른 누군가에게는 지배를 받은 치욕의 상징일 수 있다. 평화롭게 살고 있는 그 땅의 주인들을 몰아내고 새롭게 세워 올린 모습들이 지금은 문화 유산으로 여겨진다는것은 어떻게 생각을 해야 할까. 유명 관광지, 오래된 문화유산이라고 하기에는 고려해야 될게 생각보다 많다. 

우리 나라도 마찬가지이다. 조금만 살펴보면 여기 저기에서 일제가 뿌린 잔재들이 튀어 나온다. 우리가 무엇인가 바꿀수 없는 위치에 있다면 최소한 그에 대한 역사가 있는 지 정도는 잊지 말아야 하지 않을까 생각한다.

 

정말 읽어볼만한 책

위에 쓴 내용들 뿐만 아니라 다른 흥미 있는 내용들이 정말 많았다. 그리고 이렇게 긴 책을 읽었다는데에 뿌듯함이 느껴진다. ^^;;

그리고 아직 읽지 않은 분들에게는 한번 읽어보라고 추천하고 싶다.

 

728x90
반응형
반응형

https://www.udemy.com/course/google-cloud-platform-cloud-architect-practice-questions-v2-c/learn/quiz/4398518/result/276974380#overview

 

# Udemy 오답 및 참고 사항

- What is the best use case for Direct Peering
Customer wants to exchange only GCP data not google other data.

- Company Moving into Google Cloud Platform needs to migrate relational database to google cloud, What option do they have as managed service?
MySQL

- Please refer to TerramEarth Case Study to answer the following question. How TerramEarth can help their customers using analytics?
Take data to Machine Learning and use predictive analysis to understand faults

- Google Cloud Interconnect
Used with partner if Google POP is not available
Interconnect reduce egress traffic cost
Its high speed, Reliable, Low latency network

- valid custom Machine type in GCE
32 vCPU & 30 GB RAM
1 vCPU & 1 GB RAM
2 vCPU & 1.8 GB RAM
32 vCPU & 29 GB RAM
X 3vCPU & 3 GB RAM 
X 0.6vCPU & 1 GB RAM 
X 1vCPU & 0.9 GB RAM 

- Cloud VPN is a regional service
False

- Not valid predefined Virtual Machine
High CPU and Memory
O Standard
O High CPU
O High Memory
O Shared Core# Udemy 오답 및 참고 사항

- What is the best use case for Direct Peering
Customer wants to exchange only GCP data not google other data.

- Company Moving into Google Cloud Platform needs to migrate relational database to google cloud, What option do they have as managed service?
MySQL

- Please refer to TerramEarth Case Study to answer the following question. How TerramEarth can help their customers using analytics?
Take data to Machine Learning and use predictive analysis to understand faults

- Google Cloud Interconnect
Used with partner if Google POP is not available
Interconnect reduce egress traffic cost
Its high speed, Reliable, Low latency network

- valid custom Machine type in GCE
32 vCPU & 30 GB RAM
1 vCPU & 1 GB RAM
2 vCPU & 1.8 GB RAM
32 vCPU & 29 GB RAM
X 3vCPU & 3 GB RAM 
X 0.6vCPU & 1 GB RAM 
X 1vCPU & 0.9 GB RAM 

- Cloud VPN is a regional service
False

- Not valid predefined Virtual Machine
High CPU and Memory
O Standard
O High CPU
O High Memory
O Shared Core


----------------------------------------------------

- GAE has all the following features except for one
X DNS service
Traffic Splitting
Standard and Flexible env
Monitoring, Logging, Error Reporting
application Versioning

- Please refer to Mountkirk Games Case Study to answer the following question. The company has decided to use streaming solution to store analytics data in datawarehouse, What is appropriate solution to take streaming data as well as batch data onto data warehouse in Google Cloud Platform?
Cloud DataFlow

- Stackdriver monitoring can do all of the following except one
X Error Reporting
O Alerts, Uptime, Health check, Custom Metrices

- What is read QPS provided by each cloud spanner node
10K

- You can create a maximum of 5 networks per google cloud project.
True

- What is the purpose of a Cloud Router and why does that matter?
It implements dynamic VPN that allows topology to be discovered and shared automatically, which reduces manual static route maintenance.

- Please refer to Dress4win Case Study to answer the following question. Mobile applications perform millions of requests to the backend and customers use multiple devices. Consumers are facing issues with multiple devices being synching takes time. What is the best solution you suggest for profile/data synchronization on multiple devices?
Use firebase Realtime DB

- What is best possible solution to host static web application with no infrastructure management overhead on Google Cloud Platform ?
Google Cloud storage

- What is true about Persistence Disks?
Persistence Disk supports all machine types
Max size 64TB
its Zonal resource

- Please refer to TerramEarth Case Study to answer the following question. TerramEarth equipments currently not connected to backend services needs to store the data for analytics. The company needs a scalable solution, Which of the following option can be used to store for large data without managing underline infrastructure?
Cloud storage

- What is the purpose of Virtual Private Networking (VPN)?
To enable a secure communication method (a tunner) to connect two trusted environments through an untrusted environment, such as the Interconnect

- Subnets can span across multiple regions.
False

 

- Max size of Cloud Storage Object

5TB

 

- Cloud Storage Consistency

1.  Stroing Consistency

-- Read After write Cloud Storage Object

-- 메타데이터 업데이트 후 읽기

-- Read after delete Cloud Storage Object

-- Bucket Listing

-- Object Listing

-- ACL 을 사용하여 리소스에 대한 액세스 권한 부여

 

2. Eventual Consistency

-- Revoking Access from resources

-- Cloud Identity and Access Management 를 사용하여 리소스에 대한 액세스 권한 부여

 

- The minimum storage duration for Cloud Storage Regional Storage Class

- no limit

728x90
반응형

+ Recent posts