Home / Companies / Ambassador / Blog / March 2021

March 2021 Summaries

6 posts from Ambassador

Filter
Month: Year:
Post Summaries Back to Blog
Automating testing for Kubernetes using Jenkins and Telepresence offers a streamlined approach to managing the complexities of cloud-native deployments and microservice updates. By integrating Telepresence, developers can test un-deployed code changes locally against a remote Kubernetes cluster without affecting the running services, ensuring safe and efficient testing. Jenkins pipelines facilitate this process by executing tests described in a Jenkinsfile, which can be configured to continue or halt the pipeline based on test results. This approach eliminates the need for costly and time-consuming spin-ups of new Kubernetes clusters or maintaining shared ones prone to issues. Instead, it allows for efficient and non-intrusive testing, promoting stability and accelerating the deployment process. The use of Jenkins, a popular continuous integration tool, combined with Telepresence, enhances the delivery pipeline's reliability and efficiency, enabling quicker, more stable code releases.
Mar 31, 2021 1,478 words in the original blog post.
Debugging Go microservices in Kubernetes using VScode and Telepresence is a game-changer for productivity. The main challenge with debugging applications running in Kubernetes is the complex dependency tree introduced by splitting an application into multiple services, making it difficult to replicate dependencies or test the service's interactions with other services. However, Telepresence enables developers to easily connect their local development machine to a remote Kubernetes cluster, allowing them to use their favorite debugging tools and strategies. By intercepting traffic from the remote cluster, developers can step through breakpoints, set variables, and debug code locally while still testing against dependencies in a remote cluster. Additionally, Telepresence allows developers to clone the pod's environment variables to their debug session, ensuring closer parity between local and remote environments. This approach enables instant feedback loops, making it easier for engineers to iterate quickly and ship features faster.
Mar 30, 2021 1,574 words in the original blog post.
The Service Mesh Interface (SMI) is a Kubernetes-native specification that defines a standard set of APIs for service meshes, aiming to provide a common, portable set of service mesh APIs for users to use in a provider-agnostic manner. The SMI does not include a service mesh implementation but rather serves as a specification for service mesh implementations to follow. This standardization helps simplify the development process and reduces integration complexities with other technologies and tools. The SMI API includes four main components: Traffic Specs, which allows defining routes; Traffic Split, which enables traffic splitting and shifting methods like A/B testing and canary deployment; Traffic Access Control, which sets access control policies for pod-to-pod communications based on service proxy identity; and Traffic Metrics, which collects metrics on HTTP traffic. These APIs help manage, secure, and observe service-to-service traffic within a cluster, promoting resilience and reducing the complexity of service mesh technologies.
Mar 24, 2021 1,063 words in the original blog post.
Edge Stack API Gateway uses Envoy Proxy as its core L7 routing engine and provides a configurable access logging mechanism, which provides extensive information that can be used to troubleshoot issues. The Edge Stack API Gateway access log format includes various fields such as start time, method, protocol, response code, response flags, upstream service time, X-Forwarded-For, user agent, request ID, host, upstream host, and others, which can help identify the source of problems. The logs can be read using `kubectl logs` command, and further reading on access log configuration is available in Envoy Proxy documentation.
Mar 22, 2021 642 words in the original blog post.
Internal Developer Advocacy is crucial for improving DevEx as it enables organizations to tap into the wisdom and talent of their community, break down silos with communities of practice and knowledge sharing, and communicate culture change effectively. This approach helps in making developers successful by ensuring greater productivity, shared best practices, and better developer experiences. By focusing on internal developer relations, organizations can foster a culture where developers are empowered to take full control not just for writing code but also for shipping and running of the software they create.
Mar 15, 2021 2,464 words in the original blog post.
A basic development workflow for Kubernetes services involves creating a similar environment for development and production, using tools like Docker, Envoy/Ambassador, and Kubernetes, to ensure parity across environments and simplify the onboarding process for new developers. This approach enables fast code/build/test cycles, automates deployment, and provides live coding capabilities with Telepresence, which allows for bi-directional proxying to a remote Kubernetes cluster. By using Forge to template-ize the deployment process, developers can quickly deploy microservices into Kubernetes, reducing latency in the feedback cycle.
Mar 15, 2021 774 words in the original blog post.