본문 바로가기
프로그래밍/리눅스

프로그래밍 「 리눅스 편」DevOps 및 SRE: "파악"해야 하는 도구 및 기술

by grapedoukan 2023. 6. 15.
728x90
님이 촬영 한 사진 루카스 on Unsplash

안녕하세요, 저는 Linux 시스템 및 보안, 애플리케이션 개발 및 클라우드 네이티브 원칙에 대한 전문 지식을 갖춘 열정적인 DevOps 엔지니어인 Saman입니다. 제 프로세스를 문서화하고, 지식을 공유하고, 다른 사람들로부터 배우기 위해 이곳에 오게 되어 기쁩니다.

DevOps는 소프트웨어 개발의 세계에 혁명을 일으켜 새로운 표준을 설정하고 구현을 가능하게 하는 도구의 지속적인 발전을 추진했습니다. 이는 우리가 소프트웨어를 구축, 배포 및 관리하는 방식을 변화시켜 전체 프로세스를 보다 효율적이고 협업적이며 민첩하게 만듭니다(Exciting).

데브옵스

믿거나 말거나, DevOps 직책이 아닙니다. 이는 전통적인 소프트웨어 개발에서 우리가 가졌던 것과는 다른 문화적 변화입니다. 개발자 운영 팀의 책임을 공유하여 소프트웨어 개발 수명 주기를 촉진하고 직접 협업하고 의사 소통하도록 하는 것을 목표로 하는 일련의 관행입니다. 같은 목표가 있다면 같은 팀에서 함께 일해야 합니다.

그러나 그것은 이야기의 절반에 불과합니다. 나머지 절반은 이를 가능하게 하는 도구에 관한 것이며, 이것이 이 시리즈의 주요 초점입니다.

이 기사 시리즈에서는 제가 매일 사용하는 광범위한 도구와 기술에 대한 실용적인 통찰력을 공유할 것입니다. Linux에서 클라우드 및 그 이상에 이르기까지 DevOps의 다양한 환경을 함께 탐색할 것입니다.

도구 세트에 익숙해지는 것은 당신을 주니어 실무자로 만드는 것이지만, 도구를 활용하고 잠재력을 발휘할 수 있는 방법을 이해하는 것이 당신을 다음 단계로 이끄는 것입니다. 그것이 우리가 여기서 달성하고자 하는 것입니다.

소프트웨어 개발의 새로운 세계와 그 무한한 가능성을 탐험하는 이 흥미진진한 여정에 여러분을 초대합니다. 시작할 시간입니다.

이 문서에서는 다음을 다룹니다.

  • 로드맵 및 강의 계획서
  • 권장 학습 방법
  • DevOps를 사용하는 이유와 방법에 대한 간략한 설명

모든 문서에서 기본 사항에 대한 간략한 개요로 시작하겠지만 주로 기본 사항을 워크플로에 효과적으로 통합할 수 있는 방법을 보여 주는 데 중점을 둘 것입니다.

로드맵 및 강의 계획서

다음과 같은 다양한 기술과 도구를 다룹니다.

1. 리눅스 시스템

- 일반 명령(Linux 시스템을 탐색하는 방법)

- 셸 스크립팅

- 파일 시스템

- 사용자 및 권한

- 네트워킹 + '컬' 기초

- 프로세스 및 스토리지 관리

2. 버전 관리 시스템

- Git, GitHub 및 Git LFS

3. Python을 사용한 애플리케이션 개발

-파이썬

-플라스크

- Pytest를 사용한 테스트 자동화

- 아피스

- 웹 애플리케이션 보안

4. 컨테이너

-부두노동자

- 쿠버네티스

5. 지속적 통합 - 지속적 전달

- GitHub 작업

-젠킨스

6. 마이크로서비스 아키텍처

- 서비스 메시

- 서비스 디스커버리

- API 게이트웨이

7. 클라우드 솔루션 및 서비스 (AWS 및 Azure)

