이직을 하고 나서 새로운 회사에서는 노드 기반으로 되어 있어서 닷넷을 근 1년간 안 붙잡고 있었습니다.
그런데 요즘 새로운 서비스를 준비하던 중 전부터 파보고 싶었던 Aspire를 써보기로 했습니다. 그리고 MS에서 적절히 VS 2026을 출시 한 참에 1년만에 VS를 다시 써본 감상도 남겨보려고 합니다.
오늘은 그 1일차입니다.
집 컴퓨터에 VS 2026을 설치하고 ASP.NET도 설치하고 영어팩도 설치하고 다 진행 했습니다. (이 글을 적기 전 설치를 해버려서 스샷은 없습니다..)
Aspire Starter Project 를 만드니까 무려 프로젝트가 4개가 생겨 있었습니다.
ApiService - 대충 보니 새로 나온 File based App 기반으로 원래 ASP.NET Core 예제 프로젝트 만들면 있던 WeatherForecast 서비스 예제가 있었습니다. 놀랍게도 ApiController 없이 파일 하나로 퉁친게 닷넷의 발전을 보여주는 것 같았습니다.
AppHost
여기가 Main 인 것 같은데 Blazor Server (프론트) ApiService 를 한 데 모아놓고 돌리는 것 같았습니다. ASP NET Core 기존처럼 WebHost 이렇게 시작해서 복잡하게 의존성 주입해주는게 사라져서 개인적으로는 마음에 들었습니다.
ServiceDefaults
이게 Aspire 에 핵심인 것 같았습니다. Extensions.cs 에 익숙한 의존성 주입 코드들이 있었습니다. 다만 Extensions static class 인거 보니까 이걸 Aspire 어딘가서 불러와서 땡겨서 쓸 것 같았습니다. (원리는 알아봐야 함)
Web - Blazor Server 프로젝트로 보임
앞으로 각각을 더 파헤쳐볼 생각입니다.
그리고 당당하게 https 재생 버튼을 눌러보니 알아서 로컬호스트 17223 로 데려다주더니
뭔가 아까 Extensions 에서 의존성 주입을 실컷 해서 그런지 Aspire 기본 어드민처럼 보이는게 반겨 줍니다. 여기서 리소스별로 켜고 끄거나도 가능하고 콘솔에서 로그도 바로 확인 가능하고
아까 보니 OpenTelemetry 도 달려있어서 알아서 다 집계도 되는 것 같아서 좋아보입니다.
다음 단계는 DB (원래 서비스에서 쓰던 Postgresql DB) 연결편으로 돌아오겠습니다.
VS 2026은 전반적으로 좀 깔끔해진 것 같고 아직까지는 큰 변화는 모르겠습니다. 좀 더 써봐야 알 것 같긴 합니다. 설정 하는 곳에 검색이 생겼긴 했는데 아직 윈도우 제어판 같이 레거시 설정과 공존하는 것 같습니다 (글꼴 바꾸는 거는 레거시 설정인듯)
기존 저희 데이터베이스를 연결하고 싶어서 어떻게 하면 되나 찾아보니 위와 같은 문서가 있어서.. 좀 더 읽어보니 뭔가 Postgresql DB를 새로 만들어서 연결하는 것 같은 느낌이 들어서 알아보는 중입니다 (추가하면 위에 Aspire 관리자 페이지?에 생기는게 아닐까 싶습니다)
Aspire로 만든걸 AWS 에 EC2 하나 파서 docker-compose로 띄워봤습니다. Aspire.Hosting.Docker라는 걸 통해서 docker-compose.yml을 기본적으로 뽑아줘서 일단 쉽게 가능했습니다 (아직 닷넷10은 프리뷰라 그런지 버그가 좀 있긴해서 직접 수정하긴 함)
AWS ECS까지 가보고 싶었으나 인프라 세팅하는게 넘 힘들어서 일단 포기했습니다 (Azure로 띄운다고 하면 바로 될지도?)
Aspire 에 대한 감상은 docker-compose를 한 번 더 추상화해서 닷넷으로 가져다놓은 느낌을 받았습니다. 아직 원래 서비스 DB를 연결만 해놓은 상태라 Redis같은 걸 띄워보지는 못했는데요. Aspire.Hosting.Redis를 시도해보는 게 다음 과제가 되겠습니다.
이 글은 여기서 마무리하고 이미 배포는 해놓긴 했는데 좀 더 다듬어서 홍보가 가능해지는때에 다시 돌아오겠습니다!