Systems | Development | Analytics | API | Testing

Koyeb

The Koyeb Serverless Engine: from Kubernetes to Nomad, Firecracker, and Kuma

At Koyeb, our mission is to provide the fastest way to deploy applications globally. We are building a platform allowing developers and businesses to easily run applications, a platform where you don't need to think and deal with the resiliency and scalability of your servers: a serverless platform. Ironically, a serverless platform is actually full of servers. As a cloud service provider, we operate the infrastructure for you and abstract it as much as possible.

API Gateways: Improving performance, security and management of microservices

As we've discussed in our previous Service Discovery post, decoupled services in a microservice architecture communicate via APIs. But what about the communication between clients outside of your system and the services within your application? How does that communication work? An API gateway is a powerful component in a microservice architecture. Pairing its functionality with a serverless platform like Koyeb saves engineering teams time and maximizes computing resources efficiency.

Service Mesh and Microservices: Improving Network Management and Observability

Whether you're transitioning away from a monolith or building a green-field app, opting for a microservice architecture brings many benefits as well as certain challenges. These challenges include namely managing the network and maintaining observability in the microservice architecture. Enter the service mesh, a valuable component of modern cloud-native applications that handles inter-service communication and offers a solution to network management and microservice architecture visibility.

Lightweight Virtualization: the Container Ecosystem and Firecracker MicroVMs for Serverless

Virtualization is a core component of cloud computing and the key technology to optimize usage of hardware's resources. While it has been around for decades, new innovations continue to improve its efficiency and performance for modern workloads. In this blog post, we provide a brief overview of virtualization and its history as well as explain how Firecracker and lightweight virtualization are fueling modern deployments.

Which Cloud Database Platform to Choose for Your Applications

While a vital component of any app's stack is the database, managing a database is challenging and hard work. Not only do you need to set up, maintain, scale, and patch databases, but also you need to create strong backup policies, ensure sharding and replications. Long story short, managing a database is time-consuming and requires a dedicated and skilled team, which is why a major trend for managing databases is DBaaS, or Database as a Service.

RabbitMQ vs Apache Kafka: Comparing Message Brokers and Event Streaming Platforms

In an event-driven architecture, event routers are the components that connect event consumers to event producers. Not all implementations of event routers are the same, nor do any of them offer an all-purpose solution, so deciding which one to use depends on your use case and project's needs. Understanding their capabilities and limitations provides key insights that empower you to confidently decide which one to use and prepare you to navigate its shortcomings.

Service Discovery: Solving the Communication Challenge in Microservice Architectures

Whether you're breaking up a monolith or building a green-field application, you may consider using a microservice architecture. Like all app architectures, this model brings opportunities and challenges that a developer must be aware of in order to make the most of this app design. One such challenge is ensuring communication between your microservices.

Introduction to Synchronous and Asynchronous Processing

Synchronous and asynchronous, also known as sync and async, are two types of programming models. At an abstract level, programming models define how software is designed and executed. The basic programming models are synchronous, but asynchronous models are critical for performance reasons and to more efficiently use computing resources. Programming languages usually have built-in primitives to deal with asynchronous programming.

Understanding Event-Driven Architecture and Serverless Opportunities

Whether you're building a new application or adding new features to an existing application, it is worthwhile to reflect on the structure and design of what you're building. Not only does app architecture make the difference between a good app and an excellent app, but it can also either contribute to technical debt or mitigate it.