다섯 번째 출근날 ! 오늘은 개발팀의 개발 및 협업 Tool 에 대한 교육을 받았습니다.
어제 주셨던 AWS 구성도 그려오기 과제도 확인하는 시간을 가졌는데요! 평가의 시간보다는 해당 구성도를 바탕으로 인프라와 관련된 내용을 추가해주는 방식이었습니다. (*ˊᵕˋ*)ノ
다음 주에는 프론트엔드 직무로 개발자 한 분이 신입으로 오시는데, 이와 관련해서 프론트엔드 개발자님과 리드 개발자님도 같이 교육 OT 에 참관하셨습니다. 다음 주에 새로운 분이 오신다니 동기가 한 분 더 생기는 기분이네요 ㅎㅎ!
▶ 전체적인 스케쥴
- 캔틴 구경, 물 떠오기 + AWS 책 읽기 - 0.5h
- 개발 스크럼 회의 참관 - 0.5h
- 주요 안건 : 릴리즈 트래픽 문제 (캐시), 시스템 점검에 대한 니즈, 주간 회의
- [과제] 유튜브 서비스를 만든다면 AWS 를 어떻게 구성할 것인가 ⇒ 구성도 그리기 - 0.5h
- 큰 틀은 ‘배워서 바로 쓰는 14가지 AWS 구축 패턴' 책 참고 + 구글링하며 추가 보완
- 구성도 밀도 높이기 (feat. 유저 시나리오) - 2h
- CDN 내부 구조, 유저 시나리오에 따른 시스템 흐름 파악하기 등
- 점심 ⇒ 동기 분들과 대화 - 1h
- Back-end OT (feat. 부장님) - 2h
- [오후 3시~] OT 내용 정리 - 2h
- To do 는 동기 분들에게도 공유
▶ 그려본 AWS 구성도 (if 유튜브같은 동영상 서비스를 만들어본다면?)
=> 종이에다 그려서 월요일에 다시 발표하기로 함. 이미지 파일로 만들어서 오기!
▶ To do list
- AWS 구성도 - 클라우드에 종속(Lock in)되지 않는 방향으로도 그려보라.
- [ex] AWS CloudFront ⇒ CDN 으로 표기
- IDE - Vi 에디터 사용해보기
- 터미널 상, OS 상에서 코드 수정 시 활용하는 경우가 있다.
- 기본적인 단축키를 숙지해놓으면 빠르게 수정해야 하는 경우 편리하다.
- IDE - 플러그인 맞추기 (조언)
- 동기 간 서로 Pycharm 플러그인을 맞춰두면 코드 리뷰하거나 서로 피드백할 때 편리할 것.
- IDE 를 계속 켜 놓으면 프로그램이 무거워 메모리를 조금씩 잡아먹는다. 중간에 종료해주면 느려지는 걸 방지할 수 있다.
- Git - 명령어 파악하기
- 브런치 관리, 병합 등 Git 에 있는 다양한 코멘드들을 숙지하고 있어야 한다.
- Git Client - 여러 개 중 하나 선택해서 익숙해지기
- 자신에게 맞는 것을 하나 선택해서 잘 사용하면 된다. 정해놓은 것은 없다.
- 코드리뷰 - GitHub 에서 비대면으로 진행
- 대면으로 하면 전날부터 분위기가 안 좋아진다.
- 동료 코드에 칭찬을 많이 해주는 것도 중요 포인트.
- 문서화 - 컨플루언스(위키), Notion
- 개발자에게 있어 문서화 능력도 중요!
- 한 번 들어가서 자신만의 문서를 작성해보라. 자유롭게 작성하면 된다. 정해진 규격 없음.
- 문서화하는 능력은 꾸준히 연습해놓으면 좋다.
- ITS (이슈 추적 시스템) - Jira 기능 확인하기
- 다른 회사에서는 레드마인(오픈소스)도 많이 활용한다. Jira 가 비싸긴 하다.
- 배포 Tool - Jenkins. CI/CD 개념 이해하기
- 간단히 말하면 ‘무중단 배포'를 하는 것. (전략적인 배포)
# 숙제
- Docker 개념 이해하기
- 도커가 무엇인지. 어떤 구조인지.
- VM 과의 차이점은 무엇인지.
- 사용법 X. 전체적인 맥락에서 Docker 이해해오기.
- ⇒ 잘 모른다면 기본 개념 조사해보기.
► 인프라 OT 과제 피드백 + 추가 설명
- 클라우드 종속적으로 구성도를 그려왔다. 락인되지 않도록 구성도를 그려보라.
- [ex] AWS Cloud Front ⇒ CDN (Contents Delivery Network)
- [ex] AWS Route 54 ⇒ DNS 서비스
- AWS S3 는 오브젝트 스토리지?
- 그럼 오브젝트 스토리지가 무엇인가
- 그 반대인 블록 스토리지가 무엇인가
- AWS Elastic BeanStalk
- 서버 개념보다는 PaaS 에 가깝다. (Platform-as-a-service)
- 환경을 만들어주는 것.
- 로드 밸런서 등을 클릭으로 쉽게 만들 수 있다.
- 즉, 환경 세팅을 자동화해주는 개념.
- CDN (Contents Delivery Network)
- 비용 절감의 목적으로 사용하는 것은 아니다.
- 데이터 전달 속도를 지역 별로 보장해주기 위해 사용하는 것.
- Database - Master/Standby
- Fail Over 를 방지하기 위한 대처 방식.
- 이런 목적 말고도 데이터베이스를 이중화하는 경우가 있다.
- 데이터베이스의 부하를 줄이기 위해 복제본을 만드는 경우.
- Elastic Load Balancer
- L2, L4, L7 ⇒ OS 7계층과 관련된 내용이다.
- 추가 공부 필요.
► 개발 및 협업 Tool 설명 ⇒ 이 부분은 To do list 로 대체
► 추가 공부가 필요한 부분
- CDN (Contents Delivery Network) ?
- [궁금증] CDN 은 웹 서버인가요?
- CDN 은 말 그대로 Network. 서버가 아니라 환경을 말하는 것이다.
- 중국은 해외망을 막아놔서 CDN 을 사용할 수 없다.
- 중국 내 회사가 있어야 정부에 허가 요청 가능 ⇒ 1달 이내로 허가받으려면 뇌물 필요.
⇒ 니콜라스 유튜브 채널을 정주행하며 기초를 쌓자...!
- 쿠버네티스 ?
- 컨테이너화된 애플리케이션을 효율적로 배포하고 운영하기 위해 설계된 오픈 소스 플랫폼.
- 구글의 사내 운영 시스템인 Borg를 오픈 소스로 만든 것이다.
'Learn > Company' 카테고리의 다른 글
[TIL #5] Front-end 신입 분 오신 날! (0) | 2022.02.14 |
---|---|
[TIL #3] 네 번째 출근날, 인프라 OT 및 기능 테스트 (0) | 2022.02.12 |
[TIL #2] 세 번째 출근, DB 학습 과제 (0) | 2022.02.10 |
[TIL #1] 출근 2일차, Back-end OT (0) | 2022.02.09 |
[TIL #0] 첫 출근, 스크럼 회의 (0) | 2022.02.08 |