DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
View Events Video Library
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Integrating PostgreSQL Databases with ANF: Join this workshop to learn how to create a PostgreSQL server using Instaclustr’s managed service

Mobile Database Essentials: Assess data needs, storage requirements, and more when leveraging databases for cloud and edge applications.

Monitoring and Observability for LLMs: Datadog and Google Cloud discuss how to achieve optimal AI model performance.

Automated Testing: The latest on architecture, TDD, and the benefits of AI and low-code tools.

Related

  • Real-Time Performance Monitoring in .NET Core With Grafana, InfluxDB, and Docker
  • Hiring Full-Stack Developers? 6 Skills To Look For in 2022
  • Reporting in Microservices: How To Optimize Performance
  • Watching the Requests Go By: Reconstructing an API Spec with APIClarity

Trending

  • Development of Custom Web Applications Within SAP Business Technology Platform
  • Beyond the Prompt: Unmasking Prompt Injections in Large Language Models
  • The Systemic Process of Debugging
  • New Free Tool From Contrast Security Makes API Security Testing Fast and Easy
  1. DZone
  2. Data Engineering
  3. Databases
  4. How to Select API Automation Tools for a Distributed Cloud-based App

How to Select API Automation Tools for a Distributed Cloud-based App

Alex Khizhnyak user avatar by
Alex Khizhnyak
·
Mar. 05, 15 · Interview
Like (0)
Save
Tweet
Share
4.18K Views

Join the DZone community and get the full member experience.

Join For Free

APIs are crucial for any microservices-based cloud architecture—as a means of communication between its services. Yet, developing an API from scratch is not a trivial task. You need to provide meta data, write server code, create a DB structure, develop new methods for new objects, etc. Luckily, many of these tasks can be automated. In this blog post, we investigate what are the key criteria for selecting API automation tools for distributed cloud-based apps.

Automation of API design and development

Enabling API automation: research

Dozens of tools have been created over the years, covering various aspects of API development and supporting different technology stacks. By using one or a combination of such tools, you can shorten development cycles and make it easier to maintain the system in the future. The only question is which one to choose.

Recently, our solution architects did some research into API frameworks that can be used for distributed cloud-based systems. The tools were evaluated across 19 technical criteria we considered to be important. Our goal was to find an API tool that would automate the entire development process and significantly shorten the release cycle. The parameters were mostly focused on building APIs for a large-scale Java project based on the Cloud Foundry PaaS.

 

Key selection criteria

The following table demonstrates what parameters and why our team considered to be important.
Criteria
Why
1. License type / open source For the sake of customization, we needed open source tools.
2. API code generation The main goal of this research was to find the tools that could automate the process of designing APIs.
3. Request-response model and endpoint Data formats and types of protocols to work with (e.g., JSON, REST) were also under consideration.
4. Programming languages/platforms Our project was Java-based, so all the tools under consideration had to support it.
5. Availability as a service This would give us an ability to test the products and start using them.
6. Stateless process For simpler implementation of a cluster and high level of scalability.
7. Authentication and authorization Support for popular standards (OAuth2, etc.) would enable rapid integration into existing systems.
8. Monitoring / logging Would be nice to have for debugging.
9. Scalability The chosen solutions should run on multiple instances.
10. Data storage The tools should support NoSQL databases, such as Cassandra.

We started the evaluation with Apache UserGrid, WSO2 API Manager, Cumulocity, MuleSoft API Gateway, and StrongLoop Server. These five tools satisfied most of our initial criteria.

In the end, our selection narrowed down to Apache UserGrid and WSO2 API Manager. If you'd like to know which of the options was selected and why, read our full study, "Comparison of API Automation Tools: Apache UserGrid vs. WSO2 API Manager." There, we provided a scoring framework with all 19 parameters important for evaluation.

Obviously, the list of the parameters for evaluation may vary—depending on a particucal use case. So, what about you, how do you automate API development for your cloud apps?

API app Open source Database

Published at DZone with permission of Alex Khizhnyak. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Real-Time Performance Monitoring in .NET Core With Grafana, InfluxDB, and Docker
  • Hiring Full-Stack Developers? 6 Skills To Look For in 2022
  • Reporting in Microservices: How To Optimize Performance
  • Watching the Requests Go By: Reconstructing an API Spec with APIClarity

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: