Cycle is a SaaS platform that makes running containerized applications on cloud infrastructure simple.
Simplicity is important as soon as you start to manage more than 1 of anything.
A single server is simple to manage, as the number of servers grows, that simplicity wanes. A single application can be simple to manage, but creating several copies of that application can become complex. A small network is maintainable, but troubleshooting sprawling dynamic networks can bring even the most adept teams to a halt. With modern development, things are becoming smaller and more distributed (more instances in more locations). More resilient, yet inherently more complex.
Not every team has the resources to hire a group of engineers to manage that growing complexity. Using Cycle keeps things simple for those teams.
Cycle is SaaS based, so that means you'll be signing into your account through a web portal. To gain access to the suite of tools available on Cycle, deploy a hub. A hub is where users can add infrastructure (to power their applications) and environments (to network everything together). The rest of the tools on the platform either provide support to your running applications (ex: two-way console), or output that can be used to observe usage and status (ex: container dashboard). Of course there's much more here than meets the eye, and throughout this documentation we'll provide technical reference to these concepts in as straightforward a way as possible.
Use the Cycle Account Wizard to begin the signup process.
- Enter your name, email address, and password.
- You will receive an email with a verification code. Enter the code into the box and select "Verify Email".
- You've successfully created an account, click the Login button to be automatically logged in.
Use the intuitive Create Hub Wizard to get started.
If this is your first time creating a hub, simply log in to the portal and click Create Hub in the navigation menu. If you would like to add another hub, click the hub toggle in the nav menu on the left side and select Add Hub.
Give your hub a name that will remind you what you plan to use the space for.
There will be a short infopanel that talks about how Cycle interacts with your infrastructure. This is just here to remind you that all infrastructure actions (provisioning, deprovisioning) should happen through the platform. Not using the platform to take these actions can lead to unintended consequences.
Enable the providers of your choice and enter your API keys in the box.
If this is your first time using Cycle and you want to take the platform for a 90 day test drive, choose to begin your trial. We'll sponsor your first 90 days, you don't even need to enter a credit card.
If you've already used Cycle before and are just deploying a new hub, select Choose A Tier and then select your tier and support plan.
Hub tiers are how you define how much storage and RAM your hub will need. Each tier is tailored towards a hub size. If you choose a tier with too many resources Cycle will automatically scale your billing to a lower tier at the end of the month. Click here to find out more about tiers.
Cycle offers a standard support plan that is included at no additional cost. This includes communication with our team via our portal live chat and access to the Cycle Slack channel. Response is guaranteed within 24 hours. For a guaranteed response of 4 hours or less select the VIP support. This package also includes phone support during business hours. Click here to find out more about support.
skipped if you are beginning your trial.
Enter the credit card information you want to use for this hub. Your card will be charged at the end of your billing cycle, every 28 days.
Congratulations, your hub has been created! You'll be able to start deploying containers in just a few minutes. The final step is to invite collaborators to your hub, and configure any advanced options.
Before you finalize your order you will have a chance to add collaborators to the hub. Cycle makes it easy to add collaborators and describe the type of access you want those users to have in one step. Type in the email address of the person you wish to add and then select their access level from the Role dropdown menu.
After successfully creating a hub you'll need to add infrastructure. To add infrastructure to your hub:
- Click Infrastructure in the nav menu on the left hand side.
- In the top right corner, click Add Servers.
- Select your provider from the provider dropdown, then choose the location of your server.
- You can select the number and location of the servers and click Add to Queue . This will fill the order summary at the top right of the page.
- Before provisioning this new infrastructure be sure to select the appropriate cluster that it will belong to.
- To remove a server from your order, locate it in the "Order Summary" panel on the right, and click the x next to the server you wish to remove.
- You'll see the total increase in infrastructure spend that will be billed by your providers. Click Deploy this Infrastructure to begin provisioning.
When creating an environment you must make one key decision. If you wish to use a stack with your environment, you must do so during environment creation.
To create an environment, follow these steps:
- Click the Environments tab on the navigation menu to the left.
- In the top right corner, find the Create Environment button and click it.
- In the form, enter a name for this environment (usually the name of your application you are building) and an optional description.
- Click Create Environment. You will be taken to the environment dashboard.
Cycle provides a completely UI based form to deploy individual containers. It provides a quick and easy way to get a container online without much configuration. Once the container is created, you will be able to modify any part of it's configuration to a fine degree. To get started, follow these steps:
The name of a container is for user purposes only, and doesn't affect any other aspect of the container. However, on this form, Cycle will automatically prefill the hostname of the container with a formatted version of the name for convenience. You are free to change the hostname without affecting the name.
Choose Stateful or Stateless for your container. A Stateful container is a container that has a persistent volume, or the volume will hold state between restarts. A Stateless container can have a volume, but that volume will be cleared between starts.
A full description of Stateful and Stateless can be found here.
The instance slider tells Cycle exactly how many copies of the container you want to run when it starts. Based on the deployment strategy you set, Cycle will automatically balance the instances across your cloud.
The platform default is currently Resource Density, but by choosing Platform Default you are saying that you would like Cycle to decide what the deployment strategy will be going forward.
The Resource Density deployment strategy looks at the servers and deploys instances based on the resource usage of servers that match tag constraints.
The High Availability deployment strategy will spread out the instances as much as possible across the infrastructure.
Possibly the most important part of deploying a container is selecting which container to deploy. Using the image selector, you can choose from a previously imported image, or import a new one on the spot from various sources, including Docker Hub.
- Choose how you want to select your image, either an existing image, or import a new one. If you choose existing, skip to step 4.
- Using the tabs on the left, select the source you wish to import from. At this time, you can import from either Docker Hub, or a private Docker Registry.Cycle does not store your credentials for your private registry or repository. You will need to provide them every time you import that image.
Typing in the "Image Name" box will automatically search hub.docker.com as you type, returning images along with their description and rating. Select your image from the list (or enter a custom one), then set the tag in the tag field. By default Cycle will import the 'latest' tag. You may also provide custom authorization by selecting the "Use Auth" checkbox. Enter your username and password into the respective fields.
If you choose to import from a Docker Registry, the process is the same, except in the URL field you will need to enter the custom url the registry is hosted on. For example, if your image name is
images.website.com/myimage:latest, you would enter
images.example.cominto the URL field. It's recommended to host your own Docker Registry on Cycle for extra security instead of using the public Docker Hub option.
- Wait for the image to import. When complete, a dropdown menu will become clickable that says "Select Image".
- Select your image from the list. If you just imported it, it will be selected for you automatically.
Some container images may specify volumes (persistent data storage). Cycle will automatically detect these and ask you to configure them.
- Path - The path is automatically determined by the image, and cannot be changed.
- Max Size - Containers will grow to the max size set. Since this is a limit and not an allocation, it is possible that the volume won't have enough data to grow to the max size.
The hostname is the string that all other containers within the same environment can refer to it by. It must be lowercase, and only contain letters, numbers, and hyphens.
There are three types of network privilege a container can have:
- Disabled - Public internet access is completely disabled for this container. It may only communicate with other containers within the same environment. This is ideal for sensitive things, such as databases.
- Egress Only - The container may initiate connections over the internet, but all incoming connections will be blocked. This is ideal for things that require fetching data from the web, but do not need to respond to inbound requests, such as web scrapers.
- Enabled - The container is able to both start and accept connections over the internet. This is a must for websites, APIs, and other services where clients may not be known ahead of time.
Verify everything is correct in the deployment summary box on the right, then click the "Create Container" button, located on the bottom right side of the form. All of these options will be fully configurable after creation as well, so if you make a mistake you can easily correct it before starting the container.
Now it's time to start the container and your services.
- Go back to the environment dashboard by clicking the name of the environment from the navigation link at the top of the page.
- From the Environment dash look to the top right of the screen. Click and hold down the "play" button as shown below.
- If you scroll to the bottom of the dashboard page you will see your live container with a state of "Running".
- Click the name of the container you wish to inspect.
- This takes you to the container dashboard where you can see information about your running container.
If you've got questions about the platform or need some help getting started, our team is more than happy to assist. Whether you're new to containers or just new to Cycle, reach out to us via livechat by clicking the blue circle in the bottom right corner. Join our Slack channel, and get help from the dev team or other members of the community, and check out our Roadmap to see what's planned for the future!