API Development
Project: To create a Microservice based Demo Application
I’m in charge of solution engineering for two of our products at Ambassador and I set off to create a microservices application a few months ago because I wanted to build something from scratch that I could use to demo our fleet of products (Telepresence and Edge Stack). I envisioned creating something that was approachable to our prospects but clearly showed the value in a real-world business use case. I landed on creating a simple banking app to demonstrate security, authentication, and rate limiting could easily be applied (with Edge Stack API Gateway). Also, as I rolled out new features, they could be tested before going through the commit process with Telepresence.
I created an API spec with the basic routes I thought I would need and got to work. The first issue I encountered dealt with my backend API. I had created all of the paths off my API spec, but I realized that I hadn't fully fleshed out the paths. I needed to add additional sub-paths for features I intended to implement in the initial release.
September 17, 2024 | 12 min read
Kubernetes
As organizations increasingly adopt Kubernetes for container orchestration, ensuring the security of their Kubernetes environments becomes paramount. While Kubernetes offers numerous benefits, it also introduces potential security challenges that must be addressed as a result of the complexity that comes with microservices. Building a secure Kubernetes environment requires a comprehensive approach encompassing various Kubernetes security best practices.
This article discusses essential best practices for Kubernetes security, equipping organizations with the knowledge and insights needed to establish a secure environment that protects their applications and data.
Why is Kubernetes security important?
September 16, 2024 | 19 min read
API Development
The role of a test environment is becoming increasingly important in the software development process. Like a building's stability relies on a solid foundation, a high-quality test environment is crucial for ensuring product quality, stability, and a superior user experience. In this article, I will explore its types, significance, and best practices for effective management.
What is a Test Environment?
A test environment is a setup or configuration where the software under test (SUT) is evaluated for defects, either manually or through automation. The fundamental goal of testing is for you to verify whether a software meets specified requirements and to identify gaps between expected and actual results.
September 13, 2024 | 13 min read
API Mocking
API Mocking enables teams to simulate and interact with API services, even when those services or their dependencies are not yet available. This ensures robust development and testing processes.
Here’s why API mocking is so important and some best practices to get it right:
5 Benefits of API Mocking
September 12, 2024 | 8 min read
API Gateway
AWS (Amazon Web Services) is a cloud-based system for building and deploying software. It has over 200 products for a wide range of technologies. One of which includes Amazon Elastic Kubernetes Service (EKS), a container orchestration tool.
Kubernetes is used to maintain and deploy a group of containers at runtime. It’s mostly used alongside several container-based engines, such as Docker, CRI-O, Containerd, etc., for better control and implementation of containerized applications.
This article will teach you about the Amazon EKS architecture and the two methods of deploying a Kubernetes cluster on AWS — using the AWS console or your local machine.
September 10, 2024 | 9 min read
API Gateway
You’re building an e-commerce platform. This is a huge undertaking, so you have split your system into separate services: catalog, inventory, user, order, payment, shipping. Each is needed for the platform to work efficiently, but users can’t have separate access to each. What’s the answer?
A Kubernetes API gateway provides a unified API interface to frontend clients, optimizes API calls for different client types, handles cross-cutting concerns centrally, and aggregates data from multiple services. It does all this while maintaining your platform's security, ensuring it doesn’t become overloaded, and simplifying your overall code.
Let’s examine more closely to understand how they will fit into your services.
September 6, 2024 | 15 min read