JHyeok

2019 태오닷넷 신년세미나 참석 후기

February 17, 2019☕️ 2 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 DevopsServerless를 지원할 수 있다. 오늘 세미나에서 Serverless를 직접 보았는데 Azure Function을 이용하면 파일을 업로드하고 다운로드하는 부분도 인풋 바인딩, 아웃풋 바인딩을 저 Azure Function이 지원해주어서 편하게 코딩이 가능하며 C#, Python, Javascript등을 지원한다. 펑션들을 Serverless로 함으로써 펑션을 실행한 만큼만 비용이 나가기 때문에 저렴하다.

단 공격으로 1000만 펑션이 실행돼서 해서 핵폭탄 같은 요금이 나온다고 하더라도, 그걸 방어하는 코딩을 해도 되고 어느 정도 vm 위에서 실행되도록도 할 수 있다.

그리고 스토리지를 웹서버처럼 올릴 수 있으며 그것을 Serverless로도 쓸 수 있다.

아쉽게도 회사에서는 Azure를 사용하지 않았고, Azure Devops에 대해서도 좋은 반응을 얻지 못했다.

심지어 그나마 사용하고 있던 기존 젠킨스도 사용하지 않으려고 하셔서 어떻게든 QA서버에는 젠킨스를 사용하도록 기존 어플리케이션을 버전업하면서 젠킨스는 내가 맡아서 CI/CD를 구축했다.

마치며

세미나에 참석한다고 기술 수준이 확 오르는 것도 아니고 실력이 늘어나는 것도 아니다. 다만 자극을 받았다. 첫 세미나에 참석하였고, 좋은 경험이 된 것 같다.

실제 프로덕션 환경에서도 적용을 하지 못했지만 SignalR을 도입하려고 회사에서 시도도 해보고, QA환경에서 성공적인 도입도 해보았고, 젠킨스도 Azure Devops를 회사에서 도입하지 못하니 기존에 있는 젠킨스를 새로 구축하면서 대리만족을 한 것 같다.


JHyeok

Written by JaeHyeok Kim
Github