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
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
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

Because the DevOps movement has redefined engineering responsibilities, SREs now have to become stewards of observability strategy.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Related

  • Monolithic First
  • Evolutionary Architecture: A Solution to the Lost Art of Software Design
  • Application Modernization and 6 R's
  • Single Responsibility Principle: The Most Important Rule in the Software World

Trending

  • Yet Another GenAI Nightmare: Seven Shadow AI Pitfalls to Avoid
  • How Kubernetes Cluster Sizing Affects Performance and Cost Efficiency in Cloud Deployments
  • Designing for Sustainability: The Rise of Green Software
  • My Favorite Interview Question
  1. DZone
  2. Data Engineering
  3. Databases
  4. Low-Code and Microservices

Low-Code and Microservices

Find out the advantages to using a low-code method with Microservices. Some advantages include the speed and simplicity.

By 
Alexander Assink user avatar
Alexander Assink
·
Updated Nov. 27, 19 · Analysis
Likes (3)
Comment
Save
Tweet
Share
6.4K Views

Join the DZone community and get the full member experience.

Join For Free

cat under blankets

Keep the code low and productivity high.

This article discusses how low-code application development platforms can fit into the increasingly popular microservices architecture style. Rather than discussing the pros/cons of a microservices architecture itself, this article focuses on how low-code could fit into this architecture and complement it to get the best of both worlds.

Putting It in Perspective

Low-Code Development Is Fast

Low-code, in particular, a low-code application development platform, aims to bridge the gap between business and IT while improving agility, productivity, and the overall development experience across the software development lifecycle. Apps and services are not coded but modeled in a uniform visual modeling environment which abstracts away many complexities often encountered with traditional software development.

Low-code also aims to get more people involved in the design and development process through its visual modeling approach, making it also very appealing to tech-savvy ‘citizen developers’ as we enter the digital era. The intent of low-code often gravitates towards smaller departmental- and product-focused solutions and differentiating and innovative solutions on top of core systems providing fit for purpose UI/UX.

Microservices Are Simple

Microservices are services that are simple, lightweight, and loosely coupled to make it easier for individual teams to work on manageable parts within their domain. This domain-driven and autonomous approach to software development also aligns well with process and organizational trends such as DevOps and scaled agile transformations that move organizations towards more autonomous and product-focused teams.

These microservices teams show similarities with the autonomous teams that could model their own departmental- and product-focused low-code solutions and where these two can potentially converge.

Microservice Architectures Are Complex

Although individual microservices are designed to be simple, the complexity increases within the overall architecture and governance required around all these smaller moving parts. For example, microservices should be able to be deployed, monitored, orchestrated, and scaled individually without impacting each other.

Many aspects must be carefully designed to make this architecture meet its true promise of being more productive, flexible, scalable, and resilient. In contrary to low-code solutions converging with microservices from an organizational perspective, the complex microservices architecture itself and the design concerns that it introduces can often not be addressed by low-code teams alone and requires both additional expertise and tooling.

Prepare Yourself for Success

Keep It Simple

When working mostly with citizen developers it is likely better to focus only on the outside edge of a microservices architecture and model apps that provide the UI/UX to end-users. This is a more natural fit for this audience and avoids exposure to the more complex underlying microservices architectural concerns. Expose the integration points with microservices through well-documented APIs to make it easier also for citizen developers to identify and integrate them into their apps.

A low barrier approach towards modeling also the microservices with low-code in is to start with a monolithic design and only gradually decompose it into microservices should the need for it arise later. This often works well when the intent is to try out innovations or to first validate minimum viable products in the field quickly without a need for microservices architecture from the very beginning.

Although modeling microservices with low-code by itself can be simple, this does not make it an architecture yet. It is fine when a microservice is only a part of a single and well-defined solution, however when they are also meant to be re-used by many known and also yet unknown consumers in a true microservices architecture be aware that complexity will increase.

Focus on the User Interaction

Microservice architectures often focus on the backend while the frontends are still being implemented as monoliths towards the outside of the architecture. Low code application development platforms; however, have a strong emphasis on working directly with the business and end-users to also create fit for purpose UI/UX. In addition to modeling the microservices, low-code can also make it easier for teams to model their frontends while depending much less on specialized frontend skills and separate teams.

Understand the Domain

A design thinking approach, for example by customer journey mapping, is one way to identify contact points with end-users that could benefit from microservices in need of UI/UX which makes them very suitable to be modeled using a low-code platform.

Domain-Driven-Design principles can also help to define the scope of microservices and how they should interact to be efficient as standalone services as well as within a true microservices architecture.

Microservices should not only fulfill a single responsibility from a technical perspective but also from a business perspective to avoid business domains are coupled together. It also helps when the organization is already working with scaled agile and separate product teams as this could also help to define certain logical boundaries for microservices already.

Communicate Meaningful Information

Interaction between microservices increases when they share incomplete information which will degrade the performance and reduces loose coupling. Take a customer for example at an internet provider that moves to a new address; should other microservices know about address updates or that the customer is moving?

The first approach might lead to multiple interactions when a microservice needs to know why the address was changed and if any products need to be enabled or disabled. Instead, if you directly communicate that the customer is moving then all the relevant information can already be shared.

It’s About the Entire Software Development Lifecycle

Low-code modeling and microservice architectures both aim to improve agility in software development. A true microservice has its independent lifecycle and with many of them, they will need to depend on automation such as CI/CD pipelines and container orchestration platforms to remain agile. 

Therefore, it is also important to look at the maturity level of agile teams and their ability to apply DevOps practices successfully. Low-code application development platforms often provide monitoring and out of the box CI/CD pipelines to address part of the technical aspects, but the organizational and human aspects can’t be solved by any platform alone.

microservice Software development Architecture agile application Visual modeling app Domain-driven design Design

Opinions expressed by DZone contributors are their own.

Related

  • Monolithic First
  • Evolutionary Architecture: A Solution to the Lost Art of Software Design
  • Application Modernization and 6 R's
  • Single Responsibility Principle: The Most Important Rule in the Software World

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • 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:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!