일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- aws
- Ngrinder Docker
- aws s3
- AWS S3 계정이동
- redis cli
- 한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online
- vscode
- elastic cache
- 직장인자기계발
- nodemailer
- 패캠챌린지
- ERR unknown command 'JSON.GET'
- 직장인인강
- RedisJSON
- AWS S3 migration
- AWS S3 버킷 삭제
- ERR unknown command 'JSON.SET'
- Avast 구독취소
- Redis
- 패스트캠퍼스
- Window redis-cli
- Avast Security
- 캐시백
- 패스트캠퍼스후기
- gitlab 잔디옮기기
- 환급챌린지
- 캐시백챌린지
- redis-cli
- 잔디이전
- putty Inactive
- Today
- Total
Developing
패스트캠퍼스 캐시백 챌린지 2일차 본문
마찬가지로 기존에 들었던 강의 2개 복습 및 블로깅 + 새로운 강의 1개를 듣는 식으로 챌린지를 진행하였다.
Devops의 업무도메인과 Devops의 핵심지표들을 알 수 있었으며,
Developer Roadmap에서 Devops Engineer의 Roadmap을 같이 보면서 핵심영량들의 Skill Set을 확인하였다.
그 외에 devops engineer로 Junior를 채용하는 것에 대한 생각을 말씀해주셔서 크게 와닿았던 것 같다.
Devops vs DevOps 엔지니어
- 데브옵스 엔지니어는 조직에 데브옵스 문화를 정착시키는데 도움을 주는 역할이다.
⇒ 개발자가 개발 뿐만 아니라 운영에도 참여할 수 있는 환경을 만들어준다.
- 개발자가 테스트,빌드,관측을 하려면 환경을 구축해야하는데 이에 시간을 투자하는 것은 비지니스 관점으로 손실이다.
⇒ 운영을 필요로하는 환경들에 대해 구축하고 운영하는 작업을 해주는 것이 devops
- devops팀의 주요 고객은 개발자이다.
⇒ 데브옵스 팀에서 구축하고 운영하는 많은 시스템들의 주 사용자가 개발자이기 때문
Devops 팀의 업무 도메인
- 네트워크(Network)
⇒ 가상 네트워크 및 물리 네트워크 구성
⇒ 프록시 / VPN 서버 운영
⇒ DNS 서버 운영
- 개발 및 배포 플랫폼(Development & Deployment Platform)
⇒ GlitLab / GitHub 같은 버전관리 및 개발 협업 플랫폼 운영
⇒ CI / CD 파이프라인 시스템 구축 및 운영
⇒ QA 테스트 및 성능 테스트를 위한 환경 제공
⇒ 패키지 저장소 운영 및 배포 산출물 관리
- 오케스트레이션 플렛폼(Orchestration Platform)
⇒ 쿠버네티스 / ECS / Nomad같은 오케스트레이션 시스템 구축 및 운영
⇒ Airflow / Argo Workflows와 같은 워크플로우 엔진 구축 및 운영
- 관측 플랫폼(Observability Platform)
⇒ 로그 / 메트릭 / 업타임 / APM 정보를 관측할 수 있는 중앙화된 시스템 구축 및 운영
⇒ 주요 이벤트에 대한 알림 시스템 구축
- 클라우드 플랫폼(Cloud Platform)
⇒ 개발자들이 활용할 수 있도록 클라우드 환경 운영(자체 클라우드, 퍼블릭 클라우드 등)
- 보안 플랫폼(Security Platform)
⇒ LDAP / AD / SAML등을 활용하여 통합된 임직원 계정계 운영
(하나의 계정으로 여러 사내 시스템 접근권한 관리)
⇒ 서버 및 데이터베이스 접근제어 시스템 구축 및 운영
(서버 ssh 접근의 경우 개별 사용자 인증, 개별 사용자 활동 추적등)
⇒ 네트워크 방화벽 정책 관리
- 데이터 플랫폼(Data Platform)
⇒ Mysql / DynamoDB / Redis와 같은 데이터베이스 구축 및 운영
⇒ RabbitMQ / Kafka / SQS 같은 메시징 서비스 구축 및 운영
⇒ 데이터 웨어하우스 / BI 대시보드 구축 및 운영
- 서비스 운영(Service Operations)
⇒ 개발자들과 협업하여 서비스 공동 운영
단, 팀 구성에 따라 보안 플랫폼 업무는 보안팀으로, 데이터 플랫폼 업무는 DBA나 Data Scientist로 , 네트워크 업무도 Network Engineer , System Engineer로 업무도메인이 넘어갈 수 있다.
Devops 팀의 핵심 지표
- 장애복구 시간: MTTR (Mean time to Recover)
⇒ 얼마나 빠르게 장애 상황에서 복구할 수 있는가?
(오래걸리는 경우 인프라 자동화 덜 되있거나 , 배포 파이프라인 자체의 최적화가 필요)
- 변경으로 인한 결함률(Change Failure Rate)
⇒ 얼마나 자주 변경 사항으로 인하여 장애가 발생하는가?
(Test 진행되는 과정이 잘못된 것을 알려주는 지표)
- 배포 빈도(Deployment Frequency)
⇒ 배포를 얼마나 자주하는가?
(조직내의 문화적/시스템적 차원의 문제 : 제품배포에 대한 두려움, 장애가 발생하더라도 빠르게 문제상황을 해결하는 인식의 변화 필요, 시스템 자체가 거대한 경우 빌드/테스트 시간이 오래걸려 msa체계로 운영검토 등)
- 변경 적용 소요 시간 (Lead Time for Changes)
⇒ 변경사항에 프로덕션 배포에 걸리는 소요 시간은 얼마인가?
(빌드/테스트 되는 시간 오래걸리는지 알 수 있는 지표)
데브옵스 엔지니어 로드맵
- roadmap 작성자는 programming language로 go 추천
⇒ 강사님도 go,python,node js , 그 외 필수적으로 shell script 추천
- 운영체제쪽은 필수 , 컨테이너 도입하지 않은 곳은 systemd나 initd도 알아두면 좋음
- Server관련
⇒ Linux 배포판 Debian,Rhel 위주 사용,
⇒ 패키지 매니저 관리방법 차이점정도 알고있으면됨 ( Debian계열 : apk , RHEL : yum)
⇒ roadmap 작성자가 Unix 쪽의 freebsd추천하는데 실무에서는 그렇게 사용하지 않음
⇒ Terminal 관련해서 Bash script 필수
⇒ terminal 상에서 사용하는 editor vim/Nano/Powershell/Emacs 중 하나정도는 익혀두기
⇒ text Manipulation tools 익혀두기
⇒Process Monitoring, Network, System Performance 등의 도구들도 업무 효율성 올려줌
⇒ terminal 에서 여러 session 작업하는 경우 tmux 추천
- Network 관련
⇒ http protocol 필수 , tls적용시 https protocol도 사용
⇒ 파일전송 ftp protocol
⇒ 서버접근 ssh 프로토콜 사용
⇒ ssl / tls 암호화 이해 필요
⇒ 방화벽 정책 등의 이유로 접근하지 못하는 Server에 접근하기 위해 Port Forwarding 같은 개념 사용
- Reverse Proxy , Cashing Server , Forawrd Proxy , Load Blancer , Firewall 꼭 알아야함
- Web server 관련
⇒ Nginx 많이 사용 , java공화국이기에 tomcat도 익혀두면 좋음 , Envoy도 익혀두면 좋음
- Infrastructure as Code 관련
⇒ Jenkins가 오래전부터 활용해왔기에 사용법 알아두면 좋음
⇒ 모던화된 IT기업은 Container Native 하게 나온 CI CD tool 사용법 알아두는게 좋음
⇒ Circle CI : 금적적으로 여유가 안되는 스타트업 주로 사용
⇒ Container로는 Docker , 설정관리로는 Ansible, Orchestration은 k8s..
⇒ Terraform : Cloud Provider에 종속되지 않게 여러 Provider에 대해 코드로 API 리소스 관리
- Monitor 관련
⇒ log 관리는 Elastic Stack 많이 사용.. (Elastic사의 모든 솔루션을 아우르는말)
⇒ 요근래에 Elastic이 Application Monitoring, Infrastructure Monitoring 까지 커버 가능
⇒ 돈이 넘치면 Datadog , opensource로 구축하여 비용감축하고싶으면 prometheus,grafana사용
- Cloud Provider
⇒ aws 하나 잘 배우면 gcp,azure도 어느정도 일치하는 내용 많음
Devops Engineer 신입이 가능한가?
- 보통 System Engineer , Backend Engineer , Data Platform Engineer 쪽에서 커리어 전환 하는 경우 많음
- 주니어를 뽑는것이 굉장히 도전적인 것이긴함. Application 어떻게 설계,배포,테스트,운영되는지 전반적인 이해 , 운영하면서 시스템 동작 이슈해결 시스템 운영 지식 필요..
⇒ 이거 다하면 됨.. 불가능은 없지만 어려움
문제를 대하는 자세
- 장애가 발생하면 근본 원인(Root Cause)를 찾고 장애 기록(Post-mortem)을 남기는 습관을 기르자.
⇒ 무지성으로 용량 부족해서 볼륨 확장하고 끝내지 말자..
- 조직에서 깊게 공부해 볼 문제 혹은 기술을 선택하여 시간 투자를 해보자
⇒ 조직내의 모든 문제를 깊이 있게 다루면 업무 처리 시간이 늦어진다.
⇒ 해결방법을 대충 stackoverflow에 검색해 해결하고 처리하면 이직하고 남는게 없음..
⇒ 이직을 하거든 깊이 다루어본 기술로 신뢰를 얻고 새로운 문제에 도전하기
- 모르는 것에 솔직해지고 동료에게 도움을 구하자
⇒ 장애사고 10분만에 해결할 것도 2시간 걸릴 수 있음..
- 정말 잘하고 싶다면 영어는 필수다.
⇒ 공식 문서 읽는 습관, 이슈가 생긴다면 github,stackoverflow 질문하고 답변할 수 있는 능력으로 성장하기
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'Devops > Fastcampus 캐시백 챌린지' 카테고리의 다른 글
패스트캠퍼스 캐시백 챌린지 6일차 (0) | 2022.04.23 |
---|---|
패스트캠퍼스 캐시백 챌린지 5일차 (0) | 2022.04.22 |
패스트캠퍼스 캐시백 챌린지 4일차 (0) | 2022.04.21 |
패스트캠퍼스 캐시백 챌린지 3일차 (0) | 2022.04.20 |
패스트캠퍼스 캐시백 챌린지 1일차 (0) | 2022.04.18 |