Embracing Microservices: How to Keep Up in the Digital Age
June 12, 2017
Is your organizational architecture up to date? A fair question, but maybe worrisome to answer. Liquid Studio gives you six reasons why you should have your focus on liquid architecture instead of agility and DevOps practices.
<<< Start >>>
<<< End >>>
‘Mention the word ‘agile’ and all organizations will confirm that’s the way of working that they’ve implemented over the past few years. Some of them already moved away from project-based organization to product-based and are enabling DevOps. However, when asked if their organizational architecture is just as up to date, many will admit they’re “not quite up to scratch yet”.’
‘Understandably, redesigning your organizational landscape and all applications involved is not something that’s not done overnight. On the contrary, it can take years. Few things in life are as complex as the current IT systems and models organizations are built on. However, despite the enormous endeavor it takes to replace them, there is no way organizations can rely on old systems and be in denial about the future. There’s just no two ways about it: they must embrace more microservices-based architecture.’
‘Let’s look at the banking industry, for instance. Many companies today postpone adjusting or replacing old systems. But what would happen if an entity like, say, Google, Amazon or Facebook decides to start offering banking or insurance services? Recent research revealed that if that were to happen, 20–30 percent of all people would use the services of these tech giants. Why? Well, for starters, have you ever noticed Google being down or how easy Apple’s interface is?’
‘Companies like Google, Amazon and Netflix are the new standard when it comes to advanced architecture. For example, 50% of the complete Google code base changes every day. Amazon deploys new functionality to production every 11.6 seconds and Netflix randomly disables (on purpose) production instances to test if they can survive this common type of failure without any customer impact.
Here’s a scenario: if I am buying a car and need to transfer money it can take a few days and even longer if there is a weekend in between. If you are unlucky, you can’t even start the transfer because there is maintenance ongoing on the app or site of the bank. Or, in the worst case: the app or site is down due to technical issues. This begs the question: Is this what a customer wants or do we need to look at new technologies and architecture instead of relying on these legacy systems?’
‘Most organizations face challenges with what we call a 'monolithic application structure': one big chunk in which all services and functionality aspects were interwoven. Thanks to the digital revolution, the architecture has no choice but to keep up with digital developments, mainly due to the fact that teams have become smaller, more agile and more focused on products than projects. What resulted was a move away from a monolithic framework and towards a more liquid one, consisting of microservices: smaller, independent components and more liquid so you can use the technology which fits the purposes best.’
‘Netflix is considered one of the leading companies in area of microservices: instead of 50 applications, their system contains more than 1000 smaller microservices. How exactly does that benefit them?
‘Newsflash: there is no such thing as 'partially updating IT systems' or 'implementing a new system to run in conjunction with the old ones' at the New Technology companies like Google and Netflix. Obviously, it takes time to make the shift for more traditional organizations. Some organizations are content with being in the middle ground by using both old and new applications; what Gartner refers to as Bimodal IT. I personally don’t consider Bimodal an ultimate goal, but merely a transformation model. Over the next 10-20 years most legacy models will need to be replaced if you want to keep up with the competition. If we think about the example of the Google bank; would Google be content that it takes a day before money is transitioned to another bank and only during workdays or would they try to make money transfer almost instantly?’
‘To tackle this problem with legacy systems, we work with the so-called ‘Strangler Pattern’, which can be compared to the strangler tree that replaces an original tree - simply by slowly growing and killing the original one. To stay with the strangler metaphor, we plant a new tree – microservices – next to the existing tree – legacy systems, so that over time it kills the tree it’s planted on. This way, you ensure the tree’s roots – components – shift slowly from the old to the new tree, while all complying to the new requirements. Throughout the process we add automatic tests, and a full continuous delivery pipeline to be able to deploy the new services multiple times per day – as opposed to the old tree, which was deployed only a few times a year. We use technologies like feature toggling and canary releases to ensure that the move from the legacy application to the new framework has little to no impact.’
‘To summate: organizations need to face up to the challenges that lie ahead – the digital revolution leaves them no other choice but to align their architecture with the new way of doing things. Plant those trees so that you can reap the rewards.’
Watch this talk by Gebrian van de Bulten and Vincent van Kooten about how the French company Ingenico and Accenture refactored their existing legacy application with lessons learned from Netflix, Facebook and Spotify by using the Strangler Pattern.
Recently, Accenture established several so-called Liquid Studios, where some of our experts help clients with the transition into the digital age. Our latest studio opened in Utrecht, the Netherlands. In our studios located across the globe, we prepare our clients for change through new skills, processes, products, and ways of working together with our specialized teams.