Aspire 13.3, 향상된 기능으로 출시
원본 영상 0:22크리스 에이어스(Chris Ayers)는 NDC 토론토 세션에서 Aspire 13.3의 즉시 출시를 발표했습니다. 새로운 버전은 개발자 경험을 향상시키기 위한 일련의 업데이트된 기능과 도구를 도입합니다.
에이어스는 “오늘 Aspire 13.3이 출시되었습니다. Aspire의 새로운 버전이 오늘 출시되었습니다.”라고 말하며 플랫폼의 중요한 업데이트를 알렸습니다.
Aspire의 새로운 버전은 로컬 개발을 간소화하고 통합 오케스트레이션 및 구성 오버헤드 감소를 목표로 합니다.
이 채널 새 영상도 이렇게 정리해 드릴까요?
크리스 에이어스(Chris Ayers)는 NDC 토론토 세션에서 Aspire 13.3의 즉시 출시를 발표했습니다. 새로운 버전은 개발자 경험을 향상시키기 위한 일련의 업데이트된 기능과 도구를 도입합니다.
에이어스는 “오늘 Aspire 13.3이 출시되었습니다. Aspire의 새로운 버전이 오늘 출시되었습니다.”라고 말하며 플랫폼의 중요한 업데이트를 알렸습니다.
개발자들은 종종 로컬 다국어 환경을 관리하는 데 어려움을 겪는데, 여러 서비스에 대해 수많은 터미널 창을 저글링하고 포트 및 IP 주소를 수동으로 구성해야 합니다. 구성 설정은 일반적으로 YAML, JSON 및 애플리케이션별 설정 파일 등 다양한 형식으로 분산되어 복잡성을 유발합니다. 또한, 사용자 지정 오케스트레이션 스크립트는 일반적이지만 유지 관리하기 어렵고 시간이 지남에 따라 신뢰할 수 없는 것으로 판명되는 경우가 많습니다.
크리스 에이어스(Chris Ayers)는 이러한 어려움을 강조하며 다음과 같이 물었습니다. “터미널 탭이나 창이 8개 정도 있고 이 도커 이미지를 시작하고 URL과 IP를 복사하여 이 항목에 붙여넣고 환경 변수를 사용하는 경우가 몇 번이나 있습니까?”
OpenTelemetry는 관찰 가능성을 위한 산업 표준으로 널리 알려져 있지만, 로컬 설정 및 사용이 매우 복잡하여 개발자에게 상당한 어려움을 초래하는 경우가 많습니다. Aspire는 개발 도구를 '에이전트 인식'하도록 만들어 로그, 스팬 및 메트릭을 자동으로 상호 연관시켜 이를 단순화하는 것을 목표로 합니다. 이 통합은 프로세스를 간소화하여 개발자가 로컬 개발 환경에서 애플리케이션을 모니터링하고 디버깅하기 위해 OpenTelemetry를 효과적으로 사용할 수 있도록 합니다.
에이어스는 “로컬에서 설정하고 사용하기가 정말 어렵습니다. 많은 시간 동안 로컬 개발 상자에서 OpenTelemetry를 정기적으로 제대로 사용할 수 있는 방법은 무엇입니까?”라고 지적하며 일반적인 어려움을 강조했습니다.
Aspire 에코시스템은 Aspire CLI, AppHost, Dashboard, Integrations라는 네 가지 기본 기둥으로 구성됩니다. Aspire CLI는 도구 업데이트 및 프로젝트 실행을 관리하여 다양한 작업을 위한 명령줄 인터페이스를 제공합니다.
AppHost는 Aspire의 핵심을 형성하며, 애플리케이션의 다양한 구성 요소가 상호 작용하는 방식을 자동화하는 선언적 서비스 및 종속성 오케스트레이션을 제공합니다. Dashboard는 통합 명령 센터 역할을 하며, 단일의 접근 가능한 인터페이스에서 텔레메트리 데이터, 로그 및 리소스 모니터링을 제공합니다.
Integrations는 플러그 앤 플레이 기능을 허용하며, Azure 에뮬레이터 및 Redis 캐시와 같은 미리 빌드된 구성 요소를 제공하여 프로젝트에 쉽게 추가할 수 있습니다. 크리스 에이어스(Chris Ayers)는 이를 요약하며 다음과 같이 말했습니다. “Aspire CLI가 있습니다... Aspire의 핵심은 AppHost에 있으며 필요한 많은 작업을 수행합니다... 대시보드는 명령 센터입니다... 그리고 통합은 기능을 연결하기 시작하는 곳입니다.”
Aspire 대시보드는 전체 Aspire 오케스트레이션 제품군이 필요 없이 독립적으로 작동할 수 있습니다. 메모리 상주 구성 요소로 실행되며, 독립형 Docker 이미지로 배포할 수 있어 사용 유연성을 제공합니다. 이 기능을 통해 개발자는 완전한 Aspire 플랫폼이 구현되지 않은 환경에서도 대시보드를 OpenTelemetry 인터페이스로 사용하여 디버깅하거나 모니터링할 수 있어 오버헤드를 줄일 수 있습니다.
크리스 에이어스(Chris Ayers)는 “로컬입니다. 메모리에만 있습니다. 따라서 Docker 이미지를 호출하고 해당 대시보드를 사용할 수 있습니다. 앱을 Inspire 대시보드에 연결하여 OpenTelemetry 인터페이스로 사용할 수 있습니다.”라고 설명했습니다.
Aspire는 환경 변수 삽입을 자동화하여 연결 문자열 및 서비스 엔드포인트를 동적으로 처리합니다. 이 기능은 개발자가 서비스에 대한 표준 명명 규칙에 의존할 수 있으므로 수동 구성의 필요성을 크게 줄입니다. 'WithReference' 메서드는 종속성 연결을 자동으로 관리하여 서비스가 서로 원활하게 연결되도록 함으로써 이 프로세스를 더욱 단순화합니다.
크리스 에이어스(Chris Ayers)는 “이 모든 것은 동적으로 생성되어 자동으로 연결됩니다. 따라서 이 중 어떤 것도 실제로 설정할 필요가 없습니다.”라고 설명하며 효율성 향상을 강조했습니다.
Aspire는 종속성 그래프를 자동으로 구성하여 서비스 시작 순서를 논리적으로 정할 수 있습니다. 이를 통해 데이터베이스와 같은 중요한 구성 요소는 이에 의존하는 API 계층이 시작되기 전에 시작되고, API 계층은 웹 프런트엔드가 시작되기 전에 시작됩니다. 또한 시스템은 서비스 가용성을 확인하기 위한 상태 검사를 통합하고 애플리케이션 종료 시 정리 프로세스를 효과적으로 관리합니다.
크리스 에이어스(Chris Ayers)는 “프런트엔드가 백엔드에 의존하고 백엔드가 데이터베이스에 의존하는 경우, 이 그래프를 구축하여 API 계층을 시작하기 전에 데이터베이스를 시작해야 한다는 것을 압니다.”라고 언급하며 종속성 관리를 설명했습니다.
처음에는 C#에 중점을 두었지만, Aspire는 최근 AppHost 기능을 확장하여 TypeScript를 포함했습니다. 앞으로 몇 달 안에 Python, Java 및 Go AppHost에 대한 지원이 예상됩니다. 이 확장은 다양한 프로그래밍 언어에서 일관된 개발 모델을 구축하여 선호하는 언어에 관계없이 개발자에게 통일된 경험을 제공하는 것을 목표로 합니다.
크리스 에이어스(Chris Ayers)는 “C# 및 TypeScript가 지원되며, Python이 곧 출시되고 Java 및 Go는 모두 몇 달 안에 AppHost로 사용할 수 있을 것입니다.”라고 확인하며 로드맵을 상세히 설명했습니다.
Aspire는 서버 측에서 작동하는 호스팅 통합과 Aspire Redis로 대표되는 클라이언트 측 통합의 두 가지 주요 통합 유형을 제공합니다. 이러한 통합은 명명 규칙을 자동으로 관리하고 연결 문자열을 삽입하도록 설계되어 개발자를 위한 설정 프로세스를 단순화합니다.
개발자는 각 구성 요소에 대한 포괄적인 정보를 제공하는 공식 Aspire 문서 사이트를 통해 사용 가능한 통합 범위를 탐색할 수 있습니다. 크리스 에이어스(Chris Ayers)는 이러한 통합의 목적을 명확히 했습니다. “이는 내 애플리케이션을 시작할 때 참조해야 할 일종의 종속성이 있을 때입니다.”
Aspire CLI는 CosmosDB와 같은 구성 요소를 애플리케이션에 추가하는 프로세스를 간소화합니다. 'Aspire add Cosmos'와 같은 명령어를 사용하여 도구는 필요한 구성 요소를 자동으로 검색하고 시스템에 통합합니다. 여기에는 로컬 개발 환경용 Docker 이미지로 에뮬레이터를 가져오는 것이 포함되어 종속성의 설정 및 구성을 단순화합니다.
크리스 에이어스(Chris Ayers)는 다음과 같이 시연했습니다. “Aspire CLI가 있습니다. 구성 요소를 추가할 수 있습니다. 예를 들어 Cosmos Aspire add를 추가할 수 있습니다. 통합을 검색할 것입니다. 이러한 통합은 엄청나게 많습니다.”
Aspire는 전용 구성 파일을 사용하여 앱 호스트 위치를 추적하여 'Aspire run' 또는 'Aspire test'와 같은 명령을 프로젝트 내의 모든 폴더에서 실행할 수 있도록 합니다. CLI는 또한 애플리케이션 동작을 보호하고 사용자 지정하는 데 중요한 암호 및 환경 변수 관리를 위한 강력한 지원을 제공합니다. 개발자는 'config list' 명령을 사용하여 구성을 감사하고 프로젝트 설정을 명확하게 감독할 수 있습니다.
크리스 에이어스(Chris Ayers)는 다음과 같이 지적했습니다. “이 모든 것이 Aspire 구성 파일을 가지고 있다는 것을 알 수 있습니다. 이 파일은 앱 호스트의 위치를 추적합니다. 따라서 어떤 폴더에 있든 Aspire run 또는 Aspire test를 실행할 수 있습니다.”
새로운 'agent MCP' 명령이 도입되어 AI 에이전트가 MCP(Model Context Protocol)를 사용하여 Aspire 환경과 상호 작용할 수 있습니다. 이 통합을 통해 AI 에이전트는 CLI 명령을 호출하여 환경 내에서 리소스를 확인하고, 로그를 읽고, 문제를 해결하는 등의 작업을 수행할 수 있습니다. 특히 AI 에이전트는 종속성 문제나 구성 오류에 대한 솔루션을 제안하여 개발을 더욱 간소화할 수 있습니다.
크리스 에이어스(Chris Ayers)는 “이제 이 에이전트 MCP 명령도 추가했습니다. 이제 Visual Studio 만료 에이전트를 사용하여 이 환경을 관리하고 MCP를 설정할 수 있습니다.”라고 강조했습니다.
Aspire의 CLI는 이제 AI 모델이 오래된 훈련 데이터에 의존하는 일반적인 문제를 해결하기 위해 AI 기반 의미론적 검색을 통합합니다. 이 기능을 통해 CLI는 절대적으로 최신의 실시간 문서를 검색하여 개발자가 항상 최신 정보에 액세스할 수 있도록 합니다. 또한 전체 컨텍스트와 함께 로그 및 종속성을 쿼리할 수 있어 문제 해결 및 개발 효율성을 향상시킵니다.
크리스 에이어스(Chris Ayers)는 그 이점을 강조했습니다. “따라서 최신 문서를 검색할 것입니다. 따라서 AI 모델의 문제점은 오래된 훈련 데이터를 사용하는 경우가 많다는 것을 알고 있습니다... Aspire Docs에서 cosmos를 검색하면 실시간으로 절대적으로 최신 문서를 얻을 수 있습니다.”
Aspire는 개발자가 다양한 언어 환경에서 코드를 단계별로 실행하고 빠져나올 수 있도록 하는 원활한 디버깅 기능을 제공합니다. 이 기능은 'npm install'과 같은 종속성 설치를 자동화하는 AppHost에 의해 지원됩니다. 환경 연결을 자동으로 처리함으로써 Aspire는 개발자의 노력을 크게 줄여 복잡한 다국어 프로젝트를 더 쉽게 관리할 수 있도록 합니다.
크리스 에이어스(Chris Ayers)는 “디버그 지점에 도달할 수 있습니다... 코드를 단계별로 실행하고 여러 언어에서 코드를 빠져나올 수 있습니다.”라고 시연하며 실질적인 이점을 보여주었습니다.
Aspire는 애플리케이션 게시를 위한 컨테이너화 프로세스를 자동화하며, Dockerfile이 없는 경우 자동으로 생성하기도 합니다. 이 기능을 통해 개발자는 영구적인 수명 및 환경 변수를 구성하여 다양한 배포 환경에서 인프라 요구 사항을 단순화할 수 있습니다. 이 플랫폼은 애플리케이션 배포 준비에 필요한 수동 작업을 줄이는 것을 목표로 합니다.
크리스 에이어스(Chris Ayers)는 “게시할 때 컨테이너 파일을 게시할 수 있습니다. 따라서 Dockerfile이 없어도 이 기능은 실제로 Dockerfile을 생성합니다.”라고 말했습니다.
Aspire는 로컬 Docker 배포에서 전체 Kubernetes 통합까지 유연한 호스팅 옵션을 제공하여 Helm 배포를 가능하게 합니다. 이 플랫폼은 로컬에서 ID가 없는 개발을 지원하는 동시에 프로덕션 환경을 위한 강력한 RBAC(역할 기반 액세스 제어)도 제공합니다. 주요 목표는 구성 요소 연결 및 구성과 관련된 노력을 최소화하고 간소화된 배포 경험을 제공하는 것입니다.
크리스 에이어스(Chris Ayers)는 “Kubernetes 통합도 있어 아웃포스트에 Kubernetes 환경을 추가하고 이를 활용하여 배포할 수 있습니다.”라고 강조했습니다.
자막에서 근거가 되는 대목을 찾아 답합니다.
이 채널 새 영상도 이렇게 정리해 드릴까요?
NDC Conferences에 새 영상이 올라오면, 방금 읽으신 것처럼 정리해서 메일로 보내 드릴게요.
이 채널은 지난 7일 동안 3편 올렸어요.
숏츠는 빼고 보내 드려요. 메일이 필요 없어지면 언제든 구독을 끄실 수 있어요.