DevOps Engineer Roles and Responsibilities

DevOps Engineerκ°€ κ°–μΆ”μ–΄μ•Όν•  μ² ν•™κ³Ό κΈ°μˆ μ— λŒ€ν•˜μ—¬ μ•Œμ•„λ³΄μ•„μš”

Reference: [μΈν”„λŸ°] DevOps : Infrastructure as Code with Terraform and AWS κ°•μ’Œ by μ†‘μ£Όμ˜λ‹˜

DevOps μ—”μ§€λ‹ˆμ–΄λž€?

  • μ˜¬λ°”λ₯Έ DevOps λ¬Έν™”λ₯Ό μœ„ν•΄

    • service ν˜Ήμ€ S/W LifeCycleμ—μ„œ 반볡적인 일듀을 μžλ™ν™”ν•˜κ³ ,

    • 기술적 문제 ν˜Ήμ€ νŒ€μ˜ 차이λ₯Ό 기술적으둜 μ˜ˆλ°©ν•˜κ³ , ν•΄μ†Œμ‹œν‚€λŠ” 것을 λ‹΄λ‹Ήν•˜λŠ” μ‚¬λžŒ

  • DevOps Engineering에 κ΄€λ ¨λœ κ³΅ν†΅λœ κΈ°μˆ λ“€μ„ λ‹€μ–‘ν•œ 곳에 μ ‘λͺ©ν•˜λŠ” 역할을 ν•˜λŠ” μ‚¬λžŒ

DevOps Engineer의 μš”κ΅¬ μŠ€ν‚¬

Soft skill

  • 문제 인식

    • λ¬Έμ œκ°€ 무엇이 μžˆλŠ”μ§€,

    • μ •ν™•ν•œ 원인이 무엇인지 νŒŒμ•…ν•΄μ•Ό ν•œλ‹€

  • 선택과 집쀑

    • 문제λ₯Ό μ ν•©ν•œ 방법을 톡해 ν•΄κ²°ν•˜κ³ ,

    • ν•΄κ²°μ˜ μš°μ„ μˆœμœ„λ₯Ό μ˜¬λ°”λ₯΄κ²Œ μ„€μ •ν•œλ‹€

  • κ²°μ •

    • μˆ˜λ§Žμ€ 선택지에 λŒ€ν•΄μ„œ, 좔츑이 μ•„λ‹Œ 확신을 κ°€μ§€κ³  λΉ λ₯΄κ²Œ κ²°μ •ν•΄μ•Ό ν•œλ‹€

      • κ²°μ •μ—λŠ” κΈ°λ°˜μžλ£Œκ°€ μžˆμ–΄μ•Ό ν•œλ‹€

  • μ—…μ˜ 속성

    • μ œκ³΅ν•˜λŠ” μ„œλΉ„μŠ€μ˜ 본질과 κ°€μΉ˜λ₯Ό 이해해야 ν•œλ‹€

  • μ‚¬μš©μž

    • μ‚¬μš©μžλ₯Ό μ΄ν•΄ν•˜κ³ ,

    • μš”κ΅¬μ‚¬ν•­μ— λŒ€ν•΄μ„œ λΉ λ₯΄κ²Œ ν”Όλ“œλ°± ν•΄μ•Όν•œλ‹€

      • λΉ λ₯Έ ν”Όλ“œλ°±κ³Ό 적용이 ν•„μš”ν•˜λ‹€

Technical Skill

  • ν”„λ‘œκ·Έλž˜λ°

    • Go, Python λ“± λŠ₯μˆ™ν•˜κ²Œ λ‹€λ₯Ό 수 μžˆλŠ” μ–Έμ–΄λŠ” 큰 강점이 λœλ‹€

      • ex) Go, Python, Node.js λ“±

        • μ•„μ‹Έ Python!

  • 운영체제

    • Linux와 같은 운영체제λ₯Ό λŠ₯μˆ™ν•˜κ²Œ λ‹€λ£¨λŠ” 것과 κ°œλ…μ„ λ°˜λ“œμ‹œ μ•Œμ•„μ•Ό ν•œλ‹€

      • ex) Shell, OS metrics, File system, 7 layers λ“±

  • μ„œλ²„ 관리

    • μ„œλ²„λ₯Ό κ΄€λ¦¬ν•˜λŠ” κΈ°μˆ˜λ‘œκ°€ 운영 지식을 톡해 μ‹ λ’°ν•  수 μžˆλŠ” μ„œλΉ„μŠ€λ₯Ό ꡬ좕해야 ν•œλ‹€

      • ex) IaC, Ci/CD, API, κ°€μš©μ„±, μ„±λŠ₯ λ“±

  • μ˜€ν”ˆμ†ŒμŠ€

    • 인프라λ₯Ό μ΄λ£¨λŠ” S/W 듀을 μ΄ν•΄ν•˜κ³ , μžλ™ν™” 도ꡬλ₯Ό λ‹€λ£° 수 μžˆμ–΄μ•Ό ν•œλ‹€

      • ex) nginx, Tomcat, MySQL, Redis, Ansible, Terraform λ“±

  • ν΄λΌμš°λ“œ

    • Public Cloudλ₯Ό λŠ₯μˆ™ν•˜κ²Œ 닀루고, 직접 ꡬ좕 및 섀계λ₯Ό ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€

      • ex) AWS, Azure, GCP, Alibaba λ“±

