Announcements
- There have been no announcements in the last month.
Recent Updates
- 2025.01.14.3
Stack Build Logs, Stability Improvements, and Better Auto-Scaling
In this release, users will find a wonderful new feature in Stack build logs . These logs will give insight into debugging stack builds that, in the past, have been more cumbersome to unpack. Alongside the stack build logs are a slew of stability improvements including a new agent logging mechanism that will enable even more resiliency to each server node during times of high usage. Additionally, auto-scaling was improved, requiring fewer window intervals before a scaling event can happen, resulting in an even more responsive auto-scaling from the platform.
- improvement
Metric Label Standardization
We noticed a few inconsistencies in the naming conventions for metric/event labels. While they're now fixed, certain graphs within the portal will take a little time to populate with new data.
- added
Stack Build Logs
Stacks now generate build logs that detail the overall build of images, stack parsing, etc, making it significantly easier to debug variable/stack formatting issues.
- improvement
External Log Draining
Although this was beta released in December's build, we've made a number of optimizations to provide more context (via HTTP headers) while also reducing the amount of redundant meta information in the POST body.
- fixed
Container Reimage / Deleted Instances
If a container was reimaged immediately after a scale event, any deleted instances would be undeleted.
- added
Block Storage / Raw Volumes
While not accessible yet, we've added the ability to create volumes as raw block devices on compute nodes -- preparing for some soon to be announced features.
- added
Migrating Block Storage Volumes
Support the ability to move block storage volumes between compute nodes.
- improvement
GCP Generation 3 + 4 Models
We've compiled the required kernel modules into CycleOS to support the generation 3 and 4 (c3, c4, n3, m3) and accelerator (GPU) GCP machine types.
- improvement
Autoscaling Threshold Calculation
We rebuilt the logic for network / bandwidth scaling thresholds to enable more responsive scaling. Previously, network scaling events required two interval windows to pass before a scaling event could occur.
- added
CycleOS Build Version
Servers now report their CycleOS build version during their check-ins. This version is also displayed in the portal.
- added
Agent/Logging Volume
Following a restart of the server, CycleOS will now build a dedicated 2GB volume for storing logs. By moving logs to their own volume, nodes will no longer deadlock / become unresponsive if disk usage reaches 100%.
- improvement
Hub Delete Prevention
Hubs with active servers can no longer be deleted, unless the 'force' flag is specified.
- fixed
Attached Storage Size Customization
When deploying servers at AWS or GCP, users can customize the size of the underlying block device. This functionality was broken in December's release.
- improvement
Cycle IPs in LB WAF
Previously, it was possible to accidentally block VPN configuration via the portal by applying restrictive rules to the WAF (web application firewall). Now, the WAF will automatically detect the necessary Cycle IPs to allow VPN configuration without organizations needing to manage the IP list themselves.
- 2024.12.16.1
Support for More AWS Regions + Availability Zones, Log Draining, and More
This latest update brings our users several new features and lots of improvements that are aimed at enhancing flexibility, integration, and usability. Servers being deployed through AWS will now have the option to choose individual availability zones per server, in the given region. We've also enabled several new AWS regions to deploy from. Log draining is now natively supported through webhooks, DNS caching has been improved, and load balancer metrics now auto discover ports from container configuration.
- added
Support for AWS Availability Zones
While Cycle has always favored multi-region deployments, we now also support multi-availability zone deployments at AWS. This brings our AWS integration inline with our GCP integration.
- improvement
Support for Additional AWS Regions
We realized there were 4 AWS regions which we didn't support due to an API filtering limitation, that has been resolved and we now support all AWS non-GovCloud regions.
- added
External Log Draining
On a per-container basis, Cycle can now push your logs to an external source via an HTTPS webhook, enabling better integration with Datadog, Middleware, and other log aggregators.
- improvement
Variable Support for Pipeline Webhooks
You can now utilize pipeline variables in your POST/GET webhooks, enabling deeper integrations with your external development / devops tools.
- improvement
Optimized DNS Caching
We've tweaked our caching logic to support more generalized matching while still preventing DNS cache poisoning attacks.
- added
Support for ACH Payments
Our US clients can now pay their invoices by ACH instead of credit cards.
- improvement
Portal: Load Balancer Metrics
We now auto-discover controllers based on active ports, making it easier to observe traffic into your load balancer.
- 2024.11.25.1
Enhanced Security Options and Big Monitoring Improvements
Hubs get deeper security options as this update introduces the ability to require two factor authentication for all users to sign in. Monitoring also makes some major leaps forward with new graphs located in several different places throughout the portal, showcasing specific container and instances telemetry. Keep your eyes peeled, the next update will be one of our biggest yet!
- added
Container Monitoring Graphs
Gain more visibility into your top (RAM, CPU, Network) container instances scoped to: containers, environments, and clusters.
- improvement
Reserved Resources for Cycle
Previously, under times of high cpu load/ram usage, Cycle agents would occasionally start failing to checkin. Now, we set aside a small portion of resources to ensure the agent can always maintain communication and control.
- added
User-Supplied TLS Certificates
Need to use your own TLS certificates for compliance reasons? Now you can upload certificates via the Portal and API.
- added
Resource Allocation Meters
Improved resource allocation meters on both the cluster and server view using new monitoring data.
- added
Enforcable 2FA
Hub owners can now enforce two-factor authentication for all users within a hub.
- fixed
Git Clones With Hashes
Git hashes within the non-'main' branch would fail unless they were one of the newest commits. This has been fixed.
- fixed
Scoped Variable Files
When a container no longer has access to a scoped variable, the underlying file is deleted now. Previously, the file would remain with the old value.
- added
Pipeline Subqueues
While Cycle enables parallel runs of different pipelines, it queues the runs of a single pipeline. With pipeline subqueues, organizations can spin off parallel runs of the same pipeline. Note, this is an advanced feature for specific use cases.
- improvement
Portal Fixes
Dozens of smaller UI tweaks within the portal.
- improvement
Node Time Sync
The platform has moved from a 12 hour sync to a ten minute sync which should drastically reduce the chance for time drift between nodes.
- 2024.10.08.1
Faster Image Builds, A Big Kernel Update, and Major Improvements Land
Image management is in the spotlight with a completely re-written flattener and added caching functionality. These upgrades have lead to 2-3x faster build cycles in our testing. CycleOS has been upgraded to use the latest 6.6.13 kernel as well as cgroups2, stack builds now support more flexible build variables, servers can be evacuated, and pipelines support step reordering through the portal. For the native load balancer, the web application firewall has been improved to support more complex conditions and the proxy feature has been expanded.
- improvement
Stack Variables
Stack variables no longer get injected into the saved 'stack build run', instead they're stored separately and utilized only at runtime. This prevents sensitive variables and secrets from being visible when users lookup previous stack builds.
- fixed
Neighbor Lookup Race Condition
We fixed a race condition that would occasionally prevent some instances from being unavailable to other instances for roughly 60 seconds immediately following a deployment.
- improvement
6.6.13 Kernel
CycleOS has been upgraded to utilize the latest long term support (LTS) Linux Kernel.
- improvement
Cgroups V2
With the latest kernel upgrade, we've also updated Cycle to utilize cgroups v2 which enables more efficient, and customizable, resource constraints for containers.
- changed
Removed Image Source Create from Pipelines
Supporting Image Source Create in pipelines encouraged a Cycle anti-pattern. We have since removed this setup to make it easier to adopt best practices.
- improvement
Updated Nvidia Drivers
CycleOS now supports the 560.35.03 Nvidia drivers. Cycle natively supports GPU passthrough for any datacenter-class Nvidia GPU.
- improvement
Web Application Firewall
The WAF now supports more complex rule conditionals along with more supported filters (URL Matching + Method Matching) for HTTP transports.
- improvement
Proxy URL Rewriting
The proxy handler in the Native LB now supports URL rewriting based on the MatchPath for proxy requests.
- improvement
Active Instances for Functions
The Functions Scheduler API now supports /active-instances which is a real-time return of functions that are currently processing workloads.
- improvement
Image Building Performance
We've completely rewritten our image packer to handle layer extraction/compression in a parallel manner. This improvement decreases build times by 40% - 60% for most images.
- added
Image Caching
We've added image caching into our build systems for hubs in the Standard or Scale tiers. This is a short-term ephemeral cache that will help with concurrent builds within an activity window. After 6 hours of inactivity, the caches are reset entirely.
- added
Server Evacuation
Users can now migrate all of the instances from one server to another in a single action. Additionally, this puts the server into an 'evacuated' state which prevents it from accepting new instances. Load balancers must still be moved manually.
- added
Instance Volume Resizing
We've exposed the ability to increase an instance's volume via both the portal and API. Previously, this action required a Cycle team member to be involved.
- improvement
Pipeline Reordering
Users can now reorder pipeline steps in the portal.
- improvement
Inner-String Stack Variables
Stacks now support variables that are nested within a string, for example "api-{{version}}"
- improvement
Pipeline Runs Data Enrichment
All pipeline runs will now link to related resources which were created or consumed during the run and will also show build logs for image imports and stack builds.
- 2024.08.13.1
Instance Logging Alpha, Stacks from Environments, and More
This release marks the official beginning of Cycle's Logging Alpha. The alpha features the ability to see up to 72 hours of container instance logs, including simple to complex search. Users will also now have access to export their environments to stacks. This means that any environment can now be "exported" into a stack file and redeployed to create a new environment. Finally, a fix has been made to stacks so that when using YAML markup, scoped variables now properly import as expected.
- added
Instance Logging (Alpha)
The alpha release of logging is now live. From the container modal, gain access to the last 72 hours worth of logs for your instances. You can also utilize this functionality for simple or complex (regex) search.
- added
Stack from Environment
Configure an environment to exactly how you want it, then utilize this feature (found within Environment Settings) to export the environment to a stack.
- fixed
Scoped Variables in Stacks
We recently discovered a bug that prevented scoped variables in YAML stacks from being properly imported, this has been resolved.
- fixed
Deployments Not Showing Up
Deployments wouldn't properly display in the portal for environments that had more than 25 containers, this has been resolved.
- 2024.07.29.1
Magic Variables, DNS Zone Imports, and Scoped Variable Fixes
In this release users will gain access to magic variables in pipelines. Dynamic pipelines can now take advantage of 4 different magic variables that will inject a special value based on the definition into the field assigned. This will make unique field entries that need to be tied to date like values much simpler to work with. DNS zones can now be imported via file, greatly reducing manual work in migrating to Cycle DNS. Finally, we've fixed an environment scoped variable priority order which could result in certain undefined environment variables not correctly being assigned when defined in both container config and scoped variables.
- improvement
V1 Load Balancer: Matching
Users can now match routes to include or exclude specific containers.
- fixed
Scoped Variables Priority Order
A bug that would cause environment variables with blank definitions to not be appropriately overwritten by scoped variables has been resolved.
- added
Magic Variables in Pipelines
Users can now take advantage of magic variables in pipelines: {{-date}} {{-date-time}} {{-time}} {{-time-rfc3339}}, which will return these values in place of normal pipeline variables which require an input value on each pipeline run.
- added
DNS Zones Import
Users can now import a DNS Zone file to their zones on Cycle, making transferring domains much simpler.
- improvement
Discovery Throttle
The discovery service now has a throttle on queries that will protect users from services that would otherwise overwhelm the service with lookup requests.
- improvement
Pipelines: Overwrite Runtime Config
Added the ability to Overwrite Runtime Config on the pipeline step Reimage Container, giving more flexibility to users looking to mutate the container runtime configuration on deployment.
- added
V1 Load Balancer Router Response Graph
Users will now notice a Router Response graph located on the load balancer service dashboard for V1 type load balancers. This graph will show the HTTP response code if the load balancer is in HTTP mode.