Microservices Ecosystem and Popular Tools

Many of us already know that Microservices are being adopted for every new enterprise application that is being designed to scale. Many existing monolithic applications are being migrated to Microservices to meet the new age business needs. In bird’s view,  Microservices will appear like the simple set of REST services grouped by specific functionality, but when we dig deep, Microservices internally contains many intricate processes that we need to handle with care in order to get an effective output. Tools that we choose at each stage or for each process, will play a bigger role in defining the success of the overall ecosystem. This series of blogs will cover all those intricate processes and popular tools at each level and compares those tools on certain important attributes specific to that area. After reading these blogs, you will become familiar with many tools that are available in microsystems and knowledge to make a better decision on which tool to use for a given need.

Microservices Ecosystem:

In general, Microservices system contains following listed entities. Some of these entities are phases in standard software development and some of them are Microservices specific processes which will provide the backbone for efficient microservices system.

  • Design
  • Documentation
  • Development
  • Unit Testing
  • Integration Testing
  • Load Testing
  • Continuous Delivery
  • Containerization
  • Monitoring
  • Load Balancing
  • Service Discovery
  • Auto Scaling
  • Inter Service communication

 

In this series, we will be starting with the microservices design and documentation tools with their specifications and comparison.

Design:

Design plays a vital role in Microservices. This is the phase in which we identify the bounded context for the microservice that you are going to develop. In this phase, we decide the contours of given microservice and different endpoints that a given microservices contains.

Tool Swagger Rapido
Collaborative design Collaboration option is there in commercial version(SwaggerHub). Open source does not have it. Did not find any collaboration option
Skeleton Code Generation Support is there. It supports many languages Did not find an option for Code Generation
Sketch Plain text in YAML format Sketch option is there which in turn can generate text
Open API 3.0 Support It supports 3.0 and all lower versions Support is there for 2.0, yet to upgrade for 3.0

In general, Swagger appears to be more equipped to handle the current needs and Rapido is yet to catch up on many fronts.

Documentation:

Documentation ensures common understanding across multiple stakeholders like Designer, Developer, and Integrator. All the endpoints will be documented with input, output along with possible error codes.

Tool Swagger API BluePrint RAML
Generated Documentation Yes, it supports Yes, it supports Yes, it supports
Format YAML MarkDown YAML
Stub Generators Stubs can be generated for multiple languages and support multiple REST formats within a given language Supports but not as extensive as Swagger Supports. But need to use different tools to document APIs for different technologies.
Web-Based Editor Yes. It is there. You can document API at https://editor.swagger.io You can document API at https://app.apiary.io. But sign-in is mandatory Did not find pre hosted web editor

In documentation also, Swagger is better equipped to handle the current user needs. If you have enterprise level need, SwaggerHub can help you in a big way.

Summary:

In this blog, we have covered different processes which are involved in the Microservices ecosystem, tools and their comparison for Design and Documentation.  I hope now you became familiar with some of the tools that are available in microsystems and knowledge to make a better decision on which tool to use for a given need.

In the next blog, I will be covering Development and Testing phases.

At Walking Tree, we are excited about the possibilities that Microservices brings in. Subscribe today to our blog for more articles on this topic.

Related Posts

Leave a comment

Privacy Preferences
When you visit our website, it may store information through your browser from specific services, usually in form of cookies. Here you can change your privacy preferences. Please note that blocking some types of cookies may impact your experience on our website and the services we offer.