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.

ToolSwaggerRapido
Collaborative designCollaboration option is there in commercial version(SwaggerHub). Open source does not have it.Did not find any collaboration option
Skeleton Code GenerationSupport is there. It supports many languagesDid not find an option for Code Generation
SketchPlain text in YAML formatSketch option is there which in turn can generate text
Open API 3.0 SupportIt supports 3.0 and all lower versionsSupport 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.

ToolSwagger API BluePrintRAML
Generated DocumentationYes, it supportsYes, it supportsYes, it supports
FormatYAMLMarkDownYAML
Stub GeneratorsStubs can be generated for multiple languages and support multiple REST formats within a given languageSupports but not as extensive as SwaggerSupports. But need to use different tools to document APIs for different technologies.
Web-Based EditorYes. It is there. You can document API at https://editor.swagger.ioYou can document API at https://app.apiary.io. But sign-in is mandatoryDid 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.