Prostir

기술

처음부터 기업 운영을 고려해 .NET으로 만든 클라우드 네이티브 AI 플랫폼.

프롬프트는 쉬운 부분입니다. Identity, state, 접근, 운영, 안정적인 공개 endpoint가 더 어렵습니다. Prostir는 .NET 10, Orleans, Aspire, Microsoft Agent Framework로 그 경계를 만듭니다.

5독립된 제품 영역

Agent, Skill, Flow, Team, Store는 각각 고유한 identity와 lifecycle을 유지합니다.

14지원 언어

정적 Landing은 지원하는 각 언어에 전용 route와 metadata를 게시합니다.

10아키텍처 계층

컴파일된 runtime과 cloud resources부터 공개 정적 화면까지 책임을 나눕니다.

1게시된 Agent별 MCP endpoint

게시된 각 Agent는 slug에 연결된 전용 Streamable HTTP endpoint를 가집니다.

아이디어에서 운영까지

아이디어는 하나의 프롬프트에서 시작할 수 있습니다. 제품 운영에는 열 개의 명확한 계층이 필요합니다.

AI 데모만으로는 사용자가 로그인하고 결제하며 계속 의존할 서비스에 필요한 요소를 모두 볼 수 없습니다. 컴파일된 코드부터 공개 URL까지, Prostir의 구성을 열 개의 책임으로 나누어 설명합니다.

  1. 01기반

    .NET 10과 C#: 컴파일과 강한 형식.

    Prostir는 .NET 10과 C# 14를 사용해 typed contracts, 비동기 I/O, dependency injection, options, telemetry, HTTP hosting, background services, source generation을 구성합니다. 언어 선택만으로 비용, 성능, 에너지 사용량, supply-chain 안전성이 보장되지는 않으며 workload, dependencies, deployment, 운영에 따라 달라집니다.

    • net10.0
    • ASP.NET Core 10
    • C# 14
    • Source generators
    • Typed contracts
  2. 02클라우드

    Azure: deployment 경계를 명시한 managed services.

    Prostir는 Azure Container Apps, Cosmos DB Serverless, Blob Storage, Monitor, managed identity, RBAC를 클라우드 구성 요소로 사용합니다. Azure는 service별 조건과 control을 문서화하지만, 그것이 Prostir를 자동으로 인증하거나 포괄적인 Prostir SLA를 만들지는 않습니다. Region과 resource는 실제 운영 환경에서 결정합니다.

    • Azure Container Apps
    • Cosmos DB Serverless
    • Azure Blob Storage
    • Azure Monitor
    • Managed identity + RBAC
  3. 03로컬 통합

    Aspire: integration을 구성하는 하나의 AppHost.

    Prostir.AppHost는 Cosmos DB, Azure Storage, Orleans, API, Gateway, WebApp, Landing, SuperAdmin을 로컬 및 자동 integration flow에 맞게 구성합니다. 설정 차이를 찾는 데 도움이 되지만 production readiness에는 deployment별 검증, monitoring, release checks가 별도로 필요합니다.

    • Aspire AppHost SDK
    • Aspire.Hosting.Azure.CosmosDB
    • Aspire.Hosting.Azure.Storage
    • Aspire.Hosting.Orleans
    • TUnit.Aspire
  4. 04분산 runtime

    Orleans: stateful 작업에 명확한 owner를 둡니다.

    Microsoft Orleans는 Agents, sessions, access grants, workflow runs와 같은 장기 state에 identity-keyed virtual actors를 제공합니다. 각 grain은 제한된 책임을 소유합니다. Orleans는 activation, placement, persistence integration, reminders, messaging을 제공하고 authorization, 제품 경계, 오류 처리는 Prostir가 정의합니다.

    • Microsoft.Orleans.Server 10.2.2
    • ManagedCode.Orleans.Identity
    • ManagedCode.Orleans.RateLimiting
    • Cosmos persistence
    • Grain-owned state
  5. 05MCP 경계

    ManagedCode.MCPGateway: 제품 control을 갖춘 remote MCP.

    MCP 사양은 protocol을 정의하지만 multi-tenant login, audit, cost cap, rate limit까지 정의하지는 않습니다. ManagedCode.MCPGateway는 Orleans runtime 앞에서 transport, 고객별 접근, tool별 제한, 명확한 error response를 게시된 endpoint에 제공합니다.

    • ManagedCode.MCPGateway 0.4.5
    • ModelContextProtocol 1.4.1
    • Streamable HTTP
    • OAuth + PKCE
    • Bounded quotas
  6. 06지식 계층

    ManagedCode.MarkdownLd.Kb: 검색 가능한 source context.

    ManagedCode.MarkdownLd.Kb는 지원 source를 Markdown-LD 또는 JSON-LD artifacts와 검색 가능한 graph data로 변환합니다. ManagedCode.Storage가 file boundary를 소유하고 JsonSchema.Net이 MCP tool arguments를 검증합니다. Index가 지원할 때 source-linked context를 가져올 수 있지만 품질과 인용은 source, indexing, configuration, model에 따라 달라집니다.

    • ManagedCode.MarkdownLd.Kb 0.2.7
    • ManagedCode.Storage.Azure
    • JsonSchema.Net 9.3
    • PdfPig + OpenXml
    • Graph-backed retrieval
  7. 07AI 계층

    설정된 model을 위한 하나의 application boundary.

    Microsoft.Extensions.AI는 IChatClient boundary를 제공하고 Microsoft Agent Framework는 prompt-based 및 declarative Agents를 실행합니다. 현재 연결은 Azure OpenAI, OpenAI-compatible connection, creator-owned connection을 사용합니다. 사용 가능 여부와 전환은 configuration, model capability, credentials, product policy에 따라 달라집니다.

    • Microsoft.Extensions.AI
    • Microsoft.Agents.AI 1.15
    • Azure OpenAI + OpenAI-compatible
    • Prompt + declarative workflows
    • IChatClient middleware
  8. 08개발 루프

    규칙을 공개한 Agent 지원 개발.

    Prostir는 repository가 소유하는 AGENTS.md rules, vertical slices, code review, focused checks, integration tests, release gates를 사용합니다. Coding agents는 조사, 구현, review를 돕지만 product ownership, 사람의 판단, 검증을 대신하지 않습니다.

    Claude CodeOpenAI Codex
    • AI-assisted delivery
    • AGENTS.md rules
    • Vertical slices
    • Human-reviewed changes
    • Integration test gates
  9. 09제품 화면

    Blazor, 결제, Stateless, Jint.

    Creator는 Blazor workspace를 사용하고 operator는 Blazor Server console을 사용합니다. Stateless는 대화 state를 모델링하고 Jint는 범위를 제한한 JavaScript tools를 sandbox에서 실행합니다. Stripe와 Rozetka Pay integration은 checkout과 webhooks를 접근 결정에 연결합니다. 각 기능은 configuration과 권한을 따릅니다.

    • Blazor WebAssembly 10
    • MudBlazor 9.7
    • Stripe and Rozetka Pay integration + webhooks
    • Stateless state machines
    • Jint 4 sandbox
  10. 10정적 공개 화면

    명시적인 discovery metadata를 갖춘 Astro.

    페이지는 정적 Astro HTML로 생성됩니다. Canonical, hreflang, structured data, sitemap, IndexNow, llms.txt가 의도한 공개 route를 설명합니다. 로컬 check는 HTML, crawlability, accessibility, Lighthouse template을 다루고 crawl, indexing, ranking은 검색 엔진이 결정합니다.

    • Astro static landing
    • JSON-LD + sitemap
    • IndexNow + llms.txt
    • Local Lighthouse checks
    • Localized hreflang

결과

게시된 Agent마다 하나의 hosted·관찰 가능한 MCP endpoint.

각 계층은 게시된 Agent의 slug에 연결된 MCP URL에서 만납니다. 지원 client는 Streamable HTTP로 연결하고 접근, 결제, 지식, tools, state, memory, audit, limit은 명시적으로 설정하는 기능으로 남습니다.

  • Remote MCP endpoint
  • OAuth 2.1 + entitlements
  • Per-agent quotas + audit
  • Live operator visibility

.NET을 선택한 이유

세 가지 실용적인 stack과 문서화된 Prostir의 선택.

Node.js, Python, .NET은 모두 MCP server를 host할 수 있습니다. 이 표는 Prostir가 실제로 사용하는 구현 선택을 설명하며 성능, 비용, 에너지, 안전성의 보편적인 순위가 아닙니다.

항목Node.js / ExpressPython / FastAPIProstir (.NET 10)
HTTP runtimeNode.js runtimePython ASGI runtimeASP.NET Core 10
identity별 분산 stateChoose a state frameworkChoose a state frameworkOrleans 10.2.2 virtual actors
Dependency injection, options, telemetryFramework or library choiceFramework or library choiceMicrosoft.Extensions.*
AI abstractionProvider libraries or abstractionProvider libraries or abstractionMicrosoft.Extensions.AI + Agent Framework 1.15
MCP SDKOfficial MCP TypeScript SDKOfficial MCP Python SDKOfficial MCP C# SDK 1.4.1
tool schema validationLibrary-selected validationLibrary-selected validationJsonSchema.Net 9.3
contract modelTypeScript contractsPython typing toolsC# 14 + source generation
로컬 구성Local process toolingLocal process toolingdotnet watch + Aspire AppHost

