Microservice & Serverless Architectures – Is Either Right for You?

On this episode of Take 3, we explore microservices and serverless architectures – what they are, why microservices have gained so much in popularity in recent years, and when to use either approach when architecting your digital products. Dan Greene and Derek Tiffany join us in the studio to define and differentiate microservices and serverless for listeners and explain how they work individually and in tandem.

A big reason that microservices have become increasingly of interest in the product development world is companies like Netflix describing their own use of microservices and advocating that product architectures be created in a similar mold (see Adopting Microservices at Netflix: Lessons for Architectural Design).

Dan and Derek, however, caution companies to not be too quick to jump on the bandwagon – many companies can gain the benefits of microservices without having to re-architect their entire product or products into individual microservices.

Listen to the Episode

Interested in hearing more? Tune in via the SoundCloud embed below.

EPISODE HIGHLIGHTS

  • Microservices are really just how your code is structured. Serverless is more of the infrastructure mechanisms in delivering that capability – but these aren’t mutually exclusive ideas.
  • Sometimes you might be providing microservices architecture on top of a serverless deployment model. Then again, at times you might be using one or the other. It’s important to not necessarily see them as exclusively separated, but also not to think of them as as always together.
  • The biggest benefit of serverless architecture is the elastic scalability – being able to dynamically use what you use and don’t pay for what you don’t use. The other big benefit is being able to design your application on top of known services.
  • Microservices are developed and released independently of each other, which can allow for rapid iteration but also requires managing hundreds (if not thousands) of independent services.
  • When deploying these models, an incremental approach is key.
  • Don’t try to re-architect your whole product into microservices. It’s a very common desire because you want to gain all of the benefits, but it’s also very impractical to spend that much time and effort to re-architect your entire application.
  • Find fault lines within your product so you can divide it up; Instead of one monolith, split it up to three or four. Let that run for a few months, make sure that your operational processes are solid, and then you may be able to break one of those in half again. You have to make sure that you don’t create a service when you don’t need to. Every time you increase that granularity of your capabilities, you’re going to gain some of that benefit, so be willing to gain the benefit incrementally. “People try really hard to swing for the fences on every single at bat, but that’s not how you’re going to be successful.”
  • A lot of the serverless frameworks, and to a lesser degree microservice architecture, make your application more event-driven; it leans into asynchronous processing and message-based systems. That’s a pretty big jump from process-based thinking. So you have to really consider that mindset shift if you want to move most of your application into an event model, and your application may not fit that model at all.
  • Don’t just jump on a fad because it’s a fad. Make sure that it really is going to impact your build or your team or your business in a positive way.

SHOW NOTES

ABOUT THE GUESTS

Derek Tiffany is a Technical Manager at 3Pillar Global. He holds technical responsibility for the implementation and delivery of software development projects using a variety of technologies and frameworks, including blockchain, .NET Core, and Java/J2EE. In addition to implementation, Derek also assists 3Pillar clients in validating and defining their new product strategies taking advantage of emerging technologies. This currently includes cryptocurrency and Serverless applications in production. In the past it also involved developing some of the first applications for Windows Phone. Derek has spent over 20 years as a developer in the Washington, DC area at both professional services and product companies. Learn more from Derek and read his latest blog posts: 3pillarglobal.com/author/dtiffany

Dan Greene is the Director of Cloud Services at 3Pillar Global. Dan has more than 20 years of software design and development experience, with software and product architecture experience in areas including eCommerce, B2B integration, Geospatial Analysis, SOA architecture, Big Data, and has focused the last few years on Cloud Computing. He is an AWS Certified Solution Architect who worked at Oracle, ChoicePoint, and Booz Allen Hamilton prior to 3Pillar. Learn more from Dan Greene and read his latest blog posts, including his 4-part blog series on building a Microservices Architecture with Spring Boot and Docker: 3pillarglobal.com/author/dgreene

SPREAD THE WORD

If you like what you hear on this episode of Take 3, please help us spread the word about it via the Click to Tweet feature below or the social sharing icons at the bottom of the post.

Interested in going #serverless or using a #microservices architecture? Listen before you leap. Click To Tweet
Julia Slattery

Julia Slattery

Marketing Content Specialist

Julia Slattery is a Marketing Content Specialist for 3Pillar Global in our Fairfax office. She manages content for 3Pillar’s web properties, hosts 3Pillar’s ‘Take 3’ podcast, and assists with the production and editing of a wide variety of audio, video, and written content. She holds a BA in Writing, Rhetoric, and Technical Communication from James Madison University.

Leave a Reply

Related Posts

Building a Microservice Architecture with Spring Boot and Do... Part II: Getting Set-Up and Started Introduction and Tools In this part, we'll get to work on building out the solution discussed in Part I. I'm goi...
Building a Microservice Architecture with Spring Boot and Do... Part III: Building Your First Microservice, its Container, and Linking Containers We're about ready to actually get started with building a microserv...
Building a Microservice Architecture with Spring Boot and Do... This is the fourth blog post in a 4-part series on building a microservice architecture with Spring Boot and Docker. If you would like to read the pre...
Becoming an Anticipatory Organization – with Daniel Bu... On this episode of The Innovation Engine we look at why becoming an anticipatory organization just may be the key to long-term business success. We'll...
How to Initialize a Postgres Docker with a Million-Plus Reco... Besides the official Docker documentation, there are several good sources on the internet where you can read about how to kick-start your Dockerized e...

SUBSCRIBE TODAY


Sign up today to receive our monthly product development tips newsletter.