와탭랩스 DevOps 이야기
송재진
목차
2
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
I. 와탭랩스 DevOps 팀
II. DevOps 는 점진적 변화
III. 와탭랩스의 점진적 변화
IV. 기술 부채 갚는 법
3
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
와탭랩스 DevOps 팀
대한민국에서 소수인 B2B SaaS 회사, 그중에서도 유일한 모니터링, 옵저버빌리티 서비스를 책임지는 팀입니다
정의
• 운영 하면서 개발도 하는 팀 X
• 개발 하면서 운영도 하는 팀 X
• DevOps 하면서 운영도 하는 팀 O
미션
• 와탭 서비스를 책임지며
고객과 구성원들이 문제를 해결하도록
돕습니다.
하는 일 장점
• Trouble Shooting, Tuning 을 참 잘합니다.
• SRE – 이슈 처리, Tuning
• CI/CD, 운영관리 도구 만들기
• 비용 관리
• 온라인 고객 지원
4
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
와탭랩스 DevOps 팀
특별히 뛰어난 사람은 없습니다. 오히려 부족합니다.
인력 부족
와탭랩스 DevOps 팀은 리더 포함 4명입니다.
작은 팀입니다.
경험 부족
팀 리더를 제외한 나머지 모두는 와탭랩스가
첫 직장입니다.
팀원들 평균 경력은 3년 미만입니다.
인력 부족의 역설 경험 부족의 역설
선입견이 없습니다.
과거의 기준으로 현재 시스템을 바라보지
않습니다.
기준 잡을 과거가 없습니다.
인력이 부족해 자동화에 집착합니다.
Chapter
5
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
DevOps 는 점진적 변화
DevOps는 Agile 한 점진적 변화입니다
6
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
DevOps 는 Agile한 점진적 변화 입니다
특정 도구, 서비스를 도입했다고 DevOps 라 할 수는 없을 것입니다.
DevOps 안티 패턴
• 이번에 대대적으로 CI/CD를 재구축했으니 DevOps?
• 제일 잘나가는 비싼 Observability 도구를 도입했으니 DevOps?
• 개발팀과 운영팀을 합쳐 DevOps 팀을 만들었으니 DevOps?
Chapter
7
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
DevOps 는 점진적 변화
점진적 변화는 거창하지 않습니다.
8
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
DevOps 를 가로막는 것
85% 가 DevOps에 장벽을 느낀다고 합니다
• 출처 : Atlassian DevOps Trends Survey 2020
9
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
DevOps 를 가로막는 것
기술 부족, 레거시 환경
기술의 부족
• 모든 개발자가 운영 기술을 갖출 수 없다
• 모든 운영자가 개발 기술을 갖출 수 없다
• 소수의 인력이라도 레거시 부터 최신
기술에 이르는 영역을 다 갖추는 것은
어렵다
레거시 환경
• 유령의 묘지
• 무언가 잘 못 될 것 같아 아무도
손대지 않은 서비스
• 장시간 변화 없이 안정적인 서비스
기술이 넘쳐나는 회사는
원래 드뭅니다
모든 레거시가
처음에는 최신 시스템
10
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
그리고 기업 문화
이건 어떻게 극복하는지 아직 잘 모르겠습니다
운 좋게도 와탭랩스는 좋은 기업문화를 가지고 있다
• 실패를 장려한다
• 책임 소재를 따지지 않는다
• 부서간 장벽이 없다
11
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
점진적 변화가 필요한 이유
“같은 강에 두 번 발을 담글 수 없다.”
→ 변하지 않는 진리 “모든 것은 변한다”
헤라클레이토스 – Bc.535 ~ Bc.457
12
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
그냥 두면 계속 복잡해 집니다
열역학 제 2 법칙(엔트로피의 법칙) – 소프트웨어는 엔트로피
애플리케이션
• 애플리케이션은 새로운 코드를 추가해
나갑니다
• 추가된 코드는 계속 배포됩니다
• 새로운 이슈는 계속 발생합니다
인프라
• 크고 작은 취약점이 매일 발견됩니다
• 기존 보다 효율적인 인프라가 계속
생깁니다
13
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
소프트웨어는 엔트로피
열역학 제 2 법칙(엔트로피의 법칙) – 소프트웨어는 엔트로피
상황
• 코드를 작성하고 인프라를 구성한 사람이 서비스 종료까지 책임지지 않습니다
• 서비스 사용자는 급증할 수도, 급감 할 수도 있습니다
• 저희 서비스든 여러분의 서비스든 시간이 지날수록 복잡도는 증가합니다
Chapter
14
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
와탭랩스의 점진적 변화
서비스 요소를 상시 업데이트합니다
5459
15
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
구성 요소를 상시 업데이트 합니다
처음 한 번은 어렵지만, 업데이트 주기를 짧게 가져간다면 쉽습니다.
Framework / Library
• SpringBoot
- 1.4 -> 2.7 (6년치, 매우 매우 어려움)
- 1.4 -> 1.5 -> 2.0 -> … -> 2.7
: 해 볼만 함
Linux 배포판 / Kernel
• Ubuntu
- 16.04 -> 22.04 (Kernel 4.10 -> 5.15)
: 멀끔히 잘 돌면 오히려 찝찝함
- 16.04 -> 18.04 -> 20.04 -> 22.04
JDK
• JVM
- Java8 -> Java17 (7년!)
클라우드 인스턴스 / 서비스
• EC2 Instance, RDS(Aurora) 등
Chapter
16
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
와탭랩스의 점진적 변화
OS의 유통기한은 5년
5459
17
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
구성 요소를 상시 업데이트 합니다
맨 처음 수년의 업데이트를 따라잡는 것이 힘든 일이기는 합니다
안티 패턴
1. 이슈가 없으면 손대지 않습니다
2. 어느 날 이슈가 찾아옵니다
3. 이슈가 식별되면 영향 범위에서 최소한의
수정을 시도 합니다
4. 수 년 간의 버전 차이를 업그레이드 시도
하는 것은 이미 대 공사일 확률이 큽니다
와탭랩스 의 절차
1. 상시 업데이트 합니다
2. 이슈 요소가 업데이트 과정에서 식별
됩니다
3. 업데이트 전/후 비교로 unknown unknowns
를 known unknowns 로 바꿉니다
18
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
구성 요소를 상시 업데이트 합니다
사례 1
Java8 Java17
19
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
구성 요소를 상시 업데이트 합니다
사례 1
Java8 Java17
20
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
구성 요소를 상시 업데이트 합니다
상시 업데이트는 Unknown Unknowns 상황을 줄이는 훌륭한 대안 입니다
Unknown unknowns
• 이 서비스 CPU 사용률은
평소 이렇지!
Known unknowns
• 어라? JDK 만 업데이트
했는데 CPU 사용량이
10% 줄었네?
Known knowns
• JDK17에서 GC
Performance 가 크게
개선되어 CPU 사용량이
줄었구나!
21
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
구성 요소를 상시 업데이트 합니다
사례 하나 더
SpringBoot 1.4 : 2Gb
SpringBoot 2.2 : 800Mb
와탭 블로그 - Java Process 메모리 추적기 - https://www.whatap.io/ko/blog/57/index.html
Framework Bug!
22
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
점진적인 변화라면 이해하며 할 수 있습니다
시간이 오래 걸리지만 참여한 구성원은 내부를 이해합니다
K8s 전환 시작
출발 – K8s 써야 편해질 것 같은데?
1. 익숙한 애플리케이션을 Containerized
2. 서비스 애플리케이션 Containerized
3. Container 에 적합하게 애플리케이션 수정
4. 소규모 리전 K8s 로 전환
5. 이후?
: VM에서 Shell 을 작성하던 일들이 K8s API 를 컨트롤하는 Python 작성으로 바뀌었습니다
3년 걸렸습니다
23
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
점진적인 변화라면 이해하며 할 수 있습니다
시간이 오래 걸리지만 참여한 구성원은 내부를 이해합니다
K8s 전환 과정에서
출발 - Containerized 하기에는 Java는 무거워!
1. 간단한 서비스는 Go나 Python 쓰자!
2. Native Java 기술을 쓰자
3. 이렇게 된 바에 Serverless로 가자
4. 이후?
: serverless 모니터링을 준비하자
1년 걸렸습니다
24
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
이해하면 새로운 시도도 합니다
사례
Golang : 4.2Mb
Java : 593Mb
Java -> Golang 전환 후 Container Image 크기 차이 - 140배
25
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
이해 해야만 할 수 있는 일이 있습니다
복잡도 줄여 나가기
-> The simple is the best
윌리엄 오컴
26
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
빠르고 과감한 폐기
리소스가 자산이라면 많을 수록 좋겠지만 리소스는 부채입니다
안쓰는 것 삭제한다
• 사용량 없는 리소스가 용도 확인되지 않는
경우(무응답 포함) 삭제합니다
• 우선 삭제하고 필요할 때 다시 만들면
됩니다
소유자가 없는 것 삭제한다
• Tag 없는 인스턴스, 용도 불분명한
리소스는 삭제 합니다
27
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
리소스는 자산이 아닌 부채
사례 – 사용량 없고 이름 없는 리소스
놓친 리소스 - 종료한 인스턴스가 다시 살아났어요
• 사용하지 않는 Auto scaling 그룹의 EC2
• 취소되지 않은 Spot fleets
• 종료되지 않는 Beanstalk 환경
28
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
지속적 대체제 전환
신식 대체제를 사용하고 사용하기로 결정했다면 퇴행 방지를 노력합니다
대체제로 전환한다
• 대체제가 있다면 신식으로 이주한다
퇴행 방지
• 폐기를 결정했다면 신규 기능이 폐기 결정
리소스를 사용하지 않도록 관리한다
29
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
퇴행 방지
새로운 기술을 쓰기로 했다면 과거의 기술은 더이상 쓰지 않습니다
신규 서비스 모듈은 Container 와 Serverless 만 사용한다
30
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
신식 대체제 사용
사례 – 신식 대체제로 교체
대체 : gzip -> zstd
5x faster
31
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
대체제와 상시 업데이트
사례 – 신식 대체제로 교체
이미 최신 버전 : zstd 옵션만 추가하면 사용
• 상세 : https://facebook.github.io/zstd/
Chapter
32
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
5. 기술 부채를 갚아 나갑시다
기술부채? 갚으면 됩니다
Chapter
33
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
5. 기술 부채를 갚아 나갑시다
기술 부채 상환 계획 #1
: 구성요소를 수시로 업데이트 합니다
Unknown Unknowns 를 크게 줄여줍니다
Chapter
34
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
5. 기술 부채를 갚아 나갑시다
기술 부채 상환 계획 #2
: 신식 대체제로 바꿉니다
대체하는 과정에서 기술의 질이 향상됩니다
Chapter
35
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
5. 기술 부채를 갚아 나갑시다
기술 부채 상환 계획 #3
: 사용하지 않는 리소스는 빠르게 제거 합니다
복잡도를 줄일 수 있는 최고의 전략입니다
Chapter
36
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
기술 부채 상환 할 수 있습니다
어떻게요?
점진적으로 조금씩 바꾸면 됩니다
결론
Chapter
37
Copyright © 2022 WhaTap – Developed by WhaTap Labs Inc.
Q&A
이 문서의 저작권은 (주)와탭랩스에 있습니다.
이 문서는 (주)와탭랩스의 서면동의 없이 어떤 형태로도 재생산, 배포, 변경할 수 없습니다.
감사합니다.

