How Microservices Reduce Risk and Increase Speed for This Dev Team

Written by Alton Zenon III
Published on Aug. 11, 2020
How Microservices Reduce Risk and Increase Speed for This Dev Team
Brand Studio Logo
sms assist-Microservices Architecture-chicago
sms assist

If you could develop and deploy updates faster with less risk, wouldn’t you?

Speed, autonomy and safety of the pros behind working within a microservices framework, according to Haiping Chen, a software architect and 15-year engineering veteran.

“Microservices allow us to quickly respond to the needs of the different audiences our technology serves,” Chen said. “Each feature can be developed and deployed independently.” 

Independence is one of the most essential reasons a company might find a microservices architecture beneficial, Chen said. Small and focused teams deploying microservices aren’t overly reliant on timelines or data systems from other areas of the business, and the architecture also means developers are given more individual ownership over their work.

At facilities maintenance platform SMS Assist, Chen said that a sense of autonomy — as well unit testing and a cloud-native infrastructure — allows developers to release products at an expedited rate.

“Before implementing microservices, we had a release cycle of two weeks,” Chen said. “Now we’re able to release new updates as soon as they’re ready.”

 

Haiping Chen
Software Architect • Lessen LLC

What resources did you use to build and support your microservices?

We implemented our microservices system with a cloud-native approach that ensures our service components can collaborate with other cloud-based solutions.

We applied domain-driven design as a method to abstract our business into different domains and aggregate the data via API management services. The services we use include open-source framework Istio to implement service mesh, Kafka as the messaging middleware, and Amazon Relational Database Service as the online transaction database. Our aggregation data flows into a data warehouse in an extract, transform, load process that includes batch and streaming processing. This setup provides our business intelligence team with a reliable data source presented in Tableau.
 

Microservices allow us to quickly respond to the needs of the different audiences our technology serves.”

 

How did you decide a microservices architecture was right for your business?

Our engineering team adopted a management concept based on service ownership; you build it, you own it. This approach motivates developers to take more care of the application and grants them a great deal of autonomy and decision-making power.

Microservices allow us to quickly respond to the needs of the different audiences our technology serves: customers, our network of service providers and the internal operations team. The architecture offers a flexible and scalable solution that positions our platform for the future.

Full unit and integration testing accelerates our release cycle. Before implementing microservices, we had a release cycle of two weeks. Now we’re able to release new updates as soon as they’re ready. 

 

 

What are the pros and cons you’ve experienced implementing a microservices architecture? 

A pro of working within a microservices framework is that it reduces risk because each feature can be developed and deployed independently. This aspect allowed us to release key products — such as a tool for onboarding new service providers — in separate release cycles from our regular two-week sprint. The services are also minimally dependent on each other and autonomous, meaning they internally control their own business logic.

A challenge to using microservices is that they are frequently more expensive than legacy monoliths. But we find value in the added agility for our team and the ability to accelerate product releases. Additionally, they require more collaboration in the vertical alignment because each team has to cover the whole product lifecycle. For us, that means each product we release needs dedicated UI, UX, front-end and back-end developers, a product owner and a quality assurance team member to ensure our standards for delivery are met. We prioritize maintaining a strong team of experts so we can continue to efficiently produce our technology.

 

More from SMS AssistHow SMS Assist is Building Tech to 'Fix the Business of Fixing Things'

Responses have been edited for length and clarity. Images via listed companies.

Hiring Now
JPMorgan Chase
Fintech • Machine Learning • Financial Services