2019 태오닷넷 신년 세미나
February 17, 2019•☕️ 1 min read
2019.02.16 태오닷넷 기술세미나를 참석했다. 아래는 간단한 후기이다.
서버리스 리얼타임 웹 애플리케이션 구축하기(김태영님) 에서는 .NET Core의 Signalr에 대해서 설명해주셨다. 이 세션을 듣고 실제 회사에서 알림을 SignalR로 구현을 해보았다. 아쉽지만 실제 프로덕션에 적용이 되지는 못했다.
Azure DevOps를 활용한 웹 애플리케이션의 CI/CD 구축하기(김태영님) 를 듣고 회사에서 젠킨스를 사용해서 CI/CD를 구축하게 된 계기가 되었다.
Azure Devops는 5명까지 무료이며, 계정을 만들면 대시보드가 생성되는데, 조직을 추가해서 조직 내에서 프로젝트 관리가 가능하다. 그리고 Azure Devops는 이름으로 오해할 수 있는데 AWS, 젠킨스 등을 전부 지원한다.
지속적인 배포(CD)와 지속적인 딜리버리(CD)의 차이는 전부 자동화하다가, 지속적인 딜리버리는 매뉴얼 서버까지 온 후에 운영 서버로는 바로 가지 않는다, 지속적인 배포가 바로 운영 서버까지 가는 핵폭탄 같은 버튼이지만, 지속적인 딜리버리는 매뉴얼에서 한번 멈추고, 그다음 버튼을 눌러서 운영 서버로 가는 방식이다.
보통은 개발 서버까지 커밋과 자동빌드 후 테스트하고 개발 서버까지 배포하고 테스트 및 QA 되는 게 현실적인 것 같다. 그다음 버튼을 눌러서 운영 서버 배포한다.
지금은 일반이지만 Azure Devops
도 Serverless
를 지원할 수 있다. 오늘 세미나에서 Serverless
를 직접 보았는데 Azure Function
을 이용하면 파일을 업로드하고 다운로드하는 부분도 인풋 바인딩, 아웃풋 바인딩을 저 Azure Function
이 지원해주어서 편하게 코딩이 가능하며 C#
, Python
, Javascript
등을 지원한다. 펑션들을 Serverless
로 함으로써 펑션을 실행한 만큼만 비용이 나가기 때문에 저렴하다.
단 공격으로 1000만 펑션이 실행돼서 해서 핵폭탄 같은 요금이 나온다고 하더라도, 그걸 방어하는 코딩을 해도 되고 어느 정도 vm 위에서 실행되도록도 할 수 있다.
그리고 스토리지를 웹서버처럼 올릴 수 있으며 그것을 Serverless
로도 쓸 수 있다.
아쉽게도 회사에서는 Azure를 사용하지 않았고, Azure Devops
에 대해서도 좋은 반응을 얻지 못했다.
심지어 그나마 사용하고 있던 기존 젠킨스도 사용하지 않으려고 하셔서 어떻게든 QA
서버에는 젠킨스를 사용하도록 기존 애플리케이션을 버전업하면서 젠킨스는 내가 맡아서 CI/CD
를 구축했다.
마치며
세미나에 참여한다고 기술 수준이 확 오르는 것도 아니고 실력이 늘어나는 것도 아니다. 다만 자극을 받았다. 첫 세미나에 참여하였고, 좋은 경험이 된 것 같다.
실제 프로덕션 환경에서도 적용을 하지 못했지만 SignalR
을 도입하려고 회사에서 시도도 해보고, QA환경에서 성공적인 도입도 해보았고, 젠킨스도 Azure Devops
를 회사에서 도입하지 못하니 기존에 있는 젠킨스를 새로 구축하면서 대리만족을 한 것 같다.