Jump to
Are you struggling to improve efficiency of your software development process? Internal Developer Platforms (IDPs) like Backstage, Port, Spotify Portal, and Cortex are instrumental in streamlining workflows, enabling service creation, and enforcing best practices. However, despite the availability of these platforms, organizations often struggle with template drift, where services gradually fall out of alignment with evolving standards, leading to continuously increasing technical debt. This becomes a pressing challenge for organizations, as developers spend around 33% of their time on dealing with technical debt, according to a study from McKinsey.
At Amplication, we take a unique approach to tackling these challenges. We believe that consistency and standardization should be continuously maintained through live updates, automation, and smart integration. This post explores how you can address these issues head-on to ensure your development standards evolve as seamlessly as your business.
Understanding the challenges with existing IDPs
IDPs are designed to empower development teams by providing tools for service scaffolding, deployment, and monitoring. Here’s how some popular IDPs support organizations:
- Backstage: offers a centralized service catalog and software templates to guide teams in creating consistent services. It integrates with tools for monitoring and documentation, aiming to reduce technical debt through a unified approach.
- Port: provides dynamic software catalogs and blueprints for infrastructure modeling, focusing on developer self-service and standardization. It aims to minimize technical debt by ensuring services align with organizational guidelines from the start.
- Spotify Portal: uses Software Templates and Golden Paths to enforce consistent practices and maintain high-quality code across services, helping reduce technical debt.
- Cortex: Tracks service quality and compliance using a service catalog with custom scorecards, helping teams proactively identify gaps in standards and address technical debt.
While these platforms assist organizations in establishing standards, they often fall short when it comes to maintaining alignment as templates evolve. When new updates to best practices or technologies are introduced, existing services may not automatically adopt these changes, resulting in template drift. This leads to inconsistencies across services, eventually accumulating technical debt that requires manual updates.
Handling template drift and technical debt with Amplication
At Amplication, we believe that tackling technical debt should be proactive and automatic. Our approach emphasizes continuous maintenance, reducing the burden of manual updates and extensive refactoring. The platform offers several key features:
- Live templates: enable teams to create dynamic templates that embed organizational best practices and standards, ensuring consistency and compliance from the start. These templates are easily updatable, and any changes made can be automatically applied to all existing services that were originally created from these templates, ensuring alignment with the latest standards.
- AI-powered code generation: automates the creation and updating of microservices, including APIs, data models, and other essential components, allowing developers to focus on business logic rather than repetitive tasks. This ensures a consistent, standardized codebase.
- Automatic maintenance: continuously keeps applications up-to-date by managing package updates, patches, and versioning automatically. This proactive approach minimizes technical debt and ensures all services adhere to evolving standards without manual intervention.
A real-world example: managing .NET microservices with Amplication
Think of an organization that uses .NET for its backend services. Their architecture involves multiple microservices across various teams, with a common stack that includes MSSQL for the database, ASP.NET Core Identity for authentication, Kafka for messaging, Prometheus for monitoring, Logz.io for logging, and Terraform for AWS deployment. Each team is responsible for developing and maintaining its own microservices, what leads to varying configurations and approaches.
Setting up with Amplication
With Amplication, the platform team easily creates live templates that enforce consistent practices and standards across all services. These templates embed configurations for MSSQL, ASP.NET Core Identity, Kafka, Prometheus, Logz.io, and Terraform, ensuring that each new service follows the same guidelines for data access, authentication, messaging, monitoring, logging, and deployment.
Addressing a critical update
A critical vulnerability was discovered in Kafka, prompting the need for an urgent upgrade to a new version with a security patch. Simultaneously, the organization decides to update the Logz.io logging formats to comply with new requirements for log analysis and monitoring.
This is how the process looks like with Amplication:
-
Template update with new plugin versions:
The platform team updates the live template to reflect the new Kafka version and the revised Logz.io logging formats. This involves updating the relevant plugins in the template, ensuring that any new services generated from the template will use the latest configurations.
-
Technical debt alerts:
Amplication’s built-in technical debt monitoring automatically detects the services using the older versions of Kafka and Logz.io. It issues an alert for each affected service, notifying teams about the technical debt created and the required updates.
-
One-click service update:
To resolve the technical debt, teams initiate an update with a single click, generating an automatic GitHub pull request (PR) containing all the necessary changes to align the services with the updated template. This PR includes the new Kafka version and Logz.io format updates, as well as any other relevant configuration changes.
-
Effortless integration and approval:
The development teams can review the PR, conduct any required tests, and merge it once approved. This streamlined process reduces manual effort, minimizes human error, and ensures that all services are up to date.
Integrating Amplication or using it as a standalone platform
You can integrate Amplication with existing IDPs like Backstage and Port to enhance their functionality or use Amplication as a standalone solution that provides a comprehensive service catalog, live templates, plugins, and automated maintenance.
-
Integration with existing IDPs
Amplication can seamlessly integrate with popular IDPs using plugins or the Amplication API. This allows organizations to incorporate Amplication’s live templates, automated service updates, and technical debt monitoring directly into their existing development workflows without disrupting established practices. Teams can continue using their current IDP features, such as service discovery, developer portals, and scorecards, while benefiting from Amplication's ability to keep services aligned with evolving standards and best practices.
-
Standalone solution
For organizations that prefer not to implement a full blown IDP solution, Amplication can operate as a complete platform for service management. It provides a service catalog for monitoring and maintaining services, live templates for standardizing service creation and maintenance, and plugins for integrating third-party tools or internal workflows. This approach allows to automatically keep all services up to date with the latest organizational standards. Teams can benefit from a streamlined process for building, effortless maintaining, and scaling services, while ensuring consistency across the development lifecycle.
This flexibility allows organizations to maintain high standards and minimize technical debt, whether by enhancing existing systems or adopting Amplication’s service management solutions.
Conclusion
Modern software development requires solutions that continuously adapt to changing standards and best practices, often going beyond IDPs' existing capabilities. While Backstage, Port, Spotify Portal, and Cortex offer valuable tools for service management and quality tracking, they often struggle to keep services aligned with evolving standards, security requirements, and best practices.
Amplication addresses these challenges head-on by providing a platform that supports live templates, automated maintenance, and intelligent code generation, all aimed at reducing technical debt and eliminating template drift. Amplication offers the tools and flexibility to keep your services secure, consistent, and up-to-date, allowing your team to focus on innovation rather than maintenance.