데브옵스 성능을 향상하는 법을 알아보자.
그라운드 액스 기업 사례
데브옵스 성능을 측정하는 DORA 메트릭을 알아보자~
수집 Apache DevLake 활용.
원티드 랩 기업 사례 = SQL 생성 AI 슬랫봇
1
기존 구성을 알아보자?
CI/CD
빠르고 안정적인 배포의 중요성
사람에 의한 수집
측정 가능한 지표가 필요!!!
CI/CD 효율성 판단 지표가 없었다.
속도와 안정성 측면의 지표가 없었다.
시스템에 의한 수집
2
DORA 메트릭?
구글 DORA팀에 의해 만들어짐.
4가지 지표임.
Devops 운영이 잘 되고 있는지 측정하는 것이다.
1) 배포 빈도
일주일에 여러 번 배포할 수 있다면?
신속하게 새로운 기능을 시장에 출시
2) 운영 환경에 반영되기까지 시간
긴급한 버그 수정이 필요하다면?
짧은 시간에 신속하게 문제 해결
사용자에게 영향을 미치는 시간 최소화.
3) 실패로 이어지는 비율
변경 실패율이 낮다면?
높은 코드 품질과 효과적인 테스트
안정적인 배포 프로세스
4) 평균 서비스 복구 시간
장애 발생 시 서비스를 빠르게 복구할 수 있다면?
강력한 장애 관리 및 복구 전략을 갖추고 있다는 것이다.
조직의 민첩성과 시장 대응 속도가 크게 향상됨.
배포의 신뢰성과 장애 대응 속도가 크게 향상됨.
모두 롤링 업데이트 하는 방식이다.
1
정상 배포
버전 2의 파드가 모두 정상 동작이 정상 동작.
배포 빈도 수집 필요!!!
2
배포 실패?
버전 2의 파드가 동작하지 않는 경우.
러닝 상태가 아는 경우.
버전 1로 롤백.
배포 빈도 수집 필요
변경 실패율도 수집 필요
3
배포 성공 + 장애 경우
파드는 동작하나 문제 파드가 있는 경우.
배포 빈도 수집
변경 실패율도 수집
사용자에 영향을 끼치므로 복구되기까지 걸리는 시간 수집
4
초기 수동으로 수집.
데이터 수집 과정에서 오류 가능성이 높아짐.
많은 노력이 필요.
1
다양한 데이터 소스와 통합해 자동으로 수집 가능.
2
활용법?
Helm 차트를 통해 devLake 배포해 파드로 사용.
Argo CD사용
3
RDS에 저장. 그라파나로 정보를 파악하고 있다.
배포 빈도율 대시보드등 구성해 사용하고 있다.
4
프로젝트에 대해 가시화 가능하다.
지난달 대비 배포시간이 10% 감소라고 보고가 가능하다.
5
데이터 수집
인사이트 도착 - 분석, 우리의 프로세스를 어떻게 개선할까? 확인한다. 배포 프로세스 개선.
학습 사이클을 유지하는 것이다. 수집, 분석, 개선 학습 사이클!!!
원티드랩
1
마케팅팀이 타깃 고객 분석을 위해 데이터 접근해야 하는 경우?
데이터가 있는지?
찾거나 요청한다.
중복 데이터, 없어진 데이터.
데이터 품질 문제 - 확인이 필요하다.
조직 내에 있는 데이터를 쉽고 빠르게 찾는 프로세스!!!
2
시작 1?
OCR로 단순 챗봇으로 시작함.
AI로 개선함.
데이터 디스커버리!
데이터 자체가 중요하다.
데이터 문화 확산이 중요하다.
3
마케팅팅의 요청?
슬랙에서 자연어로 슬랫봇에게 요청한다.
4
프롬프트 엔지니어링?
시스템 프롬프트 = 페르소나 지정, 머스트 : 본분을 다해 , 역학을 강조. MUST
유저 프롬프트 - 참고해 줘
어시스텐트 - 답변했던 히스토리를 참고
5
슬랫봇을 만듦 = Data Bolt
6
아키텍처?
1) 에어플로를 통해 메타데이터를 오픈서치에 임베딩함.
2) 베트락을 통해 프롬프트 결과를 슬랙에 전달한다.
7
고려해야 할 사항?
전처리?
데이터 카탈로그를 전처리를 진행함. = 통합 전처리를 위한 크롤러를 개발함.
칼럼을 정리해 제출해야 하는 경우가 필요 - ISMS
8
Slack Bolt 사용
Slack을 제어하는 공식 프레임워크.
3초 안에 응답하지 않으면 동작하지 않음.
ECS에서 데몬이 아닌 스레드 사용 - 메인 스레드가 종료 되었을때 함께 종료 되지 않음.
9
사용
다음
https://brunch.co.kr/@topasvga/4119