Proof of value process
With Moderne, you can automate maintenance processes such as framework migrations, security vulnerability fixes, and code quality standardization. Code refactoring work that used to take months and teams of developers can be done in minutes, closing vulnerabilities and saving millions of dollars in software maintenance costs while giving developers substantially more time to focus on delivering business value.
We are often asked how to introduce the power of Moderne to an organization in order to build confidence in the tooling and facilitate a successful paradigm shift for their teams. To start, it's best to focus on lower risk, lower effort, and lower complexity tasks for developers. This might include tasks such as cleaning up code quality issues or addressing isolated CVEs. Once success is shown in these areas, you can build up to more substantial updates, such as minor framework updates or patches, and eventually to more complex code migration work.
The idea is for all of these types of updates to become a continuous process for your organization. Gradually phasing them in over time helps to achieve both technological and cultural change, which ultimately drives adoption.
- 1.To begin the process, please fill out this questionnaire so that we can provision the appropriate services for your organization and provide you with a PDF that contains the relevant information you'll need for step 3.
- 2.Once you've filled out the form, we will provision an isolated Moderne platform in the cloud provider and region of your choice. Deployment is fully automated and takes approximately one hour. Please let us know which cloud provider and region you prefer.
- 3.Using the instructions we provided in PDF, you'll then need to install an on-prem agent. The agent is a single docker image or JAR that can run on a Virtual Machine, Kubernetes, or Cloud Foundry. It controls the encryption key and connects to on-prem systems such as your source code manager (SCM) and artifact repository. To ensure the agent functions correctly, you will need to create a read-only service account for your artifact repository and your SCM. This will allow developers to authenticate with your SCM for access control and commits/PRs. The installation process typically takes less than an hour once the service accounts and SCM configurations are in place.
- 4.To enable SSO for Moderne, you will need to connect to your Identity Provider (IdP). This is done in a 30-minute meeting with Moderne to exchange metadata. If requested, a username/password can also be used during the POV process instead of SSO.
- 5.Next, you'll need to set up the ingestion pipeline. This pipeline will build and publish LST artifacts for the repositories you specify to your artifact repository. From there, the Moderne agent will find these LST artifacts, encrypt them, and ship them to the Moderne cloud.
- The more repositories you add and the more diverse they are, the easier it is to demonstrate value. Customers typically start with 50-100 repositories.
- No changes are required to the repositories themselves (such as installing build plugins).
- 6.With all of that done, you're now ready to run some recipes. Below, we'll provide some suggestions for recipes to run. The links will take you to the Moderne SaaS where you can run the recipes on a variety of open-source repositories. You will need to sign in to view and run recipes.
Ordered from least complex to most complex
- Improve code quality and readability
- Fix common mistakes
- Eliminate legacy patterns and minor performance issues
- SLF4J Logging best practices
- Maven dependency management
- Gradle wrapper and plugin upgrades
- Security enhancements and discovery
- Modernize test frameworks
- Migrate JUnit assertions to AssertJ improved readability and consistency over stock JUnit assertions
- Custom migrations. Custom recipes can be developed to help with internal platform API management, EJB to Spring migrations, etc.
Major migrations are complex transformations consisting of multiple individual recipes. At some point, these transformations represent one-off use cases and there are diminishing returns from trying to automate them fully. Mostly, they will lift your applications 80-90% of the way to completion with the remainder requiring some manual actions expected to be taken by developers.