Terraform and API Evolution

Learn how Terraform can be used to replace a legacy web app.

A challenge faced by Bleacher Report

As Bleacher Report took their first steps in replacing a legacy web application, one of their initial challenges was visualizing how to go from a single application to potentially many without disrupting the service. They opted for an approach where the new service was completely decoupled from the legacy application but the legacy application had to be changed to talk to this new system via an HTTP client. This worked well in their case, since the functionality they were isolating was quite focused. While a good chunk of their system would depend on this new service, the service in itself depended on little else.

You may not be so lucky, however. Depending on your application, you may be hard-pressed to find a subsystem that doesn’t depend on other core components, such as authentication. For this reason, many companies choose the authentication service to be the first to be replaced or extracted from the legacy system. This can get quite complex because we need both old and new code to have the same logic when it comes to ...