It’s been established that there’s a lot of talk now about microservices—small, limited-function components that can be developed, deployed, and scaled independently. Microservices are being popularized by notable companies like Netflix and Amazon—and they’ve hit a strong flexibility chord with developers. It’s possible to create these services using the technology that’s the best fit for that service rather than just a general-purpose service architecture. There’s the potential for a lot of individual flexibility, and reuse is an obvious advantage. They also give the organization the opportunity to scale out services very differently from each other, which provides a huge advantage as the business shifts to meet changes and goals.
With microservices, you can get shorter time to results, and more productive, happier developers, but there are challenges, too. It’s easy to duplicate efforts and is often difficult to sustain quality because there is so much flexibility—and the potential to do things in many different ways can create chaos.
Microservices are said to run counter to monolithic systems like an enterprise service bus (ESB) and a service oriented architecture (SOA), but in fact, SOA invented reuse—and it was never attached to a specific technology, only to creating loosely coupled services that could be reused.
In any case, microservices are hugely useful—but you still need to uphold quality and control communications—and this is where a capable integration platform can really help. It’s no longer about a specific technology, but more about architectural design.
Take the Long View
Every business collects and analyzes data. While many businesses don’t necessarily see themselves as Big Data companies, they are starting to see that apps and infrastructures are generating incredibly interesting information that needs to be harnessed. How are you going to build systems that are sustainable into the future while you incorporate microservices and whatever comes next?
For parts of the business that are rapidly changing, using microservices is a great approach, allowing your developers to work very rapidly. But you still need a bridge to what exists today and what you will build next.
We advocate using the integration layer to expose and control service contracts with other types of services and to provide different ways of connecting. An API management layer lets you do that as well as provide something like governance that’s independent of development, helping you enact controlled coordination. This layer also facilitates microservice discovery to avoid duplication of effort. It’s an environment where you can solve problems without creating others.
Check out the tools TIBCO offers to help you maximize the value you get out of microservices.