4 Takeaways from LendingHome’s Migration Journey to AWS

23May,18 Post Image

Our recent webinar, “Cloud Migration: Solving for Growth with Containers & DevOps on AWS,” illustrates how LendingHome, a fast-growing mortgage lender, optimized their infrastructure to support rapid growth and create competitive advantage. Read on for the top takeaways.

This was our third webinar in the series, “5 C’s That Changed the Future,” co-sponsored by nClouds and AWS, and hosted by DevOps.com. The series focuses on customer journeys with modern infrastructure solutions on AWS and continuous innovation (CI), continuous delivery (CD), containers, cloud, and culture.

Quick Intro to Lending Home

Imagine that your successful, award-winning financial technology company has reached an inflection point where continued growth and user satisfaction requires a fundamental shift to improve scalability and uptime and enable faster innovation. LendingHome determined that they hit this point in late 2017.

Who is LendingHome? With more than $2B in mortgage loans originated to date, LendingHome is revolutionizing the world of mortgages. Their streamlined and transparent platform has garnered numerous awards: Fintech 2018 “Best Digital Mortgage Product,” HousingWire 2018 “HW TECH100™”, Forbes 2018 “Fintech 50”, and LendIt 2017 “Top Real Estate Platform.” On top of that, they are the fastest growing online mortgage marketplace to date, and they have returned $1.3B in principal to investors.

Key to the success of the brand is the platform’s user experience – for both external and internal customers. In fact, LendingHome is its own largest adopter since they created an in-house mortgage origination system in 2014. They have since scaled to over 300 employees and have closed over 10,000 loans. If the software doesn’t work, the team can’t work their magic to make that happen.

Starting with Solid Architecture

LendingHome decided in late 2017 to migrate their workloads to AWS, leveraging containers and DevOps. LendingHome collaborated with nClouds and AWS on this migration project, an outcome of an AWS Well-Architected Framework review.

As an AWS Authorized Well-Architected Partner, nClouds performed the review based on a set of architectural best practices for reviewing critical workloads running on AWS. The review identified the business impact of LendingHome’s cloud-based architecture and proposed remediation. nClouds worked with LendingHome to develop a proof-of-concept that demonstrated the potential improvements, after which they collaborated on a rapid path to delivery into production.

What did the migration involve? Moving off the Heroku platform and migrating to AWS.

LendingHome’s objectives were to:

  • Enable improved uptime and flexibility.
  • Support faster innovation.
  • Attain finer control of their environment for security, regions, and access.

Because of the migration to an AWS modular infrastructure, LendingHome achieved virtually spotless uptime, reduced cost, improved performance, and stronger security.

We’ve highlighted four of the key takeaways below. For additional, valuable insights on how LendingHome improved their user experience and internal SLAs, view the webinar on demand, featuring insights from:

  • Donovan Bray, Senior DevOps Manager, LendingHome
  • JT Giri, CEO & Co-founder, nClouds
  • Juan Villa, Solutions Architect, Amazon Web Services

1. Struggling with inconsistent uptime? Use containers to build the DevOps layer.

Financial services companies require scalability with secure, blazing fast performance. LendingHome needed to scale to attain redundancy and improve the consistency of uptime.

  • They had downtime issues stemming from Heroku platform-as-a-service (PaaS), and CloudFlare website performance and security.
  • Redundancy was an issue because Heroku only offered one region in 2017, and the data sat on the public side.

Instead of deploying a lift-and-shift cloud migration approach, they went with a containerization approach. The first step was creating the support infrastructure. Donovan Bray said, “…before engaging with nClouds [we tried] on our own to tackle this huge project, and we just knew we needed help. So, we contacted [nClouds] and brought them in — I wish we brought them in sooner.”

Donovan emphasized, “It’s really important to think about how you’re going to layer your infrastructure. At the beginning, I highly recommend you do … a comprehensive IP plan … for your entire corporate and production side.”

