- Multi-tenant platform
- Apps are isolated to increase security and improve performance
- Fully automated provisioning of apps, endpoints, databases and incremental resource allocations
- Real time monitoring of platform, apps and databases that trigger alerts for ops
- Integrations framework to support official and community-contributed endpoints
- Automated reproduction of existing applications, including integrations, listeners and events
- Flexible deployment options
- Platform Manager: Systems administrators can see all apps, endpoint statuses, monitoring data and platform status information and can trigger operations tasks like backups, restores, and upgrades.
- Account manager: developers and admins can create, clone and manage apps, billing and invoices.
- Endpoints services: these services interface endpoints with apps. Endpoints must comply with the endpoints services API.
- Apps router: takes all requests to the platform and routes them to the correct component.
- Distributed services: provides services to coordinate the different components of the platform that are distributed across the cluster.
- Scheduler: triggers time events for apps and for the platform.
- Platform services: external services that support the SLINGR platform. These are Google Container Engine to manage the cluster, MMS and Google Compute Engine to provision databases and Mandrill to send system emails.
- Cluster: a set of machines on Google Compute Engine managed by Kubernetes (Google Container Engine).
- App builder: Browser based tool used to create and change apps, integrate endpoints, and define triggers and events.
Template applications share one builder and dev environment that produces meta-data for clones.
- App runtime: Executes meta-data created in BUILDR. App instances can be added as load increases.
- App monitor: Visibility into App Runtime including logs, activity and database statuses.
- Distributed services: Manages queues for jobs and concurrency when there are multiple runtime app instances.
- App database: Each application has its own database, which can be in a shared or dedicated server environment.
- Endpoints: components in charge of communicating with external services like Slack or Mailchimp.
Each app has its own instances of endpoints (they aren’t shared across apps). More instances can be added to improve performance for heavy traffic.
- External services: Services that are integrated with apps. Endpoints are the bridge between these services and the app.