Finops.World
2E1

Identification of refactoring opportunities

Key role(s)

Objectives

Identify optimization opportunities and present the business cases of refactoring scenarios

Benefits

Improve IT efficiency through partial or total refactoring of services

The prioritization of investigations can begin as soon as we have reporting in place on the consumption of applications. When it's not just a matter of optimizing the infrastructure or code to deal with over-consumption, we can embark on a more in-depth study of refactoring opportunities. For example, based on :

  • The new services available from the Cloud provider(s)
  • New technologies available (and relevant) on the market
  • The proposal of several refactoring scenarios, partial or total. (One can for example decide to focus exclusively on the management of the "message queuing", or on data sharing).

Then, it is necessary to be able to present the refactoring opportunities in the form of a business case (even high-level), for which we will present :

  • The estimated costs of implementation
  • Expected monthly gains over current costs
  • Return on investment and the break-even point
  • And the other benefits expected, whether in terms of technical performance, flexibility, reliability, technical debt management, etc., are not yet known.

This business case vision is important because one may be tempted to rewrite an application to finally realize that the "payback" is more than a year… But maybe also that the other expected benefits totally justify this investment!

Optimizing application code

It should not be forgotten that optimizing the application code reduces the use of the underlying infrastructure.

4 themes of application optimization
4 themes of application optimization

Code optimization

Code factorization, caching and even the choice of programming language can drastically impact execution time.

Choice of libraries

Whether converting images or parsing regular expressions or JSON files, choosing one library over another can cut execution time by a factor of 20.

Parallelization

Vectoring the code and parallelizing operations as much as possible allows for economies of scale in execution.

Compression

Choosing the right data compression format can have a significant impact on stored volumes. You need to know how to balance runtime and storage cost according to your needs.

See previous card

Stop/start/Destruction of resources

ID 2O4

See next card

Studies of new technologies and solutions

ID 2E2

cross