Are you team API endpoint or API schema first? Join the debate on Thursday, April 24th. Register now

Blog

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

AI Chatbot API

API Development

Mocking an AI Chatbot API with Blackbird

I’ve been developing APIs for years. In every API project, I face the same struggle of needing mocks, but spending too much time setting up, hosting, and maintaining them. I’d rather spend that time implementing the APIs or client code. API Mocking is important — it’s useful in development, debugging, testing, and can power the “try-it-out” portion of an API’s docs. As a software engineer I’ve used a variety of mocking tools and libraries including Mock Server, SOAP UI, and Mock Service Worker. These tools are helpful, and can be quick to setup for personal use, but still require a lot of infrastructure and setup to effectively use on a dev team or in CI/CD scenarios. Every software company I’ve worked at had a different home-grown way of configuring and hosting mocks for APIs, and usually the hosting part was managed by a separate DevOps or infra team. Blackbird is a new tool I helped create at Ambassador that among other things can quickly create shareable mock instances of APIs and host them in a SaaS environment. This post will walk through an example of using Blackbird to setup mocking on an AI chatbot application that both consumes and implements an API.

July 31, 2024 | 8 min read
Taking API Development to New Heights with Blackbird

API Development

Blackbird The Future of API Development – Fast, Reliable, & Simplified

I'm pretty sure we all witnessed–if not lived through the disruption of–one very expensive bad code release and IT outage this summer. As someone who spent decades in software development, I can tell you with confidence that although the actual costs of that mistake were upwards of one billion dollars, the emotional toll on the developers involved was probably more. It was a lose-lose situation for all involved. I know developers are pushed harder than ever to code faster, release more often, and–" oh, by the way"–test their code. Meanwhile, infrastructures get more complex by the minute as regions, offices, networks, apps, services, machines, and containers multiply. As a former developer, I understand the pain of building, testing, and deploying your own code (which, by the way, is even more complicated than ever in today's cloud-native, microservices-driven world). Now, as a CEO, I also understand the pain (or at least the very real fear of the pain) of a potential billion-dollar mistake. Regardless of whether you relate to either of those positions, on a less sensational note, I think we can all appreciate the role of healthy growth in a business's success today and the critical part that software plays. Let’s take APIs, for example. A subset of all of the things that developers might be building, but - importantly - an increasingly vital necessity and one of the biggest drivers of volume, urgency, and security. Application Programming Interfaces; it’s an awful acronym, I’m sorry. Despite that, it's a heck of a powerful thing. These little pieces of code are the language that enables all of our devices and various applications to connect and share information. I'm certainly not the first to say it, but APIs are the essential building blocks of the modern world.

July 29, 2024 | 9 min read
API Architecture

API Development

Choosing the Right API Architecture - A Deep Dive into RESTful API & gRPC Protocols

When building applications with APIs, choosing the right architecture for the job is key. APIs can be defined by SOAP, GraphQL, gRPC - the list goes on and on. In fact, any interface between two pieces of code is an API. After all, APIs are application programming interfaces. Here, we’ll examine when RESTful APIs are often the first and best choice—they’re nice, neat GET and POST endpoints with developer-friendly URLs. REST still holds about 90% of the market (our friends at Postman keep track of those stats in a great annual report you can find). But there are also times when you may consider using a different API protocol like gRPC in your application.

July 25, 2024 | 12 min read
Load balancing strategies in Kubernetes

Kubernetes API Gateway

Load balancing strategies in Kubernetes: L4 round robin, L7 round robin, ring hash, and more

What is loading balancing in Kubernetes? Load balancing is the process of efficiently distributing network traffic among multiple backend services, and is a critical strategy for maximizing scalability and availability. There are a variety of choices for load balancing Kubernetes external traffic to Pods, each with different tradeoffs. Selecting a load balancing algorithm should not be undertaken lightly, especially if you are using application layer (L7) aware protocols like gRPC. It’s all too easy to select an algorithm that will result in a single web server running hot or some other form of unbalanced load distribution.

July 24, 2024 | 6 min read
Continuous Delivery Testing

Kubernetes API Gateway

Next-Level Continuous Delivery Testing with an API Gateway

A modern API gateway like Edge Stack Kubernetes API gateway empowers organizations with a cost-effective solution to harness the full potential of their microservices architecture by streamlining application development and management in a Kubernetes ecosystem. One area where Edge Stack really shines is in continuous delivery testing on many levels. For example, you can deploy a new service or an upgraded version of a service into production and hide, or “cloak,” this service from end-users via the gateway. This effectively separates the deployment and release process, allowing you to run acceptance and nonfunctional tests on the cloaked service, such as load tests and security analysis. You can also perform canary testing by allowing a small amount of user traffic to flow to this new deployment. There is also potential to use a gateway to “shadow” (duplicate) real production traffic to the new version of the service and hide the responses from the user, and “shift” traffic around to focus load on a specific cluster of your system. Finally, you can use an API gateway to implement and control chaos testing. These techniques allow you to learn how your service will perform under realistic use cases, load, and failure scenarios, which are critical for continuous delivery testing.

July 19, 2024 | 5 min read
1...1516
17
1819...53