brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Oct 22. 2024

AI 11탄-39. DORA와 아마존베드락이용 업무혁신

데브옵스 성능을 향상하는 법을 알아보자.

그라운드액스 기업 사례

데브옵스 성능을 측정하는 DORA 메트릭을 알아보자~

수집 Apache DevLake 활용.

원티드랩 기업 사례 = SQL 생성 AI 슬랫봇




<1> Amazone EKS환경에서 DORA를 활용한 DevOps성능 향상 전략

<2> DORA 메트릭의 수준별 분류

<3> 쿠버네티스 배포 예제를 통한 수집해야 할 내용 확인

<4> Apache DevLake를 통한 자동 수집

<5> 사례 - SQL 생성 AI 슬랙봇으로 Data Discvery 영역 개척하기




<1> Amazone EKS환경에서 DORA를 활용한 DevOps성능 향상 전략



1

기존 구성을 알아보자?

CI/CD 

빠르고 안정적인 배포의 중요성

사람에 의한 수집


측정 가능한 지표가 필요!!!

CI/CD 효율성 판단 지표가 없었다.

속도와 안정성 측면의 지표가 없었다.

시스템에 의한 수집



2

DORA 메트릭?

구글 DORA팀에 의해 만들어짐.

4가지 지표임.

Devops 운영이 잘 되고 있는지 측정하는 것이다.




1) 배포 빈도


일주일에 여러 번 배포할 수 있다면?

신속하게 새로운 기능을 시장에 출시



2) 운영 환경에 반영되기까지 시간


긴급한 버그 수정이 필요하다면?

짧은 시간에 신속하게 문제 해결

사용자에게 영향을 미치는 시간 최소화.



3) 실패로 이어지는 비율


변경 실패율이 낮다면?

높은 코드 품질과 효과적인 테스트

안정적인 배포 프로세스



4) 평균 서비스 복구 시간


장애 발생 시 서비스를 빠르게 복구할 수 있다면?

강력한 장애 관리 및 복구 전략을 갖추고 있다는 것이다.





<2> DORA 메트릭의 수준별 분류


조직의 민첩성과 시장 대응 속도가 크게 향상됨.

배포의 신뢰성과 장애 대응 속도가 크게 향상됨.





<3> 쿠버네티스 배포 예제를 통한 수집해야 할 내용 확인


예) 모두 롤링 업데이트 하는 방식이다.


1

정상 배포 ?


버전 2의 파드가 모두 정상 동작이 정상 동작.

배포 빈도 수집 필요!!!



2

배포 실패?


버전 2의 파드가 동작하지 않는 경우.

러닝 상태가 아는 경우.

버전 1로 롤백.


배포 빈도 수집  필요

변경 실패율도 수집 필요





3

배포 성공 + 장애 경우 ?


파드는 동작하나 문제 파드가 있는 경우.


배포 빈도 수집

변경 실패율도 수집

사용자에 영향을 끼치므로 복구되기까지 걸리는 시간 수집




4

초기  수동으로 수집.

데이터 수집 과정에서 오류 가능성이 높아짐.

많은 노력이 필요.




<4> Apache DevLake를 통한 자동 수집



1

다양한 데이터 소스와 통합해 자동으로 수집 가능.





2

활용법?

Helm 차트를 통해 devLake 배포해 파드로 사용.

Argo CD사용 






3

RDS에 저장. 그라파나로 정보를 파악하고 있다. 


배포 빈도율은 대시보드를 구성해 사용하고 있다.



4

프로젝트에 대해  가시화 가능하다.

지난달 대비 배포시간이 10% 감소라고 보고가 가능하다.



5

데이터 수집?

인사이트 도출


분석 ?

우리의 프로세스를 어떻게 개선할까? 확인한다. 배포 프로세스 개선.


학습 사이클을 유지하는 것이다.  수집, 분석, 개선의 학습 사이클!!!






<5> 사례 - SQL 생성 AI 슬랙봇으로 Data Discvery 영역 개척하기


원티드랩



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


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari