ERP

SAP BTP 기반 SaaS 애플리케이션으로 전환해보자

마시멜로를찾아서 2025. 4. 30. 13:26
반응형

🧱 1. SaaS 아키텍처 설계

💡 구조 개요

┌────────────────────┐
│     고객사 사용자     │
└────────┬───────────┘
         ▼
   ┌────────────┐
   │ App Router │  ← 테넌트 라우팅 & 인증 (XSUAA 사용)
   └────┬───────┘
        ▼
┌──────────────────────┐
│  SaaS Backend (API)  │ ← Cloud Foundry or Kyma
└────┬────────────┬────┘
     ▼            ▼
 DB per tenant   Provisioning Service (Onboarding, Offboarding API)

🔑 구성 요소

구성 요소설명
App Router HTML5 앱 라우팅 및 테넌트 식별 (?tenant=abc-corp 등)
XSUAA 인증 SAP 사용자 인증 및 테넌트별 Role 분리
SaaS Backend Node.js/Java 기반 API 서버 (귀하의 기존 백엔드 이식)
테넌트 DB MariaDB or SAP HANA Cloud (테넌트 별 DB 또는 스키마 분리)
SaaS Provisioning API 테넌트 등록/해지/DB 초기화 관리

⚙️ 2. SAP BTP 설정 가이드 (요약)

1️⃣ 글로벌 계정 생성

  • SAP BTP Cockpit → Global Account 생성 (Free Tier or CPEA)

2️⃣ 서브계정(Subaccount) 설정

  • 환경: Cloud Foundry
  • Region: Asia (Tokyo), Europe (Frankfurt) 등

3️⃣ Entitlement 설정

  • 필요한 서비스 할당:
    • Application Runtime
    • XSUAA (Authorization & Trust)
    • HTML5 Application Repository
    • SAP HANA Cloud or 외부 DB
    • SaaS Provisioning Service (Beta일 수 있음)

4️⃣ 서비스 인스턴스 생성

cf create-service xsuaa application my-xsuaa -c xs-security.json
cf create-service html5-apps-repo app-host my-html5

5️⃣ 환경 변수 설정 및 라우팅

  • xs-app.json → AppRouter 라우팅 정의
  • mta.yaml → SaaS 앱 디플로이 정의

💻 3. 샘플 SaaS 코드 예시

📂 샘플 구조

/saas-app
├── approuter/
│   └── xs-app.json
├── backend/
│   └── server.js (Node.js)
├── db/
│   └── tenant-db-init.sql
├── provisioning/
│   └── onboarding.js
├── mta.yaml
└── xs-security.json

📌 AppRouter 예시 (xs-app.json)

{
  "welcomeFile": "/index.html",
  "routes": [
    {
      "source": "^/app/(.*)$",
      "target": "$1",
      "authenticationType": "xsuaa",
      "destination": "backend-api"
    }
  ]
}

📌 SaaS Provisioning API 예시 (onboarding.js)

 
app.post('/callback/v1.0/tenants/*', async (req, res) => {
  const tenantId = req.body.subscribedSubdomain;
  await createTenantSchema(tenantId); // DB schema 생성
  res.status(200).send(`Tenant ${tenantId} onboarded`);
});

💰 4. 비용 계산 예시 (대략)


 

항목 단가 (예시, EUR) 설명
Application Runtime ~€0.041/hr per GB memory Cloud Foundry 앱 실행
XSUAA (인증) 기본 포함 (10K users/month 기준) 테넌트 인증
HANA Cloud (Starter) €40/Month 기본 인메모리 DB
AppRouter + HTML5 무료 (호스팅 포함) 정적 파일 배포
SaaS API 트래픽 (요금제에 따라 상이) Outbound 트래픽 기준 청구

SAP 공식 가격 계산기에서 시뮬레이션 가능

 


✅ 요약 체크리스트

항목필요 여부설명
BTP 계정 생성 Free Tier로 시작 가능
백엔드 앱 이식 Node.js/Java 등
DB 이식 또는 마이그레이션 MariaDB는 외부 호스팅, HANA Cloud는 기본 제공
인증(XSUAA) 구성 테넌트별 인증 체계
SaaS 관리 API 구축 테넌트 온보딩/오프보딩 자동화
배포 자동화 (CI/CD) 선택사항이지만 권장

 

반응형