개발
-
[DevOps] Docker로 간편하게 k6 테스트 및 Prometheus+Grafana 로 모니터링 환경 구축개발/DevOps 2024. 4. 15. 22:42
들어가는 글 REST API를 이용한 endpoint를 개발하다보니 실제로 동시접속가능한 유저는 얼마가 되고, 사용되는 cpu/memory 사용량을 가늠해야할 필요성을 느끼던 찰나 load testing 을 위한 tool 들을 써볼 수 있는 기회가 있었다. 그와 관련된 내용들을 정리하고 공유하고자 글을두서 없이 써본다. k6가 뭐길래? k6는 오픈소스 load testing tool 이며, test를 매우 쉽게 그리고 제품의 생산성을 높혀주는 이점이 있다. 왜 k6? k6 locust JMeter Gatling Language Javascript Python Application Scalar Stars(k) 21.4 22.1 – 6 Forks(k) 1.1 2.8 – 1.2 커뮤니티를 살펴보면 Top 4 ..
-
[Kubernetes] CKA 재응시 합격후기개발/Kubernetes 2024. 4. 15. 22:38
2023.07.31 CKA 첫 응시, 불합격 MLops가 되기로 마음먹은 후 쿠버네티스를 다룰 줄 알아야겠다고 생각이 들어서 시작하게 된 CKA(Certificated Kubernetes Administer). 결론만 먼저 말하자면 시험에는 불합격했다. 친절하게도 1번의 재응시 기회가 더 있어서 부족한 부분들을 다시 채워서 재응시하려 한다. 그래도 3주동안 준비하면서 느낀 점들을 잊어먹기 전에 블로그로 정리해 두고자 한다. 이메일로 결과 통보를 해주며 시험점수와 부족한 topic 들을 알려준다 (정답지도 같이 내놓으란 말이야 🙁 ) 1. CKA 공부 방법 Udemy의 뭄샤드 아저씨의 CKA with Practice Tests 강의 전체 및 연습문제를 모두 풀고 killer.sh 1회 응시 후에 시험을 치..
-
[Docker] nvidia-docker 환경 셋업개발/Docker 2024. 4. 15. 22:30
GPU 기반 컨테이너를 사용해야할 일이생겼다. 관련된 환경셋업을 하면서 겪었던 어려움들을 까먹지 않도록 기록하려고한다. nvidia-driver 설치 driver 설치에 앞서 기존에 설치된 nvidia-driver 관련된 패키지들을 제거해주자. sudo apt-get --purge remove *nvidia* sudo apt-get autoremove sudo apt-get autoclean dpkg -l | grep nvidia 커맨드를 이용해서 관련 패키지들이 모두 제거되었는지 확인해보자. 아무것도 뜨지 않아야한다. 이제 ubuntu-drivers devices 커맨드를 이용해 설치할 수 있는 nvidia-driver 목록을 살펴보자. == /sys/devices/pci0000:00/0000:00:0..
-
[Python] Head First Design Patterns 정리개발/Python 2024. 4. 15. 22:11
소프트웨어를 개발하다보면 내가 개발하는 서비스안의 클래스나 디자인이 Best practice 일지 의심되는 순간이 많습니다. 그래서 주변 지인들의 추천으로 읽게된 헤드퍼스트 디자인 패턴! 매우 쉽게 쓰여진 책이라서 재미있게 읽을 수 있었고, 실제로 서비스에 사용될 법한 간단한 예제들로 구성되어서 실용적이기도 했습니다. 하지만 평소 python을 주로 썼던 터라 모든 예제 코드가 java 로 쓰여져 있는 점이 아쉬웠습니다. 실제로 python 에서는 없는 java 언어 자체의 개념도 들어가있다 (protected, private, public 등). 그래도 디자인패턴을 눈으로만 보고 실제로 코드에 적용해보지 않으면 아무 쓸모가 없을 것 같아서 일일이 python 코드로 migration 하는 작업을 직접 ..
-
[Project] wav2vec2 모델 ONNX+TritonInferenceServer로 배포하기개발/Project 2024. 4. 15. 22:03
Huggingface 는 최신 논문부터 사람들이 직접 학습한 모델까지 다양한 딥러닝 모델을 사용할 수 있는 플랫폼이다. 하지만 실제로 python 환경에서 huggingface 모델들을 사용해보면 model loading, inference latency 등 생각보다 많은 문제가 있어서 huggingface 모델 자체로 프로덕트 배포하기에는 어려움이 있다. 이런 문제들을 해결하기 위해 다양한 ML 프레임워크가 존재하는데 이번 글에서는 wav2vec2 모델을 ONNX 로 변환한 후 TritonInferenceServer 를 통해 배포하는 과정을 소개한다. 추가적인 스크립트 작성없이 몇가지 커맨드만으로 재현할 수 있도록 만들어놨다왜 ONNX + TritonInferenceServer ? ML 모델은 pyto..