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

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

Api-Tite: An API Automation Framework

July 20, 2016 by Nick Rosevear

Api-Tite: An API Automation Framework

In recent years, building a comprehensive API automation framework has become crucial for large software systems. Our digital world has grown to include more and more devices that communicate with each other instead of humans, and most of this is driven by APIs. It's more important than ever to ensure organizations can release code with ease and confidence. Using an API automation framework ensures APIs are thoroughly tested prior to releasing, including boundary and error cases that are tedious to test with every code release. There are several benefits that such a framework will provide: Forces APIs to be documented consistently for both human and machine readability. Faster and more reliable than UI based automation such as Selenium. Can cover a great deal more scenarios that might be impossible to using UI Automation. As a Automation Test Engineer who specializes in REST API testing, I have seen and tried numerous strategies for API testing. In my experience, … [Read more...]

Filed Under: APIs, Automated Testing, Development, Technology Tagged With: api-tite, apis, automation, qa, REST, 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

  • « Previous Page
  • 1
  • 2
  • 3
  • 4
  • 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. 

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!