DEV Community

Candace Eckels
Candace Eckels

Posted on

My Exploration of Service Oriented Architecture and Monoliths

What is it?

After a quick google search it seems that it is made up of company practices that help to streamline getting from point a to point b.

If we are creating a ticket system company, what does that system need to run? Payment options, queue, assignments, and other micro-services that we might offer. Service oriented architecture (SOA), allows us to perform those services and other through our micro-services. But no matter the services that we offer through the program, they all work for the company.

The SOA would be the structure we build around the app to make those services all work under the umbrella of the app.

This can be beneficial because debugging allows us to isolate a service with the issue, rather than the entire app being down because of a possibly small error.

We can reuse parts of the code logic in different parts of the application to help other services to be able run faster or more efficiently and to DRY (don't repeat yourself) up the code.

On the other hand a monolithic app is developed as a single unit. It could have limited flexibility in how to update/expand it, but overall tends to have better performance because of the shared code. Monolithic could be the fastest way to get you app going.

Monoliths tend to have smaller teams, and have interdependent parts of the code. With everything so intertwined and interdependent on each other adding updates to a Monolithic program can become sticky very quickly depending on the updates/changes being implemented.

Top comments (0)