Key elements of the new infrastructure:

  • Amazon Elastic Container Service (Amazon ECS), a highly scalable, high-performance container orchestration service, to make it easy to run and scale containerized applications on AWS.
  • AWS CloudFormation to model and provision cloud infrastructure resources, with CloudFormation templates segmented by stack, application, variant, and deployment.
  • AWS Lambda to automate scalability and improve availability. Lambda treats infrastructure as code, making it easier to spin up new regions without running into environment variance issues.
  • Amazon ElastiCache to enable quick and secure scale-out, scale-in, and scale-up to meet fluctuating application demands.

2. Want greater control and flexibility? A modular infrastructure is the way to go.

Donovan Bray said “Heroku’s great – we wouldn’t be where we are within as few years … if we didn’t have Heroku.” However, by 2017, he knew that LendingHome needed improved control and flexibility, and wanted to create a second region (which Heroku didn’t offer at that time).

There were control issues inside of Heroku’s “black box” that were causing H10 errors, with no distinction between actual app crashed vs. routing mesh issues. LendingHome had reached a core pivot point regarding the trade-off between flexibility and simplicity.

To accomplish their objectives, LendingHome replaced Heroku with a modular and scalable Amazon Virtual Private Cloud (VPC) architecture, giving them the flexibility to mix and match best of breed applications.

As Donovan said, “[It’s like] you’re playing with Legos, and you can pretty much put it together however it makes sense.”

They built a DevOps layer on AWS. For visibility and monitoring, they included Datadog to seamlessly aggregate metrics and events across the full DevOps stack and Splunk for log management.

3. Need faster performance and reduced costs? Implement Amazon Aurora and Amazon EC2 Spot Instances.

LendingHome switched from Heroku Postgres to Amazon Aurora Postgres, and as a result, they’ve realized 3.5% faster performance. The Speed Index of LendingHome’s pages was 3.11 before migration and improved to 2.92 post-migration. Amazon Aurora combines the performance and availability of high-end commercial databases with the simplicity and cost-effectiveness of open source databases.

Amazon EC2 Spot Instances enabled optimization of AWS cloud costs, scaling application throughput up to 10x for the same budget. By simply selecting Spot when launching EC2 instances, you can save up to 90% on On-Demand prices.

Juan Villa said, “Spot Instances allows for very cost-effective workloads, usually queue-based workloads where you don’t care where the work is done as long as it’s done in the next 36 hours. You can leverage some really good pricing by bidding on unused capacity, which is what Spot Instances are.”

Donovan said that LendingHome is “…running about 300 Spot Instances just for our Buildkite (CI/CD) farm … and it works great.”

4. Concerned about security and compliance? Use security building blocks combined with third-party applications like OpenVPN.

As a mortgage loan originator, LendingHome is subject to increasing regulatory and audit compliance. While Heroku now has a product called Private Spaces, at the time that LendingHome decided to migrate to AWS Heroku didn’t offer the ability to create a second region, and LendingHome needed to have redundancy.

Security was an issue because Heroku housed databases in the public space. LendingHome had applications that were services, and they didn’t belong on the public internet. Because the actual port was public, there was a risk that “people could come knocking on the door.” And, with third-party service add-ons like New Relic, the result was that all of LendingHome’s engineers became administrators by default.

LendingHome resolved these issues by migrating to AWS, where they could use a Virtual Private Network (VPN) and leverage OpenVPN (open source VPN software) to ensure controlled access to the infrastructure. They used Amazon Virtual Private Cloud (VPC) Peering, a networking connection between two VPCs that enabled them to route traffic between regions.

Next steps.

  • We encourage you to watch the webinar replay and get the slides that contain some great reference materials that you can apply to your own organization.
  • Also, know that nClouds is interested in helping you with your 5C’s journey, including cloud migrations or AWS Well-Architected reviews, like LendingHome. As nClouds CEO and Co-founder JT Giri said during the webinar,

    “Our mission is to help companies to build sustainable infrastructure so they can focus on their core business.” Let’s talk!

Subscribe to Our Newsletter

Join our community of DevOps enthusiast - Get free tips, advice, and insights from our industry leading team of AWS experts.