Microservices, Long Term Solution or Short Term Hype? - Nebraska Code Series

Microservices, Long Term Solution or Short Term Hype? – Nebraska Code Series

We just got back from Lincoln, Nebraska where a group of us attended the sold out Nebraska Code event. This was the first year NE Code was a multi-day event that included workshops on Wednesday and sessions Thursday and Friday. The diverse schedule had tracks for Project Management, Data, UI/UX and General which perfectly reflected the interests of our group. We will be sharing our experience in a series of blog posts covering what we found exciting from these diverse sessions.

Capturing and gathering information to bring back to the team was important. We created a OneNote document because of its ease of collaboration and syncing features. Our OneNote had a section for each day and then each day had a separate page within the notes for different sessions. Also, we found it useful to have one page designated to take-aways. It was very convenient to screenshot (using the Microsoft Edge Browser) the schedule and write in (with a Surface Pro 4 pen) which session each one of us was attending. It was also important for our group to be flexible due to a couple updates to the schedules.

Microservices
There is quite a bit of hype surrounding Microservices and it’s sometimes credited as the end-all solution to software construction. Microservices is the concept of breaking down applications into smaller suites making them easier to build and maintain.
We were excited to learn more about Microservices in order to make better recommendations for our clients and avoid some pitfalls. In almost all technological situations, your team must consider its own business needs, the team implementing it, and other factors.

A Microservices Architecture That Emphasizes Rapid Development
Presented by Rob HruskaHudl
@hudlengineering
Presentation Slides

Hudl underwent massive growth over the course of 10 years. They grew from an idea created by 3 roommates into a company that services over 10 million users.  This led to a lot of learning/growing pains. Rob walked through how they decided to start using the microservice approach, the restructuring of their teams to match the approach  and some benefits gained.

He was very pragmatic about the hype around microservices, even quoting Homer Simpson’s words about beer, saying microservices are “the cause of – and solution to – all of life’s problems”. Microservices add more complexities than a monolithic application, but also can add the ability to deploy faster and scale systems more easily.

Hudl’s approach to the microservice architecture is interesting in that each service spans the full stack, from UI all the way to data access. This has the effect of creating mini-monoliths while still bringing all the benefits of a loosely coupled service and contract oriented approach.

As we heard in the workshop on Wednesday, Rob demonstrated and emphasized that there is not a one-size-fits-all approach to microservice architecture. Rather, there is value in breaking systems up into smaller pieces to simplify complexity. This should be driven by the client’s needs and their expected outcome of the project. With that in mind, a monolithic approach may move the project along more quickly and a microservice approach may not even be warranted. As the system grows, a team can move towards breaking things up as it makes sense. Another approach would be to structure teams and code into smaller sections and let them work autonomously toward the greater good of the company. App Service Fabric looks to be a go-to tool for creating microservices in Azure. This is definitely an approach we will recommend and learn more about as a company.

App Service Fabric Workshop
Presented by Chase Aucoin –  Keyhole Software 

Chase gave an all day workshop on Microsoft’s App Service Fabric on Azure. He started with the definition of microservices and how he’s helped teams implement this technique. Then gave an overview of the tools available. Finally, he walked through developing against App Service Fabric. We walked away talking about this being a game changer since we have applications that could benefit from Microsoft’s App Service Fabric.

Here are a few highlights:

  • Use Service Fabric
  • Use Swagger
  • Start with Automation
  • Testing and deployment
  • Then start breaking up big pieces
  • A quick definition of Microservices
  • Loosely coupled
  • Service Oriented
  • Bounded Contexts

Checkout the Build 2016 Age of Ascents demo by Scott Hanselman to get an idea of the capabilities of App Service Fabric.

View the code for the workshop at https://github.com/chaseaucoin/MicroDemo.

Tomorrow we will continue our series about Nebraska Code. Sessions on DevOps and REST will be explored.

Comments are closed.