- 컴퓨팅 | Virtual Machines — 컨테이너

- 네트워킹 | 사설 클라우드 - 가상 네트워크 - 부하 분산 장치

- 스토리지 | 관계형 및 비관계형 데이터베이스

- IaaS, PaaS, SaaS

- IAM

8. 코드형 인프라(Infrastructure as Code)

- 테라폼

- 앤서블

- IaC 및 자동화

9. 모니터링 및 로깅

-프로메테우스

- 그라파나

- Elasticsearch

- 키바나

10. 캡스톤 프로젝트

 

# 추천 학습 방법

초보자이든 주제에 익숙하고 더 잘 이해하고 싶든 아래 학습 방법은 목표 달성에 확실히 도움이 될 것입니다.

  1. 아무 것도 시도하지 않고 기사를 한 번 읽으십시오. 그냥 읽어보세요.
  2. 몇 시간 후에 기사를 열고 화면을 분할하고 이번에는 모든 내용을 직접 수행하고 메모하십시오.
  3. 다음날 아침 아침을 먹는 동안 메모를 빠르게 검토하십시오.

축하합니다, 당신은 당신의 두뇌에 지식을 성공적으로 설치했습니다.

기억하십시오 일관성과 인내심이 중요합니다. 시간이 걸립니다!

AG & 10분 규칙

개념에 익숙하지 않은 경우 "Google 및 10 분의 적절한 읽기"를 배우는 것만으로도 충분하다는 점을 명심하십시오! 제가 배우기 시작했을 때 이 규칙을 만들었고 그 당시에는 ChatGPT가 없었지만 물론 오늘은 A GPT & 10분이라고 생각할 수 있습니다. 따라서 한두 가지 개념에 익숙하지 않다고 해서 학습을 포기하지 말고 바로 읽어보시기 바랍니다. 저를 믿으십시오,이 방법은 당신의 학습을 바꿀 것입니다.

 

DevOps를 선택해야 하는 이유와 방법

DevOps는 XP(Extreme Programming) 및 Agile 방법론에서 영감을 받은 일련의 원칙에 따라 소프트웨어 개발 세계의 새로운 표준으로 부상했습니다. 팀워크와 협업에 혁명을 일으켜 개발자와 운영의 전통적인 경계를 넘어섰습니다. 제 생각에 DevOps의 원칙은 Devs와 Ops뿐만 아니라 조직 내 다양한 부서에 적용될 수 있어 효율성과 효과성을 향상시킬 수 있습니다.

DevOps를 실행에 옮긴 것은 직무 역할에 대한 기대치와 그 과정에서 채택 및 개발된 도구를 정의하는 것이었습니다. 이러한 도구는 소프트웨어 개발을 혁신하고 운영에 혁명을 일으켰습니다. CI/CD 파이프라인 및 마이크로서비스 아키텍처 구현과 같은 사례를 통해 코드형 인프라, 컨테이너화 및 지속적인 배포에 이르기까지 다양합니다.

이러한 원칙을 성공적으로 적용하는 것은 쉬운 일이 아닙니다. 이를 위해서는 잘 구성된 팀과 협업, 자동화 및 지속적인 개선을 지원하는 DevOps 도구를 채택해야 합니다.

이 기사 시리즈에서는 DevOps 및 SRE 사례를 효과적으로 구현하는 데 필요한 필수 도구를 살펴보는 데 중점을 둡니다. 단일 소스가 모든 지식과 통찰력을 제공할 수 없기 때문에 실습을 하고 여러 소스에서 배우는 것이 필수적입니다. 구조화된 접근 방식을 따르고 이러한 도구에 대해 하나씩 학습하면 여정을 간소화하고 DevOps 사례에 대한 이해를 높일 수 있습니다.

내용이 충분히 매력적이기를 바랍니다. 이제 첫 번째 주제부터 시작하겠습니다.

728x90