Service-oriented architecture (SOA) is a software design style in which components deliver services over a network via a communication protocol. SOA became popular around 2005 but has fallen out of favor in recent years while microservices have taken the IT world by storm. When microservices became more popular a few years ago, some people described them as "fine-grained SOA". Others said that microservices did what SOA was meant to do.
One problem with SOA was that it was too clumsy, too complex, and, due to its many processes, too slow. While it initially reduced provider dependence, in the long term SOA could not support the democratization of IT. Ultimately, microservices were better able to integrate web services and thus had a clear advantage over SOA.
Microservices and DevOps
DevOps and microservices are both trends that have become more popular in companies in recent years. Both were developed to increase companies' agility and efficiency, and according to Netflix, DevOps excellence is a key to excellence in microservices.
Microservices increase the productivity of DevOps as they include a common toolset that can also be used for development and operations. This common toolset creates a common terminology and processes for requirements, dependencies, and problems; that in turn makes it easier for devs and ops to work together, as the two units can work jointly on the same problem and successfully repair a build configuration or a build script. DevOps and microservices both work better when they are used together.
Enterprise architecture management & Microservices
DevOps and microservices are core components of a new form of IT. But there is another factor that is necessary in order to support successful IT for the digital age: Enterprise Architecture Management (EAM). EAM however also needs to evolve: Traditional approaches based on complicated IT landscape modeling and planning for years in advance are no longer suitable for our extremely fast-moving digital times. In the worst-case scenario, EAM may even create a bottleneck and block new developments.
In a microservices organization, however, state-of-the-art EAM can create more added value than ever. Even independently working teams have to keep working towards a common goal, and the software they produce has to be able to work together. Online clothing retailer Zalando for example uses a team of enterprise architects for this purpose.6 This team serves as the link between the various teams and programming languages and is responsible for filling the gaps that arise from the different processes. It always has to know what is happening where, says Eric Bowman, Vice President of Engineering at Zalando.
The developers at Zalando work in over 100 small, agile teams. Described as "radical agility", this model was introduced in early 2015 to make the ever-growing tech company more efficient and more innovative.6 In a microservices architecture with 200 microservices, the teams are almost entirely autonomous and can choose the most suitable technology for each case themselves. Developers have full responsibility from DevOps through quality assurance to deployment.
Many companies use an EAM tool to maintain an overview of their IT landscape. Tools such as LeanIX form the link between the individual teams and technologies and provide a view of the overall system. As a result, LeanIX can offer all employees up-to-date access to information on the IT landscape in their personal context—a basic requirement if a microservices architecture is to work. In day-to-day work and when onboarding new employees, the increased transparency can contribute significantly to the sustainable, rapid further development of a company's IT landscape.