official website HomeAdvisor

Technology Blog

  • Home
  • Open Source
  • Development
    • Agile
    • Automated Testing
    • Culture
    • Processes
  • Technology
    • APIs
    • Caching
    • Front End
    • Health & Monitoring
    • Messaging
    • Microservices
    • Open Source Projects

Connect

Powered by Genesis

You are here: Home / Archives for microservices

Thinking About a Multi Data Center Architecture

October 21, 2016 by Michael Pratt

Thinking About a Multi Data Center Architecture

Here at HomeAdvisor we've been thinking a lot lately about what it means to have a truly resilient architecture. As we continue our record growth, we're realizing that our current architecture won't allow us to scale the way we need to over the next few years. Like most organizations, the answer for us is becoming clear: we need to move into the cloud. In this post we'll discuss the motivations behind moving to a multi data center architecture and the pros and cons of each approach we're considering. We're still very early on in the process and expect it to take us well into next year, so this will likely be the first of many posts as we begin to make this important change. Our Current Architecture As we've discussed previously, our current architecture is a hybrid of several large monolithic web applications and a growing suite of microservices. The monoliths are traditional Java web applications based on Apache Tomcat, while our Microservices are based on Spring Boot. In … [Read more...]

Filed Under: Architecture, Development Tagged With: aws, cloud, coherence, elasticsearch, kafka, microservices, software monolith, zookeeper

4 Important Microservice Characteristics

August 11, 2016 by David Hay

4 Important Microservice Characteristics

Microservices are currently the "in" thing in software development, and for good reason. They help us build more loosely coupled, highly cohesive, modular systems that work well in an continuous deployment model. Deploying a small change to a single microservice is much less risky than deploying a huge monolithic application with several weeks or months worth of effort. At HomeAdvisor, we jumped on the microservice bandwagon a couple of years ago and have found it to be a (mostly) positive experiment. One question many struggle with, including us, is this: What, exactly, does a microservice look like? That is, what are the important things to keep in mind when writing a microservice? In our time working with this architectural pattern, we've learned a thing or two about what makes a good microservice. We've identified at least four main characteristics that all microservices should have: they have a single responsibility, share nothing, are monitored, and run as a cluster. In … [Read more...]

Filed Under: Microservices, Technology Tagged With: apis, microservices, REST, zookeeper

API Documentation with Swagger Extensions

July 29, 2016 by Michael Pratt

API Documentation with Swagger Extensions

Here at HomeAdvisor, we've recently started taking a closer look at creating more automated tests around our growing suite of microservices. Our testing strategy has typically followed the software testing pyramid. Unit tests have always been the biggest part of our test approach, with integration and component level tests becoming more prevalent as we've migrated to microservices. But all of these testing strategies are within the application, and require almost as much maintenance as the code itself. While all of these testing strategies are just as important in microservices as they are in a software monolith, microservices usually come with some additional testing burden in the form of contract testing. This refers to the public facing API that a microservice offers, and comes with its own set of concerns beyond normal testing methodologies. In this post, we'll talk about how we use Swagger to automatically create API documentation for all of our microservices, so that we … [Read more...]

Filed Under: APIs, Automated Testing, Development, Microservices, Technology Tagged With: api-tite, apis, automation, microservices, spring boot, swagger, test

The HomeAdvisor Microservice Stack

June 14, 2016 by Michael Pratt

The HomeAdvisor Microservice Stack

We've talked a lot recently about our experience decomposing our monolithic web applications and migrating towards a microservice architecture. In this post, the third part in our ongoing microservices series, we'll talk about the technology and tools we have chosen to build our common microservice stack. Choosing a Microservice Stack As we talked about in our microservices pitfalls post, one of the most important things you should do before building microservices is settle on a microservices stack. A microservice stack is the consistent set of technologies with which all teams will develop their microservices. This is what Mark Richards referred to as a "base image". As we'll discuss below, failure to take this important step early on can have lasting impacts on your organization. The HomeAdvisor microservice stack is based on a variety of open source projects that generally have great community support and proven track records across multiple industries. Choosing your own stack … [Read more...]

Filed Under: APIs, Health & Monitoring, Microservices, Technology Tagged With: codahale, curator, dropwizard, elasticsearch, health checks, jenkins, kafka, maven, microservices, spock, spring boot, zookeeper

Microservice Pitfalls & AntiPatterns, Part 1

May 23, 2016 by Michael Pratt

Microservice Pitfalls & AntiPatterns, Part 1

Last month I had the pleasure of attending ArchConf 2016 and hearing from some really smart people and their experiences working with microservices. As we've discussed before, we began our migration to microservices awhile back, so I wasn't necessarily there to learn how to "do" microservices. What I was really interested in was hearing how other organizations have approached microservices, what struggles they've had, and any pearls of wisdom they may have to share. We've certainly learned a few lessons along the way, but as they say it sometimes takes a village. One of the talks that really resonated with me was from the great Mark Richards entitled "Microservice Pitfalls and AntiPatterns". Mark started off with two excellent quotes to help explain the difference: An anti-pattern is just like a pattern, except that instead of a solution it gives something that looks superficially like a solution but isn't one. -- Andrew Koenig A pitfall is something that was never a good idea, … [Read more...]

Filed Under: Microservices, Technology Tagged With: anti-pattern, apis, archconf, devops, kafka, microservices, pitfalls, REST

  • 1
  • 2
  • Next Page »

About Us

Based in Golden, CO, HomeAdvisor’s technology group is comprised of nearly 100 Java ninjas, front end gladiators, QA warriors, U/X experts and other rock stars. We build the technology that helps make HomeAdvisor the best place for homeowners to connect with home service professionals. buy Lyrica in mexico  

Download our Free Apps

Recent Posts

  • Introducing Kafdrop 2.0: Kafka APIs, Search, and More
  • Writing Backwards Compatible Software, Part 1
  • The 8 Unix Commands Every Developer Needs
  • Meetup: Let’s Build a Framework, Part 2
  • Thinking About a Multi Data Center Architecture

Search

Get Help With Your Home Project

Kitchen Remodel
Additions
Bathroom Remodel
Roofing
Countertops
Cabinets
Basement Remodel
Handyman
Cleaning Services
Heating & Cooling
Flooring
Interior Painting
Windows
Remodel
Electrical
Fencing
Gutter Cleaning
Plumbing
Pest Control
Interior Designers
Appliances
Driveways

Work With Us

Check out our latest job openings!