Node.js와 Python 열은 일반적인 선택을 보여 줄 뿐 제한을 뜻하지 않습니다. Prostir 열은 현재 repository의 package 및 project file을 기준으로 합니다.

Azure를 선택한 이유

동일한 MCP backend와 명확한 cloud boundary.

이 비교는 cloud provider의 service capability와 개별 Prostir deployment의 configuration 및 책임을 구분합니다.

확인할 항목AWS에서Azure의 Prostir
Compliance 및 control 문서Service-specific controls and certificationsAzure service controls; Prostir deployment assessed separately
Availability 조건Per-service and per-region termsNo blanket Prostir SLA is claimed here
Regional placementRegion configured per workloadOperator-provisioned regional resources
Network 및 ingressOptional global networking servicesConfigured Gateway and static-site routing
Model provider routeBedrock and partner model routesAzure OpenAI, OpenAI-compatible, and creator BYOK routes
고객 접근Cognito or custom identityProstir access and OAuth policy above the hosting layer
Application runtimeRuntime selected by the team.NET, Orleans, Aspire, and Managed Code libraries
정적 Landing hostingS3 + CloudFront or AmplifyAzure Static Web Apps for this landing

Cloud provider는 자체 service 기능을 문서화합니다. Prostir 인증, SLA, deployment region, 운영 control은 실제 환경별로 따로 확인해야 합니다.

오픈 소스

우리가 공개하고 사용하는 오픈 소스.

Managed Code는 Microsoft와 community의 오픈 소스를 기반으로 Prostir를 만듭니다. 아래 package는 marketing용 목록이 아니라 실제 project file에서 확인한 구성 요소입니다.

01

Managed Code가 만든 구성 요소

게시된 Agent 아래에서 동작하는 MCP gateway, knowledge pipeline, storage, Orleans integration은 Managed Code가 유지보수하고 공개하는 components입니다.

02

.NET 기반

.NET 10, ASP.NET Core, Aspire는 Prostir가 사용하는 typed contracts, hosting, telemetry, resource composition을 제공합니다.

03

AI, MCP 및 상위 libraries

Prostir는 IChatClient boundary에 Microsoft.Extensions.AI, Agent 실행에 Microsoft Agent Framework 1.15를 사용하며 MCP C# SDK 1.4.1, Jint, Stateless, 지원 결제 integration을 함께 구성합니다.

04

이 사이트의 개발과 배포

Prostir는 Agent 지원 개발에 repository rules, code review, 자동 checks, 사람의 ownership을 결합합니다. AGENTS.md가 delivery contract를 명시하고 Astro가 이 정적 현지화 페이지를 생성합니다.

기술 FAQ

이 스택으로 만들기 전에 팀이 확인하는 질문.

Orleans, Aspire, C#, MCP, 결제, 접근 제어, 지식, 운영 가시성을 실제 production 결정과 연결한 답입니다.

