Skip to content

How it works

Omnistrate is a complete SaaS platform that allows you to build your SaaS in minutes, generates your control plane for you and your customers to access your SaaS and finally provides you with the management portal to operate your SaaS.

  • Build: If you are a new user trying to build your SaaS, start with the Build portal to build your SaaS. The build portal will convert your docker image into SaaS which can be accessed from the Access portal on release. More details, here

  • Access: If you are here to access one of your own existing services, please use the Access portal of the corresponding service to access your SaaS. More details, here

  • Operate: If you are here to operate one of the existing services that you have already built, please access the Operate portal to manage your SaaS. Operate portal is mainly used for day-2 operations by your devops/secops/finops teams from learning about the fleet health, exploring your inventory, patching the fleet, to getting visibility and insights into fleet. You can also evolve your service from tuning the customer experience, upgrading infrastructure, test your changes in a sandbox environment, and so on. More details, here

Build

Your SaaS is a collection of 1 or more service components. Each service component (also referred as resource) is a unit of functionality that can be run independently.

You can think of service component as a microservice with an optional image or infrastructure or configuration attached. To learn more about service component and what it entails, please see this page.

We provide multiple ways for you to build your SaaS. In the following section, we will go over each of those mechanism:

  • You can bring your own compose specification, see here
  • You can start from scratch on our API/CTL/UI, see here

Creating service from templates

If you already have a compose specification, you can directly import your specification into the platform and we will parse the specification to build an equivalent experience for your SaaS. To set it up using compose, please see this

Note that compose specification is just a way to quickly get started and is not a requirement to use the platform. You are welcome to use Omnistrate APIs/UI directly as well to build your SaaS. Once imported, you can review your SaaS on the Access portal.

If you are happy with your SaaS, you can show it to your customers otherwise you can continue to iterate through your SaaS and Omnistrate will automatically manage all of your SaaS versions.

Note

We have provided compose specification for some of the most common open source technologies. Feel free to leverage them or use them as examples to build your own.

If you need help with the compose specification for one of the open-source softwares, please send an email to support@omnistrate.com

Example

We will use a hello world example using MySQL. Here is a sample compose specification for reference:

version: '3'
services:
  db:
    image: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: your_password_here
      MYSQL_DATABASE: your_database_name_here
      MYSQL_USER: your_username_here
      MYSQL_PASSWORD: your_password_here
    volumes:
      - ./data:/var/lib/mysql
    ports:
      - '3306:3306'

Create new service from Omnistrate API/CTL/UI

If you don’t have compose specification for your project or do not prefer to use that, you can directly use our UI to build your SaaS service by defining service plan, service components, images, infra, integrations and releasing them. Please see this page for more reference.

You can then view your SaaS on the Access portal. If you are happy with it, we also allow you to make your SaaS public with just 1-click and have your customers directly consume your SaaS from your own custom domain. If you want to make it live on cloud marketplaces as well, please follow this

Alternatively, you can also use our API or CTL to achieve the same if you prefer a programmatic way.

Access

After you have built your SaaS, Omnistrate will automatically build your control plane and start hosting it across clouds and regions.

Access portal is an interface (API/CLI/UI) to your custom control plane for your SaaS built and hosted by Omnistrate. It allows your customers to provision, scale, view resources along with other management operations. Omnistrate generates API/UI for your customers to talk to your control plane.

Note

Please note that for all the data access, your customers' directly interact with the software running in your account (Hosted mode) or in your customers' account (BYOA mode) unless Omnistrate Hosted mode is explicitly chosen to deploy in Omnistrate's account.

Note

By default, it can only be accessed by your account and to allow customers to use your SaaS, you will have to either:

  • mark your service public to make it available directly from the Omnistrate portal. Of course, you can bring your own custom domain and custom UI if you prefer
  • keep the service private and wrap up your control plane interfaces to build your own experiences on top

UI

Here is a UI generated for a demo MySQL SaaS mentioned here built with Omnistrate:

MySQL SaaS UI

CTL

Omnistrate CTL is a command-line tool designed to help you build your Omnistrate SaaS effortlessly. It provides a convenient interface to interact with the Omnistrate platform and execute various operations on your services. If you already have a compose file ready, CTL is the recommended method for building your services.

 ./omnistrate-ctl                   
                  _     __           __     
 ___  __ _  ___  (_)__ / /________ _/ /____ 
