The fastest & easiest way to get code into production

Skopos is a continuous deployment system for container-based services

Continuous deployment is especially useful for teams using microservice architectures. DevOps teams can use Skopos to complete their CI/CD toolchain development-to-production cycle. Using an automated system to move completed code from development into production environments ensures predictable, reliable and repeatable deployments.

Complete your CI/CD toolchain

Skopos Continuous Deployment fills the gap between your continuous integration (CI) system and your production environment. Skopos compiles and executes a plan to deploy containerized applications to Docker CE, Docker EE and Amazon ECS environments.

Skopos Continuous Deployment is a Docker Certified container and available in Docker Store.

Make your deployments fast and reliable

Eliminate scripting

and the associated errors using a declarative model defining components, relationships, and quality checks so that deployments are reliable.

View your models

and plans visually so relationships issues are easy to grasp and share with coworkers; even those who don’t code.

Quality gates

verify each step because deployments involve real infrastructure and third party services, where errors do happen.

Automatically rollback

to ensure your app remains in an operational state when a quality gate detects a failure.

A Simple Path To Getting Started

Here’s how to get started with Skopos Continuous Deployment.

Discover your service

Discover Existing Applications by scanning your Docker Registry or give Skopos a starting point for a running app and the system discovers the components of your service. Import a Docker Compose File to expose the existing architecture or if you haven’t yet built an app, Use Our Demo App to get started. From each of these starting points, Skopos will create a Model, show you your architecture.

Visualize and share

Skopos visualizes your architecture including the number of instances of each component, connections and dependencies. The visualization provides an easy way to share your service architecture with your team, even folks who don’t code. You can also observe the current state of your application, especially if you’re planning on making a change in the near future.

Select Your Level of Deployment Autonomy

Select the desired level of autonomy for deployments (usually auto-detect or auto-deploy). Auto-detect alerts you when changes are ready to deploy but waits for your approval. Auto-deploy will continuously detect, plan and deploy autonomously. Auto-deploy can update multiple applications based on changes to the same container or model, such as instances running in multiple geographies.

Select An Action

Select your desired action such as Deploy, Force Replace or Teardown. Selecting deploy will deploys your application, whether from scratch or an upgrade of any modified components. Force Replace will refreshes all services, even if they have not changed. Teardown stops and removes all services of the application. Of course, Skopos can deploy and start it again.

View the Deployment Plan

Skopos automatically compiles a plan for your selected action (deployment, force replace or teardown) by comparing the existing application to the new desired state. While viewing the plan you can select any step to see the detailed plugin, action and parameters for the step. Rollback is always generated as part of the plan. On an error rollback will execute and a detailed error message presented.

Edit & View the Model, Environment and Plan Descriptors

You can edit descriptors in YAML by clicking the { } button on the upper right of the screen. For instance you may wish to scale your service by changing the number of replicas of a component. You can also edit the model descriptor visually. The changes made to the descriptors via this user interface will only last during your current session.

Check Model and Environment Descriptors Into Your Repository

The Model and Environment are all described in a simple YAML format. This is useful for editing the files as well as change control. Since these files are not in a database but are stored at .yaml files, you can easily check the model, environment and plan in  your code repository for a specific release.

Deploy Your Application

To deploy your application, select the Deploy option in the Action drop down and then select Start. While the deployment proceeds, you can view the Model to see which components are updated or switch to the Plan to see each step of the deployment process get executed.

Control Your Deployment

Click “Switch to Plan” to view the available deployment actions. You can Pause/Resume, Single-Step or Abandon the deployment at anytime. Abandon stops the current deployment process and does not execute the rollback steps which is useful if you want to manually correct the deployment or fail-forward by fixing the problem and letting Skopos figure out how to deploy the change.

Let’s Take it to the Next Level

Enough of basics. Here’s how to begin improving your deployment process.

Integrate with CI/CD

Skopos can plug into your existing CI/CD system to deploy when requested or when a new update is detected. Support for static & dynamic deployments, mutable and immutable container tags, and integration with CI tools such as Jenkins or Circle CI, make it easy for you to set this up in just a few minutes.

Enable ChatOps Notifications

Skopos can send notifications to Slack whenever deploys start and end, or any other significant events occur. You can use both the pre-defined deploy notifications that come built into Skopos or create your own user-defined notifications at specific points or as a result of specific events in the deploy process.

 

Add Quality Gates

Probe your deployment at key steps to ensure success by injecting quality checks along the way. Lifecycle events can be inserted into your plan by defining them in your model file. This allows you to insert your own scripts to be executed at certain places in the plan.

 

Turn On Full AutoPilot

Skopos AutoPilot automatically and continuously detects differences between your desired state (as described in the model file) and what is currently running. With auto-pilot turned on, a difference detected will automatically initiate a deploy to bring your application up to date.

Have additional questions about Skopos Continuous Deployment and where it fits?

Visit the Skopos frequently asked questions to dive deeper into the system.