In this post, we will go over everything we have been working on in March 2024. Read on to know more.


Major Updates

PR Workflow for Blueprint Changes

The PR Workflow for Blueprint changes is similar to how teams raise and merge PRs for code changes. It ensures that all changes made to the blueprint are reviewed before they are live in the environments, promoting collaboration and accountability.

Now, you can manage blueprint changes through version control to confidently make modifications knowing that you can roll back to previous states if needed. This reduces the risk of introducing errors or unintended consequences in the infrastructure configuration. This workflow also aligns with industry best practices for managing cloud infrastructure.

PR workflow for blueprint changes

You can create a separate branch to make blueprint changes, and then raise a PR to merge these changes into the master branch (ie the current Blueprint). By merging to the master branch, the Blueprint will be updated with your changes.  You can also check Git actions and PRs from Facets UI, and create PRs after making the required changes.

​Connect your VCS and Cloud Accounts to Facets in under 20 seconds

Setting up VCS and Cloud account integrations with third-party services has always been difficult. So we took a first principles approach to reimagine what it could look like if we wanted to do it in the shortest time possible. 

With the revamped setup, you can now integrate your VCS and Cloud accounts with Facets in under 20 seconds. This simplifies the intricate steps in setting up new Cloud and VCS accounts.

Jumpcloud Integration for Oauth

Facets provides the flexibility to integrate with your existing OAuth systems so that you don’t have to set up IAM permissions again. In addition to Google Oauth, Azure AD, Okta, One Login, and Generic SSO, we’ve now added Jumpcloud SSO. Jumpcloud is an open directory platform that provides features from unifying users across infrastructure, security, and resource access. 

General updates

GCP Enhancements

With respect to Google Cloud, we have added support for three important features that are harder to set up manually.

Shared VPC: In large organizations with multiple teams or projects, a Shared VPC allows for centralized network management and resource sharing across these teams or projects. This simplifies network administration, ensures consistent security policies, and optimizes resource utilization.

It also helps in managing multi-tier applications distributed across different projects by allowing seamless communication between the components while maintaining network policies. While creating a GCP environment, users can now specify the Shared VPC configurations in the Advanced Settings section.

Support for multiple availability zones: Deploying critical applications and services across multiple availability zones is crucial for maintaining business continuity and minimizing downtime in the event of a disaster or outage. By distributing resources across separate availability zones, organizations can ensure that if one zone experiences a failure, the application or service can continue running in the other zones, minimizing disruption to end-users and business operations. 

GCP enhancements


Node Auto-provisioning in GKE:
 It actively manages the node pools within the cluster to ensure efficient resource utilization and scalability. Auto-provisioning monitors the resource usage of pods running in the cluster and adjusts the size of node pools accordingly. 

It’s beneficial in various scenarios like zero downtime, cost optimization, handling bursty workloads, multi-tenancy, disaster recovery, and high availability. 

Configmap as env variables

Facets now supports the ability to add configmaps as environment variables in service modules. Configmaps are used to store non-sensitive data. Users can add ConfigMaps as environment variables while adding and editing the configuration of the service module.

Once added, users will need to just update the ConfigMap in case of any changes, rather than updating the configurations of every service individually. 

Read more about ConfigMaps as environment variables here.

VCS Account Expiry Notification

The PAT tokens can expire or be revoked for Github, Gitlab, or Bitbucket. This causes users to lose access to critical functions on Facets like performing a release, adding new resources viewing resources on the blueprint designer, managing secrets & variables on a blueprint level, etc. 

  • In the Account Management page, the accounts that have expired or are due to expire within 7 days will be highlighted via icons.
  • If a linked VCS account expires, the “Sync with Git” will be automatically disabled.
  • All these enhancements will help identify if an error is because of PAT token expiry or other causes. 

Custom CIDR ranges with WireGuard VPN

By default, you have access to resources within the VPC CIDR range when connected to the WireGuard VPN client. However, you can now add custom CIDR ranges from the Environment Settings page, providing additional flexibility and control over your network access.


Optional On-demand Fallback in AWS and GCP Environments

Earlier in Facets, on-demand nodes were automatically scaled up for AWS and GCP Environments to tackle Spot interruptions. With this enhancement, you now have the option to disable the On-demand Fallback feature from the Facets Control Plane.

If you choose to turn off On-demand Fallback and if spot instances are unavailable, On-demand nodes will not scale up. You can use this option for development, staging, or QA environments, as well as special workloads that don't need continuous uptime and optimize for cloud costs. This also improves budget predictability and helps in aligning resource allocation with strategic objectives.

Enhancements

Upgrade to Kubernetes 1.27 (GKE)

We have upgraded the Google Kubernetes Engine (GKE) to version 1.27. For more information, refer to GKE Release Notes.

Release Time Optimization

We have made enhancements to the release times in Facets. This results in reduced wait times and a seamless user experience.

Resource Flavor Selection 

​Previously, users had to manually edit resource JSON files to change resource flavors. Now, users can conveniently select the desired resource flavor when creating the resource, simplifying the configuration process. For example, right when you’re creating a database, you can either select a cloud SQL in GCP, an rds or aurora in AWS, or a flexible_server in Azure.