Prostir에서 Orleans는 실제로 무엇을 하나요?Orleans는 agent, session, customer, access grant, channel conversation, wallet hold, workflow run처럼 오래 살아 있는 runtime identity를 맡습니다. 각 항목은 안정적인 id, state, behavior를 가지며 singleton, cache, background process 안에 state를 숨기지 않습니다.읽기
Queue와 CRUD API보다 Orleans가 나은 때는 언제인가요?작고 대부분 독립적인 entity가 많고, request-response 작업, start-monitor-complete flow, identity별 state가 필요할 때입니다. Microsoft는 user profiles, purchase orders, sessions, stocks, social pub/sub을 예로 들고, Prostir는 같은 패턴을 agents, customer sessions, workflow runs에 적용합니다.읽기
Product 관점에서 grain은 무엇인가요?Grain은 virtual actor입니다. identity, behavior, 필요하면 persistent state를 가진 논리 객체입니다. Prostir에서는 published agent, customer conversation, access grant, workflow run이 grain이 될 수 있습니다.읽기
Orleans는 tenant isolation에 어떻게 도움이 되나요?State는 owner, agent, customer, run identity로 key 처리되므로 작업은 shared process memory가 아니라 isolated grains 안에 들어갑니다. 실패한 session이 다른 tenant의 global mutable state가 되지 않습니다.읽기
Orleans의 주요 위험은 무엇인가요?위험한 패턴은 chatty grains, 하나의 bottleneck coordinator, blocking synchronous calls, 너무 큰 messages, 숨겨진 shared state입니다. Prostir는 vertical ownership, async grain calls, fan-out용 stateless workers, 실제 Gateway/API/Orleans 경로를 지나는 integration tests로 이를 드러냅니다.읽기
Aspire는 Docker Compose보다 무엇을 더하나요?Aspire는 .NET solution에 projects, dependencies, service discovery, configuration, health, telemetry, cloud resource shape를 아는 AppHost를 줍니다. 단순 process startup이 아니라 local dev, CI, Azure deployment에서 쓰는 resource graph입니다.읽기
Prostir는 테스트에서 Aspire를 어떻게 쓰나요?AppHost는 integration/browser tests에 필요한 Cosmos DB, Azure Storage, Orleans, API, Gateway, Landing, WebApp, SuperAdmin을 시작합니다. 같은 service boundary를 검증하지만 production에는 deployment별 configuration과 release checks가 있습니다.읽기
왜 runtime을 C#과 .NET으로 만들었나요?Runtime에는 strong contracts, async IO, dependency injection, options, telemetry, HTTP hosting, background workers, source generation, 예측 가능한 deployment가 필요합니다. .NET은 이것을 first-party infrastructure로 제공합니다.읽기
.NET이 Prostir를 하나의 AI provider에 묶나요?아니요. Microsoft.Extensions.AI와 `IChatClient`가 안정적인 chat/tool boundary를 제공합니다. 실제 model은 runtime contract를 충족하는 설정된 Azure OpenAI, OpenAI-compatible 또는 creator-owned connection에서 옵니다.읽기
Production에서 MCP가 어려운 이유는 무엇인가요?Protocol은 입구일 뿐입니다. 유료 remote MCP endpoint에는 OAuth, access grants, tenant checks, tool schemas, rate limits, quotas, billing, audit trails, 신뢰할 수 있는 errors, 매 request마다 전체 product database를 읽지 않는 hot path가 필요합니다.읽기
ManagedCode.MCPGateway는 어디에 들어가나요?ManagedCode.MCPGateway는 Orleans runtime 앞의 protocol edge입니다. remote MCP endpoint를 노출하고, tool calls를 라우팅하고, visible tool boundaries를 강제하며, protocol concerns를 product-state API 밖에 둡니다.읽기
Paid access는 어떻게 runtime permission이 되나요?Seller-owned providers의 checkout과 webhooks가 access grants를 만들거나 취소합니다. Gateway는 protected MCP calls 전에 grants를 확인하므로 payment state는 spreadsheet가 아니라 runtime permission이 됩니다.읽기
Knowledge layer는 prompt stuffing을 어떻게 피하나요?Files는 Markdown-LD / JSON-LD knowledge artifacts와 searchable graph data가 됩니다. Index가 지원할 때 runtime은 범위가 제한된 source-linked context를 가져옵니다. 품질은 source, indexing, configuration, model에 따라 달라집니다.읽기
이 stack에 맞는 실제 use case는 무엇인가요?Paid knowledge agents, customer memory가 있는 support copilots, state machines가 있는 process agents, Telegram 또는 web widgets용 channel agents, 판매 가능한 skill passports, progress, retries, audit가 필요한 workflows가 잘 맞습니다.읽기
언제 이 stack이 과한가요?Static website, 일회성 prompt demo, auth, tools, billing, state, customer memory가 없는 private chatbot만 필요하다면 더 단순한 것을 쓰면 됩니다. Prostir는 agent가 다른 사람이 의존하는 hosted product가 되는 순간을 위한 것입니다.읽기
Prostir는 API로 동작하나요, MCP로 동작하나요?Claude, ChatGPT 및 다른 호환 AI client에서 Agent를 사용할 때는 remote MCP endpoint가 제공 경로입니다. 브라우저 관리, 결제, 승인된 시스템 연동에는 APIs와 webhooks도 사용합니다. 플랫폼은 .NET과 Azure 기반 cloud-hosted 서비스입니다. CRM, database 또는 사내 시스템 연동은 플랜에 따라 맞춤 범위가 필요할 수 있습니다.읽기

기술

기술을 구체적인 제품 경로에 연결하세요.

가이드와 예시는 지식, tools, state, memory, 결제, 접근, quota, 운영이 어디에서 연결되는지 보여 줍니다. 검증된 고객 사례는 별도의 근거 유형으로 다룹니다.