[WhaTap DevOps Day] 세션 6 : 와탭랩스 DevOps 이야기

  • 1.
  • 2.
    목차 2 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. I. 와탭랩스 DevOps 팀 II. DevOps 는 점진적 변화 III. 와탭랩스의 점진적 변화 IV. 기술 부채 갚는 법
  • 3.
    3 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 와탭랩스 DevOps 팀 대한민국에서 소수인 B2B SaaS 회사, 그중에서도 유일한 모니터링, 옵저버빌리티 서비스를 책임지는 팀입니다 정의 • 운영 하면서 개발도 하는 팀 X • 개발 하면서 운영도 하는 팀 X • DevOps 하면서 운영도 하는 팀 O 미션 • 와탭 서비스를 책임지며 고객과 구성원들이 문제를 해결하도록 돕습니다. 하는 일 장점 • Trouble Shooting, Tuning 을 참 잘합니다. • SRE – 이슈 처리, Tuning • CI/CD, 운영관리 도구 만들기 • 비용 관리 • 온라인 고객 지원
  • 4.
    4 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 와탭랩스 DevOps 팀 특별히 뛰어난 사람은 없습니다. 오히려 부족합니다. 인력 부족 와탭랩스 DevOps 팀은 리더 포함 4명입니다. 작은 팀입니다. 경험 부족 팀 리더를 제외한 나머지 모두는 와탭랩스가 첫 직장입니다. 팀원들 평균 경력은 3년 미만입니다. 인력 부족의 역설 경험 부족의 역설 선입견이 없습니다. 과거의 기준으로 현재 시스템을 바라보지 않습니다. 기준 잡을 과거가 없습니다. 인력이 부족해 자동화에 집착합니다.
  • 5.
    Chapter 5 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. DevOps 는 점진적 변화 DevOps는 Agile 한 점진적 변화입니다
  • 6.
    6 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. DevOps 는 Agile한 점진적 변화 입니다 특정 도구, 서비스를 도입했다고 DevOps 라 할 수는 없을 것입니다. DevOps 안티 패턴 • 이번에 대대적으로 CI/CD를 재구축했으니 DevOps? • 제일 잘나가는 비싼 Observability 도구를 도입했으니 DevOps? • 개발팀과 운영팀을 합쳐 DevOps 팀을 만들었으니 DevOps?
  • 7.
    Chapter 7 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. DevOps 는 점진적 변화 점진적 변화는 거창하지 않습니다.
  • 8.
    8 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. DevOps 를 가로막는 것 85% 가 DevOps에 장벽을 느낀다고 합니다 • 출처 : Atlassian DevOps Trends Survey 2020
  • 9.
    9 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. DevOps 를 가로막는 것 기술 부족, 레거시 환경 기술의 부족 • 모든 개발자가 운영 기술을 갖출 수 없다 • 모든 운영자가 개발 기술을 갖출 수 없다 • 소수의 인력이라도 레거시 부터 최신 기술에 이르는 영역을 다 갖추는 것은 어렵다 레거시 환경 • 유령의 묘지 • 무언가 잘 못 될 것 같아 아무도 손대지 않은 서비스 • 장시간 변화 없이 안정적인 서비스 기술이 넘쳐나는 회사는 원래 드뭅니다 모든 레거시가 처음에는 최신 시스템
  • 10.
    10 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 그리고 기업 문화 이건 어떻게 극복하는지 아직 잘 모르겠습니다 운 좋게도 와탭랩스는 좋은 기업문화를 가지고 있다 • 실패를 장려한다 • 책임 소재를 따지지 않는다 • 부서간 장벽이 없다
  • 11.
    11 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 점진적 변화가 필요한 이유 “같은 강에 두 번 발을 담글 수 없다.” → 변하지 않는 진리 “모든 것은 변한다” 헤라클레이토스 – Bc.535 ~ Bc.457
  • 12.
    12 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 그냥 두면 계속 복잡해 집니다 열역학 제 2 법칙(엔트로피의 법칙) – 소프트웨어는 엔트로피 애플리케이션 • 애플리케이션은 새로운 코드를 추가해 나갑니다 • 추가된 코드는 계속 배포됩니다 • 새로운 이슈는 계속 발생합니다 인프라 • 크고 작은 취약점이 매일 발견됩니다 • 기존 보다 효율적인 인프라가 계속 생깁니다
  • 13.
    13 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 소프트웨어는 엔트로피 열역학 제 2 법칙(엔트로피의 법칙) – 소프트웨어는 엔트로피 상황 • 코드를 작성하고 인프라를 구성한 사람이 서비스 종료까지 책임지지 않습니다 • 서비스 사용자는 급증할 수도, 급감 할 수도 있습니다 • 저희 서비스든 여러분의 서비스든 시간이 지날수록 복잡도는 증가합니다
  • 14.
    Chapter 14 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 와탭랩스의 점진적 변화 서비스 요소를 상시 업데이트합니다 5459
  • 15.
    15 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 구성 요소를 상시 업데이트 합니다 처음 한 번은 어렵지만, 업데이트 주기를 짧게 가져간다면 쉽습니다. Framework / Library • SpringBoot - 1.4 -> 2.7 (6년치, 매우 매우 어려움) - 1.4 -> 1.5 -> 2.0 -> … -> 2.7 : 해 볼만 함 Linux 배포판 / Kernel • Ubuntu - 16.04 -> 22.04 (Kernel 4.10 -> 5.15) : 멀끔히 잘 돌면 오히려 찝찝함 - 16.04 -> 18.04 -> 20.04 -> 22.04 JDK • JVM - Java8 -> Java17 (7년!) 클라우드 인스턴스 / 서비스 • EC2 Instance, RDS(Aurora) 등
  • 16.
    Chapter 16 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 와탭랩스의 점진적 변화 OS의 유통기한은 5년 5459
  • 17.
    17 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 구성 요소를 상시 업데이트 합니다 맨 처음 수년의 업데이트를 따라잡는 것이 힘든 일이기는 합니다 안티 패턴 1. 이슈가 없으면 손대지 않습니다 2. 어느 날 이슈가 찾아옵니다 3. 이슈가 식별되면 영향 범위에서 최소한의 수정을 시도 합니다 4. 수 년 간의 버전 차이를 업그레이드 시도 하는 것은 이미 대 공사일 확률이 큽니다 와탭랩스 의 절차 1. 상시 업데이트 합니다 2. 이슈 요소가 업데이트 과정에서 식별 됩니다 3. 업데이트 전/후 비교로 unknown unknowns 를 known unknowns 로 바꿉니다
  • 18.
    18 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 구성 요소를 상시 업데이트 합니다 사례 1 Java8 Java17
  • 19.
    19 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 구성 요소를 상시 업데이트 합니다 사례 1 Java8 Java17
  • 20.
    20 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 구성 요소를 상시 업데이트 합니다 상시 업데이트는 Unknown Unknowns 상황을 줄이는 훌륭한 대안 입니다 Unknown unknowns • 이 서비스 CPU 사용률은 평소 이렇지! Known unknowns • 어라? JDK 만 업데이트 했는데 CPU 사용량이 10% 줄었네? Known knowns • JDK17에서 GC Performance 가 크게 개선되어 CPU 사용량이 줄었구나!
  • 21.
    21 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 구성 요소를 상시 업데이트 합니다 사례 하나 더 SpringBoot 1.4 : 2Gb SpringBoot 2.2 : 800Mb 와탭 블로그 - Java Process 메모리 추적기 - https://www.whatap.io/ko/blog/57/index.html Framework Bug!
  • 22.
    22 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 점진적인 변화라면 이해하며 할 수 있습니다 시간이 오래 걸리지만 참여한 구성원은 내부를 이해합니다 K8s 전환 시작 출발 – K8s 써야 편해질 것 같은데? 1. 익숙한 애플리케이션을 Containerized 2. 서비스 애플리케이션 Containerized 3. Container 에 적합하게 애플리케이션 수정 4. 소규모 리전 K8s 로 전환 5. 이후? : VM에서 Shell 을 작성하던 일들이 K8s API 를 컨트롤하는 Python 작성으로 바뀌었습니다 3년 걸렸습니다
  • 23.
    23 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 점진적인 변화라면 이해하며 할 수 있습니다 시간이 오래 걸리지만 참여한 구성원은 내부를 이해합니다 K8s 전환 과정에서 출발 - Containerized 하기에는 Java는 무거워! 1. 간단한 서비스는 Go나 Python 쓰자! 2. Native Java 기술을 쓰자 3. 이렇게 된 바에 Serverless로 가자 4. 이후? : serverless 모니터링을 준비하자 1년 걸렸습니다
  • 24.
    24 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 이해하면 새로운 시도도 합니다 사례 Golang : 4.2Mb Java : 593Mb Java -> Golang 전환 후 Container Image 크기 차이 - 140배
  • 25.
    25 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 이해 해야만 할 수 있는 일이 있습니다 복잡도 줄여 나가기 -> The simple is the best 윌리엄 오컴
  • 26.
    26 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 빠르고 과감한 폐기 리소스가 자산이라면 많을 수록 좋겠지만 리소스는 부채입니다 안쓰는 것 삭제한다 • 사용량 없는 리소스가 용도 확인되지 않는 경우(무응답 포함) 삭제합니다 • 우선 삭제하고 필요할 때 다시 만들면 됩니다 소유자가 없는 것 삭제한다 • Tag 없는 인스턴스, 용도 불분명한 리소스는 삭제 합니다
  • 27.
    27 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 리소스는 자산이 아닌 부채 사례 – 사용량 없고 이름 없는 리소스 놓친 리소스 - 종료한 인스턴스가 다시 살아났어요 • 사용하지 않는 Auto scaling 그룹의 EC2 • 취소되지 않은 Spot fleets • 종료되지 않는 Beanstalk 환경
  • 28.
    28 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 지속적 대체제 전환 신식 대체제를 사용하고 사용하기로 결정했다면 퇴행 방지를 노력합니다 대체제로 전환한다 • 대체제가 있다면 신식으로 이주한다 퇴행 방지 • 폐기를 결정했다면 신규 기능이 폐기 결정 리소스를 사용하지 않도록 관리한다
  • 29.
    29 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 퇴행 방지 새로운 기술을 쓰기로 했다면 과거의 기술은 더이상 쓰지 않습니다 신규 서비스 모듈은 Container 와 Serverless 만 사용한다
  • 30.
    30 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 신식 대체제 사용 사례 – 신식 대체제로 교체 대체 : gzip -> zstd 5x faster
  • 31.
    31 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 대체제와 상시 업데이트 사례 – 신식 대체제로 교체 이미 최신 버전 : zstd 옵션만 추가하면 사용 • 상세 : https://facebook.github.io/zstd/
  • 32.
    Chapter 32 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 5. 기술 부채를 갚아 나갑시다 기술부채? 갚으면 됩니다
  • 33.
    Chapter 33 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 5. 기술 부채를 갚아 나갑시다 기술 부채 상환 계획 #1 : 구성요소를 수시로 업데이트 합니다 Unknown Unknowns 를 크게 줄여줍니다
  • 34.
    Chapter 34 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 5. 기술 부채를 갚아 나갑시다 기술 부채 상환 계획 #2 : 신식 대체제로 바꿉니다 대체하는 과정에서 기술의 질이 향상됩니다
  • 35.
    Chapter 35 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 5. 기술 부채를 갚아 나갑시다 기술 부채 상환 계획 #3 : 사용하지 않는 리소스는 빠르게 제거 합니다 복잡도를 줄일 수 있는 최고의 전략입니다
  • 36.
    Chapter 36 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. 기술 부채 상환 할 수 있습니다 어떻게요? 점진적으로 조금씩 바꾸면 됩니다 결론
  • 37.
    Chapter 37 Copyright © 2022WhaTap – Developed by WhaTap Labs Inc. Q&A
  • 38.
    이 문서의 저작권은(주)와탭랩스에 있습니다. 이 문서는 (주)와탭랩스의 서면동의 없이 어떤 형태로도 재생산, 배포, 변경할 수 없습니다. 감사합니다.