PARTNERBecome a Partner
Book a call
  • Blog
  • Product Updates

Product Update - Testing APIs in Monolithic vs. Microservices Architectures

Product Update - Testing APIs in Monolithic vs. Microservices Architectures

Multi-Service Project Architecture

As modern applications progress, efficiently managing multiple microservices is becoming increasingly important. Equixly’s latest update introduces a multi-service project architecture, allowing users to handle multiple services within a single project. This is particularly useful in today’s distributed systems.

Why the Multi-Service Architecture?

Traditionally, managing monolithic applications was straightforward. As the industry shifted towards microservices, the need to test multiple services together, manage their dependencies, and set configurations like authentication across services became essential. Equixly’s new architecture helps solve this problem by organizing services under a single project, each with their own configurations and settings.

Monolith vs Microservices


How It Works: A Practical Example

Let’s break it down step-by-step with a practical example of how you can manage a Login Service and a Core Service within a single project.

Multi Services Project

Step 1: Add Services to the Platform

The first step is to add services to Equixly. You can do this through the Services section of the platform. Here, you define each service, its base URL, and the associated endpoints.

  • Login Service: This service will handle user authentication and provide an authentication token.
  • Core Service: This service will contain the main business logic, such as processing payments or handling user profiles.

In the Services section, each service is listed along with its status, base URL, and the number of endpoints. Here’s how this looks in the UI:

Services Section

Step 2: Create a Project and Add Services

After adding services, the next step is to create a project. A project enables you to organize and configure multiple services in one unified workspace.

In this example, we’ll create a Web Project that uses both the Login Service and the Core Service. Once the project is created, you can see it in the Projects section of the platform, that looks:

Projects Section

In the Projects section, you can manage all the projects and their details.

Step 3: Configure Project Settings

Now that you have your services added and your project created, it’s time to configure the settings. Each project in Equixly allows you to set authentication details, injectables, and other settings that are critical for testing your services.

For instance, in this project, we need to configure the authentication settings and specify the injectables like API keys that are required for different services. You can configure these in the Project Settings section, as shown in the image below:

Projects Settings

Authentication and Injectables

  • Authentication Settings: For both the Login Service and the Core Service, authentication is key. You configure the Login Service to handle authentication and generate tokens, while the Core Service will use these tokens to authenticate API calls.

  • Injectables: An injectable like x-api-key could be required for the Core Service to authorize API requests, while the Login Service may not need it. This is where you define these injectables. For example, you can configure the x-api-key injectable to be used only by the Core Service, while other settings like authentication credentials can be shared across services.


Benefits of the Multi-Service Architecture

The new multi-service project architecture in Equixly brings several benefits:

  1. Centralized Management: Manage multiple services from a single project, making it easier to configure, update, and run tests across services.
  2. Cross-Service Testing: Define and test interactions between services within a project. For example, ensure that the Login Service generates a token that the Core Service can use for authentication.
  3. Granular Configuration: Services can have independent settings for injectables like x-api-key, authentication tokens, and other dynamic variables.
  4. Comprehensive Vulnerability Reporting: Generate a single vulnerability report for the entire project, including all services, to help identify potential security issues across the ecosystem.
  5. Scalability: As your application grows, you can easily add more services to your project, configure them with their own settings, and manage them centrally.

Other Features in this update

In addition to the multi-service project architecture, this update also brings several improvements to make your workflow even more efficient.

1. Extensions Optimization

The extensions, responsible for detecting application vulnerabilities, have been significantly improved. In addition to general enhancements, we’ve introduced new extensions specifically designed to address vulnerabilities related to GraphQL and WSDL, ensuring more comprehensive security coverage.

2. Introduction of Tags

To help you organize your services and projects more efficiently, we’ve introduced the tagging feature. Now, you can assign tags to both services and projects, making it easier to categorize and search for specific items within your organization. Whether you’re working with multiple environments, teams, or workflows, tags will streamline your management process and enhance your ability to quickly find what you need.


Conclusion

With the new multi-service project architecture in Equixly, managing and testing multiple services is now easier than ever. Whether you’re working with a Login Service and a Core Service or more complex setups, Equixly provides a structured way to configure and test your services while maintaining full control over their dependencies and settings.

Take advantage of this new feature to streamline your development process, ensure proper service integration, and improve your system’s security with comprehensive vulnerability scans.

Edoardo Zatti

Edoardo Zatti

Technical Product Manager

With a master's degree in Theoretical Physics, Edoardo has established a robust analytical thinking and problem-solving foundation. During the final year of his studies, he taught an integration course at the university, refining his communication skills and kindling his passion for education. His academic journey took an exciting turn during his master's program as he ventured into the field of computer science through relevant courses. These courses sparked his interest in IT and led him to specialize in backend development, where he sharpened his skills through involvement in complex projects and practical experience in other Tech companies.