A modularity based IT Strategy directly addresses the fundamental cost, complexity and agility issues faced by many organizations. For businesses that need to be Agile (some do, some don’t), the competitive and operational advantages realized through highly modular IT Systems and runtime environments are profound.
The Paremus team is recognized throughout the industry for their deep and extensive experience with respect to modular Cloud runtimes and applications. We base our modularity consulting on the Modularity Maturity Model; our team has extensive experience working with code at all levels of this model and understands the processes required to transition between the levels. We can give advice on the various techniques available, and their relative benefits, to reach a given level; as well as helping to provide a cost-benefit analysis for the transformation.
Our Engineers have extensive experience working with code at all levels of the Modularity Maturity Model, and understand the processes necessary to transition between the levels. We can give advice on the various techniques available, and their relative benefits, to reach a given level; as well as helping to provide a cost-benefit analysis for the transformation.
For organizations wishing to evaluate, and then potentially embark upon a modular IT strategy, Paremus offer the following Consulting Services. Deliverables are tailored to each customer’s needs, but are usually formed from a mix of the following:
Modularity Audit, Strategy and ROI
Most organizations face a large IT legacy.
During the Audit and Strategy phase of an engagement, Paremus Engineering Consultants assess this legacy to determine the current Modularity Maturity level(s) of your organization.
- Development standards, processes and tooling
- Architectural standards
- Current application portfolio
- Release / Change management processes and infrastructure
- The runtime environments: including current infrastructure strategy
Having determined a current baseline, the necessary modularity end-state to achieve the organization’s business and operational objectives is identified.
Armed with this information Paremus create an over-arching Strategy and incremental migration plan that will achieve the desired objectives via the most efficient route for your organization. The proposed modularity strategy will be fully embedded; meaning where possible Paremus will help you build upon your organization’s current and prior IT investments: e.g. Software Defined Data Center / data center “virtualisation”, the use of Public or Private on-Premise ‘Cloud’, or more traditional ‘Out Sourcing’ or application consolidation / right-sizing initiatives.
From a technology perspective, the strategy will also explain which technologies should be used to enable modularity (e.g. Docker & OSGi), when to use each, and how.
We will support the proposed Strategy with rigorous ROI and Options models, via which your business can assess both the Financial and Business Agility benefits of the proposed approach.
A Migration Proof of Concept / Pilot
Paremus believe that an effective modular strategy can only be successfully delivered in an Agile fashion: one step at a time.
During the initial Audit, Strategy and ROI phase potential candidate applications are identified for an initial Migration Proof of Concept. The intent of a Proof of Concept is to migrate one or more applications to the desired level of modularity and to deliver a fully functioning development, build, release, run solution for this.
Dependent upon the customer’s strategic objectives the Proof of Concept may include elements of:
- Modular Application Migration: Including hands on guidance on migration best practices – e.g. Services or Bundle first migration, which to use in which situations
- Dependency Management: Creation of a consistent / coherent approach for dependency management of your software artifacts based on open industry standards
- The dynamic management of runtime dependencies within highly distributed Microservices / OSGi containers (e.g. Docker) based runtime environments
- Microservices and non-Java artifacts: Techniques to enable a Microservice deployment and management strategy for your existing applications without code refactoring
To achieve this the Paremus engineers work side by side with your development, architecture and operations teams and will provide formal training when necessary.
During the closing stages of the initial Proof of Concept further Applications are identified as candidates for a subsequent iteration. Ideally these candidate applications have similar architectural patterns to the Proof of Concept, represent common business system patterns within the organization and have a high degree of potential commonality in the software artifacts.
In this manner Paremus aim to help you bootstrap your modularity migration activities, in a manner which builds, and benefits, from the organization’s nascent module repository.
Modularity Patterns & Best Practices
For greenfield projects Paremus provide in-depth training and modularity consulting services to help you ensure that the new solution follows modularity best practices. Whatever the business domain Paremus can help you select the most appropriate approach to realize the objective of a maintainable, evolvable, modular solution.
Potential areas include:
- Microservice design patterns: Use of Synchronous and Asynchronous Microservices and µService design patterns (scale-out, load-balance, circuit breaker, back-pressure, actor)
- Modular Cloud design patterns
- OSGi Dependency Injection alternatives and best practices (Blueprint, Declarative Services, CDI, iPOJO)
- OSGi / Data Transfer Objects and Domain modelling
Where appropriate our team will work with your team to develop exploratory prototypes. Knowledge transfer is usually achieved via a combination of working side by side with your developers and architects combined with tailored formal training.
Some of these areas may require the use of the Paremus Service Fabric.
OSGi Tool Chain & Continuous Delivery
Flexible, maintainable and evolvable applications are not created by accident. Each developer must adopt industry best practices with respect to code modularity and isolation. However, sufficiently powerful developer tooling is required to help your team achieve this objective. An effective developer tool chain is essential for turning a potentially arduous chore into an automatic behavior that is a fundamental pillar of your Agile strategy.
To this end, Paremus has been leading the open source Bndtools project: the stated aim of which is to make it easier for Java Developers to develop with OSGi than not.
Building upon these open source efforts, our Consulting Services include the delivery and optimization of a Bndtools centric tool chain including integration to your chosen build server and code repository infrastructure. In addition to helping you establish an optimized OSGi continuous delivery environment and processes, Paremus can advise on the various options with respect to meeting regulatory, change management, software asset management (SAM) and requirements constraints.