To successfully create an application, it is imperative to have a developer environment that is user-friendly. Although user experience is the primary focus of the business, taking care of developers and their expectations is equally important as problems in the IDE can affect productivity and output. To that end, businesses have started looking at various tools that will help build applications at scale while also creating a good IDE for developers. A CNCF sandbox tool, Telepresence is widely recognized by application developers for offering a platform to build faster and ship safer on Kubernetes.
Role of Quality Assurance team with Telepresence
One of the primary reasons for concern among operations or security teams is security. When several developers are collaborating and building code at the same time, there is a sense of fear over systems crashing during production, without compromising on the security component of the development cycle.
To address this concern, Telepresence enables role-based access control that companies can use to decide who has access to perform certain tasks. With Telepresence, developers can create intercepts or interact with remote Kubernetes clusters directly from their laptops. Another important feature is integrations to which only people who are logged in will have access. So, if a developer shares a URL, the other person needs to be logged in to see that URL. To make a URL public, there are certain security rules that need to be applied so that it does not create any negative impact on the testing stage where the rest of the development team is working. This feature helps improve security while using Kubernetes.
Inside Telepresence
With Telepresence, developers do not have to go through the entire build process cycle. Instead, they can simply connect the local development environment to a remote Kubernetes cluster that has those other services. The tool also allows developers to share the preview URL with another person or approving authority for review or feedback without having to wait for GitHub or other platform uploads. Ultimately, Telepresence removes the dependency and the consequent time delays that come with code changes.
Assuming a developer is running an application in production where there are 500 services, each with a service name. When a developer wants to make a code change to one particular service, it becomes impossible to run it locally as the computer cannot handle the testing load. To ensure the code change is now working seamlessly with other services, the developer can use intercept with Telepresence instead of going to Docker. The intercept creates a tunnel between the developer’s computer and the remote Kubernetes cluster that contains 499 services. Simply put, Telepresence makes it easier for developers to test the impact of code changes with other remote services or with other dependencies such as the database without necessarily having to run everything locally.
For developers, using a debugger in a remote environment means they no longer have access to logs. However, since the service is running on the developer’s computer, they can still have access to the many benefits of running things locally. With Telepresence, the developer gets the best of both worlds where they can continue to use the debugger while using the realistic environment that exists in the remote Kubernetes cluster.
Resources and telepresence
Probably one of the biggest advantages of using Telepresence is that there is no need to add additional resources for testing. In fact, the tool can be used to reduce the number of resources that a company has dedicated to testing. For instance, if there are five clusters, there is no need to quit all clusters. Instead, the team can have the laptop where the local server is running and connect the laptop to the remote Kubernetes cluster. There is also an option for different people to share that cluster in Global intercept. Alternatively, Telepresence also has a personal intercept where there is a possibility to send traffic only to a specific header. With this facility, developers can minimize the visibility of code changes by restricting access during the testing phase.
Ambassador Cloud and Telepresence
Ambassador Cloud allows developers to collaborate with team members through easy-to-share secure “preview URLs”. This feature also allows developers to save and share intercept configurations to reuse existing knowledge and experience. With the paid version, there are more personalized options, including the freedom to create personal intercepts. This prevents developer testing from affecting any other developer in the team, thus giving them more control over where this traffic is passing through.
There is also a graphical user interface on Ambassador Cloud where developers can track the different services running on the Kubernetes clusters and the different services Telepresence can interact with. There is also a feature called ‘Saved intercept’ that acts as a template for new users. They can use refer to the pre-used configuration instead of trying to learn everything from scratch, thus saving time and effort.
Telepresence for Kubernetes
Telepresence is a Local-to-Remote development environment for Kubernetes Teams. As a CNCF sandbox tool that enables developers to set up remote development environments for Kubernetes. Telepresence does not require a build process cycle. Instead, the developer can connect the local development environment to the remote Kubernetes cluster from anywhere and start editing. With this tool, developers can instantly make changes to their local and remote Kubernetes environment from anywhere.
This blog is based on my interview with Edidiong Asikpo, a Senior Developer Advocate at Ambassador Labs. You can watch the entire interview here:
If you have questions related to this topic, feel free to book a meeting with one of our solutions experts, mail to sales@amazic.com.