Infrastructure as Code, μ½”λ“œλ‘œμ¨μ˜ 인프라

  • 인프라λ₯Ό μ΄λ£¨λŠ” server, middleware, service λ“± 인프라 κ΅¬μ„±μš”μ†Œλ“€μ„ codeλ₯Ό 톡해 κ΅¬μΆ•ν•˜λŠ” 것

    • IaCλŠ” μ½”λ“œλ‘œμ¨μ˜ μž₯점

      • μž‘μ„± μš©μ΄μ„±

      • μž¬μ‚¬μš©μ„±

      • μœ μ§€λ³΄μˆ˜

      • λ¬Έμ„œν™” λ“±μ˜ μž₯점을 κ°€μ§„λ‹€

IaC 도ꡬ Terraform

  • Terraform은 인프라λ₯Ό λ§Œλ“€κ³ , λ³€κ²½ν•˜κ³ , κΈ°λ‘ν•˜λŠ” IaCλ₯Ό μœ„ν•΄ λ§Œλ“€μ–΄μ§„ λ„κ΅¬λ‘œμ¨,

    • 문법이 μ‰¬μ›Œ 비ꡐ적 닀루기 쉽고

    • μ‚¬μš©μžκ°€ 맀우 λ§Žμ•„ μ°Έκ³ ν•  수 μžˆλŠ” μ˜ˆμ œκ°€ λ§Žλ‹€

  • AWS, Azure, GCP 같은 Public Cloud 뿐만이 μ•„λ‹ˆλΌ λ‹€μ–‘ν•œ μ„œλΉ„μŠ€λ₯Ό μ§€μ›ν•œλ‹€

DevOps μ—”μ§€λ‹ˆμ–΄μ˜ 덕λͺ©

  • μ΅œλŒ€ν•œ 상황에 λŒ€ν•œ λ§Žμ€ 경우의 수λ₯Ό 생각해야 ν•œλ‹€

    • κ·Έ 이후 μ½”λ“œμ— λ°˜μ˜ν•˜κ³  μ‹€ν–‰μ‹œμ—λŠ” 둜그둜 남기고 λͺ¨λ‹ˆν„°λ§μ„ κΎΈμ€€νžˆ 길게 ν•΄μ•Όν•œλ‹€

  • μ½”λ“œ μ‹€ν–‰ 쀑 μ΅œλŒ€ν•œ μ—¬λŸ¬λ²ˆ 점검이 λ˜μ–΄ 쑰건이 λ‹€ μΌμΉ˜ν–ˆμ„ λ•Œ μ‹€μ œλ‘œ 싀행이 λ˜λ„λ‘ μ½”λ“œλ₯Ό μ§œλŠ” 것도 μ€‘μš”ν•˜λ‹€

  • ν…ŒμŠ€νŠΈ ν™˜κ²½μ„ μ œλŒ€λ‘œ ꡬ좕해야 ν•œλ‹€

  • 데브옡슀 μ—”μ§€λ‹ˆμ–΄κ°€ 되렀면 νŠΉμ • μ œν’ˆμ΄λ‚˜ κΈ°μˆ μ„ μ•„λŠ” κ²ƒμœΌλ‘œλŠ” λΆ€μ‘±ν•˜λ‹€

    • μ œν’ˆκ³Ό κΈ°μˆ μ€ μ‚°μ—…μ˜ λ°œμ „μ— 따라 항상 바뀐닀

  • 데브옡슀 μ² ν•™κ³Ό 기반 라이프사이클에 λŒ€ν•œ 이해도 μ€‘μš”ν•˜λ‹€

    • λ”°λΌμ„œ 데브옡슀의 핡심인 지속적 배포와 지속적 톡합 ν”„λ‘œμ„ΈμŠ€(CI/CD), 그리고 여기에 μˆ˜λ°˜λ˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄ ν…ŒμŠ€νŠΈλ₯Ό 이해해야 ν•œλ‹€!

DevOps μ—”μ§€λ‹ˆμ–΄ μŠ€ν‚¬

  • 기초 : λ¦¬λˆ…μŠ€ 관리, 파이썬, AWS λ˜λŠ” λ‹€λ₯Έ ν΄λΌμš°λ“œ ν”Œλž«νΌ

  • ꡬ성 : ν…ŒλΌνΌ(Terraform) λ˜λŠ” μ•€μ„œλΈ”(Ansible)

  • 버전 관리 : κΉƒ(Git)κ³Ό κΉƒν—ˆλΈŒ(GitHub)

  • νŒ¨ν‚€μ§• : 도컀(Docker)

  • 배포 : μ  ν‚¨μŠ€(Jenkins)

  • μ‹€ν–‰ : μ•„λ§ˆμ‘΄ ECS와 μΏ λ²„λ„€ν‹°μŠ€

  • λͺ¨λ‹ˆν„°λ§ : ELK μŠ€νƒ

DevOps 개발자 λ‘œλ“œλ§΅ - 2020

img

Last updated

Was this helpful?