Services DevOps DevSecOps Cloud Consulting Infrastructure Automation Managed Services AIOps MLOps DataOps Microservices 🔐 Private AINEW Solutions DevOps Transformation CI/CD Automation Platform Engineering Security Automation Zero Trust Security Compliance Automation Cloud Migration Kubernetes Migration Cloud Cost Optimisation AI-Powered Operations Data Platform Modernisation SRE & Observability Legacy Modernisation Managed IT Services 🔐 Private AI DeploymentNEW Products ✨ ZippyOPS AINEW 🛡️ ArmorPlane 🔒 DevSecOpsAsService 🖥️ LabAsService 🤝 Collab 🧪 SandboxAsService 🎬 DemoAsService Bootcamp 🔄 DevOps Bootcamp ☁️ Cloud Engineering 🔒 DevSecOps 🛡️ Cloud Security ⚙️ Infrastructure Automation 📡 SRE & Observability 🤖 AIOps & MLOps 🧠 AI Engineering 🎓 ZOLS — Free Learning Company About Us Projects Careers Get in Touch

Develop and Test Microservices with Quarkus

How to Develop and Test Microservices Effectively

Developing and testing microservices can be complex, especially when they are part of a larger system. Microservices often rely on other services, like databases, message brokers, or additional microservices. Therefore, understanding how to develop and test microservices efficiently is crucial for any modern developer.

In this article, we explore inner loop development challenges and demonstrate how Quarkus, Docker, and related technologies can simplify the process. Additionally, we will show how ZippyOPS can help organizations with consulting, implementation, and managed services across DevOps, Cloud, DevSecOps, and more.

developing and testing microservices, Developer testing microservices using Quarkus and Docker in a local and remote environment

Understanding the Inner Loop

Software development is inherently iterative. The inner loop covers all tasks a developer performs locally before committing code. This includes writing, building, and testing code. In modern workflows, it may also involve multiple commits to a Git pull request until a feature is complete.

While the term “local” traditionally referred to a developer’s machine, it now also applies to remote environments like GitHub Codespaces, Red Hat OpenShift Dev Spaces, or Gitpod. The inner loop transitions to the outer loop when code reaches CI/CD pipelines for automated build, test, and deployment processes.


Challenges When Develop and Test microservices Locally

Developing a single microservice in isolation can be tricky if it depends on other services. While mocking or using in-memory databases (like H2) can help, running a complete local environment is often impractical. Companies like Netflix and Twitter have hundreds of microservices, making local replication impossible. Even Lyft found that trying to reproduce all services locally was not scalable (Future.com).


Container-Based Solutions

Containers offer an effective way to speed up inner loop development. They allow developers to isolate dependencies and run local instances of required services. Popular solutions include:

Docker Compose

Docker Compose can run dependent services like databases and message brokers locally. It enables developers to start, stop, and inspect logs easily. However, it has limitations:

  • Requires separate maintenance from the application code.
  • Developers are often locked into Docker binaries, with limited options for alternatives like Podman.

Testcontainers

Testcontainers provides lightweight, disposable container instances for testing. It integrates directly into unit or integration tests, but it’s usually not part of production dependencies.

Quarkus

Quarkus is a Kubernetes-native Java framework designed to enhance developer productivity. It reduces startup time, optimizes memory usage, and simplifies the inner loop workflow. Quarkus focuses on three key areas:

Dev Mode

Quarkus Dev Mode allows live coding. Changes are immediately reflected in the running application, merging write, build, and run steps into a seamless process.

Dev Services

Quarkus Dev Services automatically provisions databases, message brokers, and other dependencies. It uses Testcontainers behind the scenes but abstracts all configuration, allowing developers to focus on coding.

Continuous Testing

Continuous testing in Quarkus reruns only relevant tests when code changes. This instant feedback streamlines development and improves code quality.


Remote Development and Distributed Systems

For larger systems, replicating all services locally may be impossible. Remote development, or “remocal,” enables developers to run microservices locally while connecting to a remote cluster. Quarkus Remote Development synchronizes code changes with the remote environment, providing instant feedback without the “works on my machine” problem.

Skupper further enhances this setup by enabling secure communication between local and remote services across Kubernetes clusters. It makes local services appear as if they are part of the remote system, allowing developers to test changes in a realistic environment.


ZippyOPS: Supporting Modern Development Workflows

At ZippyOPS, we provide consulting, implementation, and managed services to help organizations streamline development and operations. Our expertise spans:

  • DevOps, DevSecOps, DataOps, Cloud, Automated Ops, AIOps, MLOps
  • Microservices architecture and management
  • Infrastructure and security solutions

We offer a full range of services, products, and solutions to support your business:

By integrating these services, teams can accelerate development, improve security, and optimize operations across local, remote, and cloud-based environments.


Conclusion for Develop and Test microservices

Effectively developing and testing microservices requires a combination of the right tools and practices. Quarkus, containers, and remote development techniques streamline the inner loop, while solutions like Skupper enable testing in distributed systems. At the same time, ZippyOPS helps organizations implement these strategies with expert guidance, managed services, and comprehensive support.

To learn more or request a consultation, contact us at sales@zippyops.com.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top