Welcome to Easy AppServer
Easy AppServer is a next-generation application platform that enables teams to build, deploy, and manage modular enterprise applications through a microfrontend architecture. It provides a complete ecosystem for developing composable software where independent applications can be installed, orchestrated, and integrated seamlessly into a unified user experience.
What Problems Does It Solve?
Modern enterprise software faces several key challenges:
- Monolithic Complexity: Traditional applications become increasingly difficult to maintain and scale as they grow
- Team Bottlenecks: Multiple teams working on a single codebase leads to coordination overhead and deployment conflicts
- Technology Lock-in: Being forced to use the same technology stack across all features limits innovation
- Deployment Risk: Changes to one feature can break unrelated functionality
- Integration Complexity: Connecting disparate systems requires custom integration code and maintenance
Easy AppServer addresses these challenges by providing a platform where:
- Applications are developed, deployed, and versioned independently
- Teams can choose the best technology for their specific needs
- New features can be installed and removed without affecting the core system
- A unified authentication and authorization layer ensures security across all applications
- Built-in event-driven architecture enables loose coupling between applications
Key Capabilities
🎯 Microfrontend Platform
Load and compose frontend applications dynamically using Module Federation, Web Components, or ESM modules. The platform handles asset serving, security, and cross-application communication.
🔌 Intelligent HTTP Proxy
Applications run as backend services with their own HTTP routes. The AppServer acts as an intelligent reverse proxy that:
- Routes requests to the correct application backend
- Verifies permissions BEFORE forwarding requests to apps
- Enforces rate limiting per route with customizable limits
- Circuit breaking for failing backends to prevent cascading failures
- Route metadata (permissions, rate limits) declared in app manifest
🔐 Unified Authentication & Authorization
Integration with industry-standard auth providers (Ory Kratos, OpenFGA) provides:
- User authentication with session management (via Kratos)
- Application-to-AppServer authentication via certificate-based signatures
- Fine-grained permission control with OpenFGA relation-based access control
- OAuth2/OIDC support planned (Ory Hydra integration)
🐳 Docker Orchestration (Optional Plugin)
The standalone orchestrator (cmd/orchestrator/) is an optional component that:
- Listens for application install/uninstall events via the event bus
- Automatically deploys containers for applications to Docker infrastructure
- Manages container lifecycle (start, stop, health monitoring, restarts)
- Handles network isolation, volume persistence, and environment injection
- Can be enabled/disabled independently of the core AppServer
- Container configuration currently via server config (manifest-driven deployment planned)
📡 Event-Driven Architecture
RabbitMQ-based event bus enables applications to:
- Publish domain events (app installed, user created, settings changed)
- Subscribe to events from other applications
- Maintain eventual consistency
- Implement cache invalidation strategies
- Synchronize distributed caches across AppServer instances
📊 GraphQL API
Real-time API for platform management:
- Queries for applications, settings, and installation status
- Mutations for app installation, uninstallation, and configuration
- Subscriptions for real-time updates (app status changes)
- Interactive GraphQL Playground (development mode)
- WebSocket support for live data
⚙️ Application Lifecycle Management
Complete control over application states:
- Registration: Apps authenticate and declare capabilities
- Installation: Dependency resolution, resource allocation, event subscriptions
- Running: Health monitoring, auto-recovery, automatic restarts
- Uninstallation: Clean teardown with dependency impact analysis
Architecture Overview
The Easy AppServer consists of several key components:
- AppServer Core: Go-based backend with gRPC/HTTP/GraphQL APIs, PostgreSQL persistence, Redis caching
- Shell: Nuxt 4-based frontend serving as the platform UI and microfrontend host
- Node.js SDK: Backend SDK for app registration - implements lifecycle hooks, builds frontends (if app has UI), and sends complete AppManifest (dependencies, permissions, routes, settings schemas, etc.) to AppServer
- Frontend SDK: Browser-side SDK that fetches app information from AppServer and mounts microfrontends into the Shell with Vue integration
- Orchestrator (Optional): Standalone plugin (
cmd/orchestrator/) that listens for install/uninstall events and auto-deploys Docker containers from registry - Infrastructure Services: PostgreSQL, Redis, RabbitMQ, Ory Stack (Kratos/Hydra/Oathkeeper), OpenFGA
- Telemetry Stack: Prometheus metrics, Loki logs, Tempo traces, Grafana dashboards
Horizontal Scalability
The AppServer is designed for horizontal scaling:
- Multiple AppServer instances can run concurrently
- Instances communicate via RabbitMQ event bus to synchronize state
- State changes (app installations, settings updates, permissions) are propagated across all instances via events
- Stateless design allows for dynamic scaling based on load
Applications register with the AppServer via the Node.js SDK, providing a complete manifest that declares:
- Dependencies, permissions, and HTTP routes with metadata
- Frontend components (if any) to be mounted in the Shell
- Settings schemas with validation rules and UI hints
Once installed, applications can:
- Serve HTTP routes (proxied through AppServer with permission checks and rate limiting)
- Mount microfrontends into the Shell (loaded via Frontend SDK)
- Store encrypted settings with rich schemas for automated form generation
- Call APIs of other applications via the AppServer proxy
- Publish and consume domain events
- Have their Docker containers automatically managed by the orchestrator plugin
Who Should Use Easy AppServer?
Easy AppServer is ideal for:
- Enterprise Development Teams building modular applications that need to scale across multiple teams
- Platform Engineers creating internal developer platforms with app marketplaces
- SaaS Providers offering extensible platforms where third-party apps can be integrated
- Product Teams transitioning from monolithic architectures to microfrontends
- Organizations managing complex software ecosystems with multiple independent applications
Main Features at a Glance
| Feature | Description |
|---|---|
| Application Marketplace | Install, update, and remove applications dynamically |
| Dependency Management | Automatic resolution with version constraints (HARD/SOFT dependencies) |
| Microfrontend Loading | Module Federation, Web Components, ESM with asset SRI verification |
| HTTP Proxy | Intelligent routing with permission checks, rate limiting, and circuit breaking |
| Docker Orchestration (Plugin) | Optional orchestrator that auto-deploys containers declared in manifests from registry |
| Horizontal Scalability | Multiple AppServer instances synchronized via event bus |
| GraphQL API | Real-time queries, mutations, and subscriptions |
| Event Bus | RabbitMQ-based pub/sub for cross-application events and state synchronization |
| Settings Encryption | AES-256-GCM encryption for sensitive configuration |
| Permission System | OpenFGA relation-based access control with permission declarations |
| Certificate Management | X.509 certificate-based app authentication with replay protection |
| Observability | Built-in metrics, logs, and traces with OpenTelemetry |
Next Steps
Ready to get started?
- Quick Start Guide - Get Easy AppServer running in 5 minutes with Docker
- Core Concepts - Understand the fundamental concepts and architecture
- Building Your First App - Create and deploy your first application
- Node.js SDK Documentation - Learn how to build backend applications
- Frontend SDK Documentation - Build microfrontends with the browser SDK
Easy AppServer v2 represents a complete rewrite focused on scalability, developer experience, and modern cloud-native patterns. Join us in building the next generation of modular enterprise software.