This case study features Orchard, a home buying and selling platform. It showcases how Orchard meets their business objective by running Kubernetes on AWS with Cloud 66 Maestro.
Orchard - Company Overview:
Orchard was founded in September 2017 and is taking the US market by storm, helping consumers buy and sell homes in San Antonio, Dallas, Austin, Denver, and Atlanta.
What is Orchard? Orchard is a home buying marketplace that makes purchasing a home stress-free, fair, and simple.
How does it work? Orchard removes the uncertainty and stress of buying and selling a home. Our Buy and Sell service allows our customers to buy their new homes before selling their old homes. That way customers don’t have to miss out on their dream home because they haven’t sold their current one. Customers work directly with a dedicated, licensed Orchard agent to find a new home they’ll love. When they find their dream home, Orchard reserves the home for them by making a cash offer on their behalf. Since Orchard customers are making cash offers, they’re more likely to be chosen by sellers. The customer moves into their new home and then our agents get to work on selling their old home for top dollar. Orchard handles everything from cleaning to listing and showing – all after the customer moves out, so they never have to deal with it.
To find out more about this amazing company I got in touch with the Head of Technology -Dennis Lipovsky. Dennis, can you tell us more about Orchard and your experience with Cloud 66?
What are Orchard's business needs?
It was only 2 years ago that Orchard was getting started, in the early days we were a team of 3. It is easy to make decisions at that point in a company's life to move quickly by giving up some best practices, but we knew that deployment and infrastructure is tech debt that quickly becomes due and can be hard to pay down. We also knew we would have to move fast to build our product up from nothing, so we wanted a tool that would enable us to move quickly while still keeping best practices in mind. Cloud 66 andMaestro Kubernetes fit that sweet spot very well at 3 engineers and has served us well as we grew to our current size of around 20.
Since we had nothing which came before Maestro in our infrastructure stack, we had to consider both our current needs and try and predict what our future needs might be without really knowing either of those things in practice. We knew we wanted to be working in containers so any technology we chose would have to support Docker. Amazon EKS wasn't generally available yet and for various reasons, we were preferring the Amazon cloud over GCP, Azure, etc. Our other options were rolling our own Kubernetes or leveraging ECS. In the interest of going with what "just worked" Cloud 66 won.
The current infrastructure set-up at Orchard.
Our code is managed in git hosted by Github. Continuous integration is handled by CircleCI. Merges into the master branch automatically trigger integration tests as well as a deployment to our QA stack in Cloud 66. That same container is deployable to our production stack with a single deploy command in Cloud 66. We also have a stack for our data pipelines which are running in an Airflow container. Our servers are running in AWS and our database is Postgres running in RDS.
Why did you choose Maestro Kubernetes?
We have looked at EKS and building our own Kubernetes infrastructure but so far Cloud 66 has handled our team growth very well. We will continue assessing as the team grows to make sure our infrastructure is meeting our team's needs.
We decided to use Maestro largely because it just worked for our team. It enabled us to move quickly while still keeping best practices in mind. We have a docker container for each release that gets integration tested and deployed to QA and production with no changes, so we know the code we test is the code we deploy.
With Maestro our QA environment is always up to date and our production is a single button push to deploy. We are able to release code and features on our schedule, rather than depending on a more complex release plan. We like that almost everything is exposed and configurable. Services are defined in a service.yml and versioned. The nginx config fronting all of our services is exposed and editable. It is very clear how to get onto the individual machines or use kubectl to inspect the system if the need arises. We are also very excited about the new feature calledFast Deployments that only pushed changes to code and/or images.
Most of the cloud providers now have a Kubernetes offering. Why AWS and how does it work with Maestro?
Our background was more in AWS than the other options for cloud provider so that seemed a natural choice for us starting out. AWS is what our founding team knew best. Furthermore, AWS integrates seamlessly with Maestro Kubernetes. We are able to provision and deploy to a new stack in a matter of minutes if we need to. And we did have to do that somewhat urgently early on in our development.
What are Orchard's plans for the next 12 months?
In early 2020, Orchard announced $36M in fundraising, and we will continue investing heavily in our tech and product innovation. Orchard’s core focus is the customer. In the upcoming months, we look forward to accelerating our growth as the premier tech-enabled brokerage and leading the effort in scaling our engineering team. This team will work on creating thoughtful tech solutions that will make for an even more delightful experience for our customers.
It is a pleasure to work with Dennis Lipovsky from Orchard. Thank you for finding the time to chat with us about Orchard and your experience with Cloud 66 Kubernetes solution. It's always fantastic to discover all the unique ways in which our customers are using our products. We loved to send a massive congratulations to the Orchard team on closing $36M investment round, Whoop Whoop!