Tech Talk: Developing APIs the Easy Way – Streamline your API process with an endpoint-focused approach on Dec 5 at 11 am EST! Register now

Blog

The latest posts and insights about Ambassador Labs - our products, our ecosystem, as well as voices from across our community.

Automating Testing

Telepresence

Automating Testing for Kubernetes with Jenkins

Test your code changes quickly and locally with Telepresence and Jenkins As cloud-native deployments in Kubernetes increase the challenges for safely updating code and delivering changes are compounding. Developing microservices for Kubernetes applications poses a significant challenge for developers. Effectively testing updated microservice code falls into a few options: Spin up a new K8s cluster: This has several problems: It’s expensive and time consuming. It’s also difficult to isolate specific code changes in this scenario; multiple changes are often grouped together to save time and resources. This can complicate troubleshooting and root cause analysis.

March 31, 2021 | 10 min read

Kubernetes, Microservices

Debugging Go Microservices in Kubernetes with VScode

Tutorial: Learn to debug Go microservices locally while testing against dependencies in a remote Kubernetes cluster Many organizations adopt cloud native development practices with the dream of shipping features faster. Although the technologies and architectures may change when moving to the cloud, the fact that we all still add the occasional bug to our code remains constant. The snag is that many of your existing local debugging tools and practices can’t be used when everything is running in a container or on the cloud. Easy and efficient debugging is essential to being a productive engineer, but when you have a large number of microservices running in Kubernetes the approach you take to debugging has to change. For one, you typically can’t run all of your dependent services on your local machine. This then opens up the challenges of remote debugging (and the associated fiddling with debug modes and exposing ports correctly). However, there is another way. Telepresence tool enables this path.

March 30, 2021 | 12 min read

Service Mesh

Introduction to Service Mesh Interface

Service Mesh Interface (SMI) is a Kubernetes-native specification under active development. It’s defining a standard set of Kubernetes Custom Resource Definitions (CRDs) and APIs for service meshes. The SMI development process is open, relying on community participation, and the specification itself is publicly available under an Apache 2.0 license. As stated on the SMI website, “the goal of the SMI API is to provide a common, portable set of service mesh APIs which a Kubernetes user can use in a provider agnostic manner. In this way people can define applications that use service mesh technology without tightly binding to any specific implementation.” SMI doesn’t include a service mesh implementation; it’s solely a specification that service mesh implementations can use. Without a standard like SMI, every service mesh technology would have completely different APIs. That would make things more complicated and time-consuming for developers and for platform and DevOps teams. Instead of using SMI APIs, developers would have to write their own code to provide equivalent functionality. Integration with other technologies and tools would take more effort, as would changing which service mesh technology an app uses.

March 24, 2021 | 10 min read

API Gateway

Understanding Envoy Proxy HTTP Access Logs

Edge Stack API Gateway uses Envoy Proxy as its core L7 routing engine. Envoy Proxy provides a configurable access logging mechanism. Edge Stack uses the default format string for Envoy’s access logs. These access logs provide an extensive amount of information that can be used to troubleshoot issues. Reading Edge Stack Access Logs You can read the log file using kubectl logs:

March 22, 2021 | 4 min read

Developer Experience

How Internal Developer Advocacy Leads to Improved DevEx

Developer relations (DevRel) is, as most tech organizations and developers know, a wide-ranging discipline that demands a multidisciplinary approach to achieve its aims – communication and feedback. But what about internal developer advocacy? In this article, we will explore how internal developer advocacy shapes developer experience, makes developers be successful and helps deliver on organizations' goals. Inside-Out: What is Developer Relations? Bridging the gap between technology and user adoption, DevRel is hands-on in driving numerous two-way street activities aiming to advance engineering skills and product engineering. DevRel carries the voice of an organization and its products to developers (and by extension, to engineering teams) and collects and shares the voice of the developer community back to the organization to catalyze product improvements. These activities vary but usually include:

March 15, 2021 | 17 min read

Telepresence

A Low Friction Development Workflow for Kubernetes Services

A basic development workflow for Kubernetes services lets a developer write some code, commit it, and get it running on Kubernetes. It's also important that your development environment be as similar as possible to production, since having two different environments will inevitably introduce bugs. In this tutorial, we'll walk through a basic development workflow that is built around Kubernetes, Docker, and Envoy/Ambassador. Your cloud infrastructure This tutorial relies on two components in the cloud, Kubernetes and Ambassador. If you haven't already, go ahead and set them up.

March 15, 2021 | 6 min read
1...3031
32
3334...45