Announcements
- There have been no announcements in the last month.
Recent Updates
- 2024.07.09.2
Web Application Firewall (alpha) and Improved Pipeline Parallelism
The team is excited to release the alpha version of our web application firewall, which includes the ability to block or allow traffic based on IP at the load balancer. This first release marks the beginning and the WAF will be expanded to support features like geographic matching, url matching, and http controls over headers and methods. Pipeline parallelism has been improved through the rebuilding of the locking / exclusion mechanisms and the native load balancer now supports rewrite rules that allow for granular URL rewriting.
- added
Web Application Firewall (alpha)
Using the Native Cycle LB? You can now block IPs and IP ranges at the load balancer. This is the first release with WAF functionality -- much more to come!
- improvement
URL Rewriting
Users can now use URL rewriting (with variables!) in the Native Cycle LB. Use regex, with groups, for a path match then utilize a $$# format to insert the corresponding group matches.
- fixed
Instance Console Crashing
Previously non-UTF8 characters would cause the console to crash and reconnect in a loop.
- fixed
GCP Server Tagging
In the previous update, we started tagging servers at infrastructure providers. Under certain conditions, we were tagging servers with a character that wasn't allowed, preventing a provision.
- fixed
Race Condition with Wildcard Domains
We discovered, and fixed, a race condition that existed when a load balancer was instructed to serve traffic for both a wildcard domain and a non-wildcard domain that would exist underneath the same wildcard.
- improvement
Better Parallelism With Pipelines
We rebuilt the locking / exclusion mechanism in pipelines to better determine which resources needed read locks vs write locks. This improvement results in better data integrity while also enabling better performance while running concurrent pipelines.
- 2024.06.28.3
Native Monitoring, Granular ACLs, and Enhanced DNS Capabilities
This update marks the beginning of our march toward native monitoring, laying the groundwork for comprehensive metrics, events, logging, and alerting. Users will notice initial visual enhancements, with a full monitoring dashboard to follow. This release also introduces granular access control lists (ACLs), allowing detailed permission settings for several resource types. Geographic DNS (GeoDNS) has been added to support the most latency-sensitive applications, and other improvements include enhanced cluster management, customizable shared memory per container, a rebuilt autoscaler, and expanded support for scoped variables.
- added
Monitoring Platform
We've officially begun the start of Cycle's native monitoring (metrics, events, logging, and alerts) solution. This release contains the base primitives and data collection that the remainder of the monitoring solution will be built upon. You'll notice some new graphs and visual components in the portal, but a future release will contain a proper monitoring dashboard.
- added
Granular ACLs
Building off the custom roles functionality we released in our previous update, organizations can now restrict access to clusters, environments, pipelines, and more via granular access control lists.
- added
Geographic DNS
Deploying a latency sensitive application? Enable GeoDNS on any environment with 3 or more load balancers (entrypoints) to ensure your users get routed to the closest load balancer(s) to your users.
- improvement
Clusters
Previously, Clusters were simply an identifier. Now, with Clusters being their own resource, they support ACLs with other new capabilities to come.
- improvement
Custom SHM Size
Users can now customize the size of the /dev/shm (shared host memory) device that gets attached to container instances.
- added
Custom DNS Empty Set
Since Cycle is IPv6 native, we previously delayed empty IPv4 lookup responses to assist with compatibility for older applications. We no longer enforce that delay for new environments, though it can be set via the discovery settings.
- improvement
Auto Scaling
We've rebuilt the autoscaler to use the new monitoring primitives. These metrics enable us to perform autoscaling in a significantly more efficient, and predictable, manner.
- improvement
Scoped Variables Files
Cycle will now generate the directories required to support the injection of scoped variables who utilize the 'file' access type.
- improvement
Scoped Variables with Identifiers
Users can now specify container identifiers for limiting scoped variables, making gitops/pipeline automation easier.
- improvement
Build Variables Support in Pipelines
When building images via pipelines, users can now pass variables to be injected into a container's build process.
- improvement
YAML Support for Stacks
Not a fan of JSON? Stacks can now be defined via YAML.
- improvement
Instance Console Output
The container instance console now persists (up to 128kb) through updates and restarts.
- 2024.04.23.7
UDP Support, Functions in Pipelines, and Latency Aware Load Balancing!
The latest release of the Cycle Platform brings powerful support for native gaming and video streaming via UDP, more granular configuration for function containers, and massive performance gains when using Cycle's native load balancer.
- added
Ability to Trigger Function via Pipeline
Functions can now be triggered via pipeline. Have a migration/init script that needs to run as part of a deployment? This can now easily be accomplished with functions and pipelines.
- added
UDP Support
The Native Load Balancer now supports UDP connections which can be useful for VPNs, video streaming, gaming, etc.
- added
Function Configuration
Max Runtime, Max Queue time, and other settings can now be configured for functions within the container config.
- added
Latency Aware Load Balancing
The Native Load Balancer now supports, on a per-router basis, latency-based load balancing ensuring that traffic will be routed to the top quartile of instances relative to the ingress load balancer. This can reduce bandwidth costs while also yielding performance increases within environments that have multiple load balancers.
- added
Support for Multiple Stack Files
Users can now specify the path to a stack file inside of a repo, enabling teams to have multiple stacks from one repo source.
- improvement
Auto Release Functions (Beta)
Functions that terminate will now autorelease from the scheduler so they can be used again.
- improvement
Native Load Balancer V1 Optimization
We've made a few improvements within the Native LB to more quickly adapt to routing changes. Additionally, the Native LB now uses less internal API calls when aligning with container state changes.
- fixed
Portal: Fixed Load Balancer Traffic Graphs
We fixed a calculation error in our traffic graphs that was showing false traffic spikes.
- improvement
Portal: Pipeline Support for Scoped Variables in Stacks
Scoped variables, that exist within stacks, can now be configured via pipelines.
- 2024.04.11.3
Functions Released in Beta
We're excited to introduce a beta release of Cycle Functions, bringing functionality to the platform that facilitates running lambda, batch, and serverless like workloads. We've also made improvements and fixes across the board: the Scheduler API Endpoint is now publicly accessible for applications needing external API interaction, we've refined our telemetry caching for LBv1 to prevent potential downtime in rapidly changing environments, and you can now configure load balancers to bind to a server's host IP for more efficient edge/CDN deployments.
- added
Functions
Organizations can now run their functions (lambdas / batch jobs / serverless-like microservices) natively on-top of your Cycle infrastructure. This feature release is currently a beta release.
- improvement
Scheduler API Endpoint
The scheduler can now be publicly accessible if your application needs to utilize the scheduler API from an external endpoint.
- fixed
Telemetry Caching
In the last update, we introduced a caching layer for LBv1 telemetry information to persist telemetry across LB restarts. Unfortunately, this caching could get out-of-hand for environments that were changing often. This could lead to the load balancer not synchronizing new changes yielding potential downtime for an environment. We've refactored this to be a bit more intelligent about when we should cache telemetry data.
- added
Host Node LB
You can now instruct a load balancer to bind to the server's host IP instead of acquiring new IPs. This is helpful in building edge/CDN like deployments where an environment may have dozens, or hundreds, of entrypoints.
- fixed
Stack Builds with Branch Overrides
Previously, a stack build would occasionally fail to clone via git if you used a custom git branch. This has been fixed.
- 2024.03.27.1
Advanced Role Based Access Controls
We're happy to release this update which includes a new and completely reworked role based access controls (RBAC) system. Now users can create custom roles, change the capabilities of default roles, and use existing roles as templates. Along with this major rework we've also released a new integration with Depot.dev, allowing users to choose to use Depot's factory to build their images.
- added
Custom Roles
Previously, hubs supported only four default roles. Admins can now create custom roles, with associated capabilities, to further define users. Granular ACLs will be available in the next update.
- added
Depot Integration
Cycle has a native integration with Depot.dev to allow faster build times.
- improvement
Service Resources
Previously, we were too aggressive with our throttles for service containers. Service containers should now see a slight improvement in performance, especially under high traffic demads.
- improvement
Environment Telemetry Summary
Previously, we would remove the telemetry data associated with a instance once an container was deleted. This lead to an issue where historical data was improper and negatively skewed.
- improvement
Portal: Improved RBAC Visibility
The portal now supports more granular, role based, visibility and blocks per "panel" in the portal.
- 2024.02.29.1
Completely Rebuilt Integrations, New Healthcheck Mechanics, and Network Diagrams
In this release, users will find a completely rebuilt integrations section under the familiar hub integrations. This rework moves provider, object, TLS, and all integrations on Cycle to the hub scope and unifies them in a single space for a better user experience and better hub management. We've also introduced a brand new healthcheck focused step in pipelines that allows users to wait for a deployment to be healthy before proceeding in the pipeline. The portal now has a great network diagram on the container modal dashboard, which will help users quickly diagnose and solve issues related to publicly accessible containers.
- improvement
Integrations
We completely rebuilt the way users and applications can configure external integrations for Cycle. This new approach enables us to roll our new integrations with infrastructure providers, storage providers, and more, in one streamlined approach.
- added
Portal: Public Network Diagram
When viewing a container that expects public ingress traffic, Cycle's portal now displays a topology diagram that can help in solving potential configuration issues.
- added
Container Metadata
Every container instance gets a .json file mounted into /var/run/cycle/metadata that gives context about the container, and the environment hosting that container.
- added
Pipeline Healthcheck Step
A new 'Healthcheck' step has been introduced which enables pipelines to wait for a deployment to checkin, and become healthy, prior to continuing.
- improvement
Ingress Port / Route Management
In the Native V1 Load Balancer, teams can now disable a controller from listening to public traffic -- even if a container desires a port/route to exist.