/ _ \/  ' \/ _ \/ (_-</ __/ __/ _ `/ __/ -_)
\___/_/_/_/_//_/_/___/\__/_/  \_,_/\__/\__/ 

Omnistrate ctl is a command line tool for creating,
deploying, and managing your Omnistrate SaaS.

Usage:
  omnistrate-ctl [flags]
  omnistrate-ctl [command]

Available Commands:
  build       Build service from a docker-compose file
  completion  Generate the autocompletion script for the specified shell
  describe    Describe service
  help        Help about any command
  list        List service
  login       Log in to Omnistrate platform
  logout      Logout from Omnistrate platform
  remove      Remove service from Omnistrate platform

Flags:
  -h, --help   help for omnistrate-ctl

Use "omnistrate-ctl [command] --help" for more information about a command.

To start using CTL, you first need to log in to the Omnistrate platform. You can do this by running either of the following command:

# Option 1: provide email and password as arguments
omnistrate-ctl login --email email --password password
# Option 2: store password in a file
cat ~/omnistrate_pass.txt | ./omnistrate-ctl login --email email --password-stdin
# Option 3: store password in an environment variable
echo $OMNISTRATE_PASSWORD | ./omnistrate-ctl login --email email --password-stdin
Once you are logged in, you can use CTL to create, update, and manage your services. Here are some common commands:

Before you can build a service, you need to have a docker-compose file that defines the service. The docker-compose file should include the service plan configuration in the x-omnistrate-service-plan section. Here is an example of a docker-compose file with a hosted deployment type:

version: "3"
x-omnistrate-service-plan:
  name: 'Your Service Plan Name'
  tenancyType: 'OMNISTRATE_DEDICATED_TENANCY'
  deployment:
    hostedDeployment:
      AwsAccountId: '0123456789'
      AwsBootstrapRoleAccountArn: 'arn:aws:iam::0123456789:role/YOUR_AWS_BOOTSTRAP_ROLE'
services:
    ...

To build a service from a docker-compose file, use the build command:

./omnistrate-ctl build --file docker-compose.yaml --name "Your Service Name"

This command will create a new service named "Your Service Name" using the docker-compose file docker-compose.yaml.

If the service is built successfully, you will see a message like this:

Service built successfully
Check the service plan result at https://omnistrate.cloud/product-tier/build?serviceId=s-lfuFlBuRlD&productTierId=pt-TcSiyeoXEA
Consume it at https://omnistrate.cloud/access?serviceId=s-lfuFlBuRlD&environmentId=se-hC4Z5oHUVd

If you want to release the service after building it, you can use the --release-as-preferred or --release flag in the build command.

To update the service with a new compose spec, use the same command as above with the updated compose spec file.

To list all the services you have created, use the list command:

omnistrate-ctl list

This command will display a list of all your services, along with their status and other details.

To get more detailed information about a specific service, use the describe command:

omnistrate-ctl describe --service-id <service-id>

Replace <service-id> with the ID of the service you want to describe. This command will display detailed information about the specified service.

To remove a service from the Omnistrate platform, use the remove command:

omnistrate-ctl remove --service-id <service-id>

Replace <service-id> with the ID of the service you want to remove. This command will remove the specified service from the platform.

For more details, please see this.

API

Here is an API generated for an demo MySQL SaaS mentioned here built with Omnistrate:

MySQL SaaS UI

Operate

Building and providing access to your customers is the first step to launch your service and start monetizing your invention but it doesn’t end there. As part of managed services, you are expected to provide fully managed experience and you may have to worry about the following:

  • Availability - Omnistrate helps you recover from the infrastructure so that you can focus on making your software resilient. More specifically, Omnistrate helps recover from machine failures, network partitions, AZ failures, temporary process failures, process deadlatches, gray storage nodes out of the box. For more details, please see this
  • Operations - You may want to know fleet health, visibility into how your customer infrastructure is doing, inventory of your fleet, fleet insights. Omnistrate provides necessary views for you to operate and take necessary actions to enhance your service. For more details, please see this
  • Patching - As a service provider, you may have updates to your software that you want to rollout. Omnistrate allows you to define and manage software upgrades across the fleet. For more details, please see this
  • and, much more like continuous deployment, metering, scaling, compliance, access control, improve internal developer productivity

We also integrate with the SaaS applications of your choice for you to continue to use your favorite tooling. For more details, please see integrations

To get started with Omnistrate, see this

To learn more about Omnistrate Architecture, see this