Featured Insight

Refactoring for Cloud:
No Magic, Hard Work, but Less Risk 

Author

Vassil Avramov
Founder & CEO
Vassil.Avramov@RiskFocus.com

Introduction

One of the common challenges that companies face when moving legacy applications to the cloud is that a simple “lift-and-shift” frequently isn’t an option. The reason why some applications can’t be migrated without modification could be that a workload assumes a specific physical infrastructure that isn’t replicable in a cloud environment. More often, a lift-and-shift doesn’t make sense because the application can’t take advantage of elastic compute or cloud-native offerings. As a result, institutions frequently face the daunting task of a full refactoring of their critical business applications into microservices. While doing so may be beneficial once realized, it can be risky and is almost always expensive. 

At Risk Focus, we’re proud of our perfect track record of rebuilding and replatforming applications for the cloud. There’s no secret sauce to our success with migrating legacy applications to the cloud. Instead, we base our practice on the following pillars:

Focused Approach
Domain Knowledge 
Technical Expertise 
Iterative Process 
Cost Efficiency

Focused Approach 

  • When moving legacy applications, a common practice is to replicate the functionality of the existing system exactly. Doing so may be unnecessary: applications that are 10+ years old frequently aren’t built to serve the current needs of a business. Instead of trying to force a square peg in a round hole, we might be better off focusing on what the application should be doing rather than on what it’s currently doing. 

Domain Knowledge 

  • Technology excellence is required, but not enough, when refactoring functionally rich applications. Our senior staff has decades of financial services domain expertise, and we lean heavily on our business analysts throughout the process, beginning with planning and design. 
  • Refactoring into micro-services requires that the boundaries of services are appropriately defined. These definitions aren’t engineering constructs but are determined at an organizational and business-function level. Domain-driven design (DDD) is an approach that can help define these boundaries, but to be effective, it’s crucial that the domain be well understood. 

Technical Expertise 

  • Over the years, we’ve built critical trading, risk-management, and reporting systems for many of the largest banks, hedge funds, and industry utilities. We’re also one of a handful of AWS Consulting Partners who have the AWS Financial Services competency. We have more AWS Certifications than we have staff in the company (and we are counting the staff inclusive of Operations and Sales). This level of certification is a guarantee that everyone on a project, even our business analysts, have rigorous technical training.  
  • Traditionally, legacy systems rely on a “shared state” (e.g., using the same database) as an integration point. One of the patterns facilitating an application’s breakup into microservices is a move toward “shared flow” (e.g., using a redo log like Kafka). This approach allows us to more easily develop components in parallel, scale them, and move some into the cloud while leaving others in a data center as needed.

Iterative Process 

  • Whenever we start on a big re-architecture or refactoring project, our first milestone is to provide a quick working Proof of Value: Will the suggested technology and architecture meet the business and technical requirements? The only way to be certain is to get real data. 
  • We follow a disciplined, iterative process that has regular demos of progress at the end of each sprint. Even if an application can’t go into production at the end of each sprint, the regular demos of functionality and integration points allow for incremental testing. This removes nasty surprises around go-live, provides early feedback, and enables robust test automation. 

Cost Efficiency

  • We work very closely with AWS and can leverage several AWS funding programs. Our AWS partnership has allowed us to cut our clients’ migration costs by up to half. 

Learn More

Risk Focus is a consultancy solving capital-markets business problems with technology and insight. We combine business domain knowledge, technology expertise, and a disciplined process to ensure the success of the most challenging projects in the industry. Many of the largest exchanges and investment banks operate on systems built by Risk Focus teams. Our practices include Custom Application Development, Regulatory Reporting & Compliance, DevOps & Cloud, Streaming Architectures, and IT Strategy. We’re a Premier Confluent Systems Integrator and an AWS Advanced Consulting Partner with Financial Services, Migration, and DevOps Competencies. Clients count on us to provide outcomes that advance their objectives on time and on budget.