FAQ's

FAQ's: Frequently Asked Questions

Q: What is Codezero?

A: Codezero is a development platform designed to streamline the development and testing of applications and microservices in a Kubernetes (or VPC / VM) environment. It allows developers to connect their local development environment to services running in a remote Kubernetes cluster or VM, enabling faster iteration and debugging.

Q: How do I get started with Codezero?

A: To get started with Codezero, you simply need to follow these steps:
  1. Identify or create a Kubernetes cluster or VM to use as a Teamspace.
  2. Create a Codezero account and Organization on the Codezero Hub.
  3. Install the Codezero Space Agent on your Kubernetes cluster (or VM) to certify it as a Teamspace.
  4. Invite your team members to the Organization. (Individual developers then install the Codezero Local Agent (or just CLI) on their local machine to connect to the Teamspace.)

Q: How Does Codezero Work?

A: Codezero is an intelligent overlay network [we call Zero Environment Development (ZED)] That makes it really easy to work with remote services, as though they were local. This includes hybrid and multi-clouds, VM’s, VPC’s and various microservices architectures.

Q: What is Codezero Consume?

A: Codezero’s Consume function enables developers to access and interact with Kubernetes cluster-based services as if they were running locally on their laptop. Consume allows developers to:

  • Access cluster services using their actual in-cluster DNS names (instead of localhost)
  • Route traffic to services based on namespace, service name, or port
  • Experience real round-robin load balancing just like in the cluster
  • Continue working even if pods crash or restart, unlike traditional port-forwarding (or Telepresence's Teleport)
For more details on how it works check out Consume: How It Works

Q: What is the Codezero Serve?

A: Codezero’s Serve function allows developers to run a service locally on their machine and make it appear as if it's deployed within the Kubernetes cluster. This is achieved by serving a "local variant" of the service. When a local variant is served, Codezero manages traffic routing so that specific requests can be directed to the developer's local service instance instead of the in-cluster version, enabling testing of local changes without requiring a full deployment to the cluster. For more details, check out  Serve: What's Happening Under the Hood

Q: What is the Codezero Space Agent?

A: The Codezero Space Agent is installed on your Kubernetes cluster or VM to certify it as a Codezero Teamspace. It facilitates the connection between the cluster environment and the individual developers' local machines running the Local Agent.

Q: What is the Codezero Local Agent?

A: The Codezero Local Agent is a tool installed on a developer's local machine (macOS, Windows 10+, or Ubuntu 18.x+) that allows them to connect to a Codezero Teamspace. It works with a Command-Line Interface (CLI) and/or a Desktop application to assist in the development and testing of Kubernetes applications.

Q: How is Codezero's Consume different than kubectl port-forward?

A: Using Consume means you don't need to have access to Kubernetes credentials (Kubeconfig).

Codezero routes to Services (unlike port-forwarding which binds to Pods) which means:

  • Consume provides the real round-robin experience that the Frontend service gets in cluster
  • Pods can crash or restart and you will not have to re-establish your port-forward!
  • You get to use the proper in-cluster DNS name of the Socket and Core services, instead of changing your code to use localhost
Consume also performs better, because it uses far fewer resources when trying to consume many services within a cluster. For more info see: https://docs.codezero.io/concepts/consume#why-not-use-kubectl-port-forward

Q: Can I Use Codezero to Consume Remote Databases?

A: Yes. Codezero's documentation provides steps for consuming external databases that are accessible to your cluster but might not be directly accessible to your local development environment. This typically involves configuring Codezero to route traffic to the external database through the Teamspace.

Q: How can I Use Codezero to debug in-cluster Services?

A: Codezero enables developers to debug production issues locally by replicating pre-production environments on their laptops, eliminating configuration drift and speeding up development with secure, real-time, production-like testing. Mark Allen from EveryDay Devops wrote a great description here: https://www.markcallen.com/debugging-with-codezero/

Q: Can I try out Codezero without a Kubernetes cluster for installation?

A: Yes. Codezero has a kubernetes cluster with a live tutorial app running that you can try out to learn how to use Codezero to bridge your local development environment with cloud-based services. You’ll also see how to debug those services along the way. Just visit https://docs.codezero.io/tutorial and install the Codezero Local Agent to give it a try! 

Q: Can I [devops] remove someone else's Serve session?

A: Yes. If you have permissions / access to the cluster you can terminate a Variant that someone else is Serving.  See https://docs.codezero.io/guides/troubleshooting/#terminate-a-served-variant-in-the-cluster for detailed info.

Q: How does Codezero provide logical separation for requests to developers serving different Variants in a shared Dev Cluster?

A: Codezero performs this magic through our "Serve Conditions" feature. This allows developers to define specific rules for how network traffic is routed between the in-cluster versions of services and the local Variants running on their machines. Developers can work on their individual versions without impacting others or the base environment. Concept: https://docs.codezero.io/concepts/serve/ Advanced: https://docs.codezero.io/references/serve/

In essence, Codezero acts as an intelligent "traffic cop", inspecting requests and, based on predefined conditions (User, Header), directing them to the appropriate variant, whether it's on a developer's local machine or the shared in-cluster service. This ensures that each developer can operate in an isolated logical space while still interacting with a live, shared environment.

Q: How Does Codezero Compare to Telepresence?

A: Codezero is a dedicated development & testing solution built for resilience and enterprise-grade stability, with significant stability and reliability enhancements over Telepresence. Telepresence is an open-source project with an uncertain future, and its Enterprise version referred to as "legacy". Codezero is actively supported with a robust roadmap, adding patented, new security features like Credential Infusion based on industry needs.

Q: How Does Codezero Compare to Signadot?

A: Signadot is a great tool - but Codezero takes a more shift-left, flexible approach. Codezero does not require you to change your CI/CD pipelines or deployment processes.  We've purposely designed Codezero to be as simple to implement and adopt as possible - because we know how hard it is to change deployment processes and infrastructure.  We complement, rather than replacing the way you deploy today.