October 27, 2023

Got Monorepos Instead of Microservices? This is How Harness IDP Has Got You Covered

Table of Contents

Software development is ever-changing, and so are the tools and methodologies developers use. While microservices are the recent buzz and discussions on mono vs polyrepos are ongoing, monorepos have been a staple for a long time. These monolithic repositories, which house code for multiple projects in a single location, have their merits. They simplify dependency management, make code reviews efficient, and offer a unified versioning system.

However, the rise of Cloud Native tools and technologies has shifted the focus towards microservices, influencing tools like Backstage. Backstage, an open-source developer portal, has become a favorite for many organizations, especially those leaning towards microservices. But what about those still using or transitioning from monorepos?

Mono-repo Use Case in Harness IDP
Managing Monorepo in Harness Internal Developer Portal

Monorepos, while beneficial in many ways, come with their set of problems for backstage/Internal Developer Portal use case:

Plugins: Tools like Backstage have plugins, such as GitHub insights, that are designed with the assumption that a single repo corresponds to a single software component. In a monorepo setup, this can lead to inaccurate results, as multiple components might reside in the same repository.

Here's where the Harness Internal Developer Portal comes in. While it's true that our primary design has been microservice-first, and monorepos might seem like an afterthought, the IDP is equipped to handle both. The Harness Developer Portal is versatile enough to cater to both microservices and monorepos, ensuring no organization is left behind in their development journey.

How IDP takes special care of monorepos

This Harness Internal Developer Portal aims to enable organizations to handle monorepos as efficiently as microservices, especially given the challenges they present. Here's How:

  1. Location Flexibility with catalog-info.yaml: One of the standout features of the Harness Internal Developer Portal is its ability to recognize the catalog-info.yaml file, irrespective of its location in the repository.In a monorepo, the YAML definition can be placed anywhere, offering immense flexibility in structuring. Fun fact - we love monorepos here at Harness and our [harness-core](Link to Harness Core) is managed using a monorepo.
  2. Localized Documentation: With monorepos, documentation can reside within specific sub-directories, ensuring that related code and its documentation are closely knit. Backstage even offers a plugin to facilitate this, emphasizing the importance and ease of this setup.
  3. Simplified Service Onboarding: When onboarding new services, there's no need to create entirely new repositories. Instead, new directories can be created within the existing monorepo.
  4. Path-Aware Scorecard Checks: Scorecards in a monorepo are aware of specific paths. This means that as long as the backstage.io/source-location is configured correctly to include the sub-path where a particular project resides, everything functions seamlessly. Also the ability to verify Library version and whether a file exists or not, ensures that each project within the monorepo is treated as a distinct entity, with its checks and configurations.

Conclusion

In conclusion, monorepos offer a flexible and efficient approach to software development. With the ability to place YAML definitions anywhere, keep documentation organized, streamline service onboarding, and have precise path-aware checks, tools like Harness Internal Developer Portal make managing monorepos simpler and more effective. Whether you're a large enterprise or a growing startup, embracing these advantages can significantly enhance your development workflow.

Try out Harness Internal Developer Portal (IDP), we've got a wealth of resources to help you dive deeper. Please reach out to us for a demo. For a comprehensive understanding, our release blogs detail the latest features and updates. And if you're more of a visual learner, our video tutorials, and documentation offer step-by-step guides to get you started. Dive in and discover the transformative power of Harness IDP!

You might also like
No items found.

Similar Blogs

No items found.
Gitness
Code Repository
Software Supply Chain Assurance
Infrastructure as Code Management
AIDA
Continuous Error Tracking
Internal Developer Portal
Software Engineering Insights
Platform
Cloud Cost Management
Chaos Engineering
Continuous Delivery & GitOps
Security Testing Orchestration
Service Reliability Management
Feature Flags
Continuous Integration