[By Ian Molyneaux]
Greetings one and all! I fairly recently (June 2018) had the pleasure of participating in the first virtual Neotys PAC session. This was 24 hours – “following the sun” – of thought-provoking presentations and discussion on the latest trends in performance testing and related disciplines delivered by a seasoned collection of performance thought-leaders (and myself).
The topic I chose to present on examined the current trend of Business Digital Transformation and some of the performance pitfalls that could trap the unwary as part of this journey. This blog post summarises the key takeaways of my presentation based on recent involvement in a number of these projects.
Digital Transformation – A definition
First of all what do we mean by Business Digital Transformation?
Well, I see this as essentially the modernisation of core software applications involving a three-part evolution of IT – each with their own performance risks:
- Inevitably to some form of Cloud enablement
- Moving from legacy Monolith to a Modular service-based design
- Managing the UX
- Ensuring that digitally transformed software applications deliver the best possible service to the end-user.
Cloud has now been with us for some considerable time and has gone from new kid on the block to the norm for web application deployment. In digital transformation terms re-platforming is typically moving core applications to cloud to leverage the many advantages on offer – Scalability, Cost, Geo-reach to name a few.
It has never been easier to move to cloud but that brings with it the temptation to short-cut your digital transformation strategy making businesses vulnerable to a less than performant outcome.
It is therefore very important to consider the following when planning your re-platforming approach:
Some performance risks that you may fall foul of include:
Trying to big-bang all applications to cloud as a single programme.
It’s always preferable to carry out a pilot first – If possible choose an application that can be re-platformed in isolation so you can trial different re-platforming approaches to find the approach that best suits your requirement.
Not baselining application performance in advance of re-platforming
You should always establish a performance baseline before digital transformation of an existing software application. Otherwise it will be difficult to validate that your newly transformed application is providing at least the same level of service to your end users.
As part of digital transformation you will inevitably need to review application design in order to take best advantage of the new cloud platform. This is often described as taking a monolithic legacy application and re-architecting to a modular service-based design.
New technology choices like Containers and Microservices can help make this a gradual process allowing you to progressively migrate specific pieces of functionality (existing or new) to the new platform.
As with re-platforming there are gotchas to watch out for when considering re-architecture choices:
Container Sprawl – Too many – uncurated, unmanaged, uncontrolled.
Containers are great in that they allow you to easily modularise and scale application components however, they can quickly grow in number to make management and orchestration challenging. Always use an orchestration framework like Kubernetes to ensure you have control of your container deployment.
Component Reuse – Re-use, re-purpose, regress
Modularity is great as it promotes component reuse potentially reducing the size and complexity of an application code base however, this ironically increases the risk of accidentally distributing undetected performance defects far and wide. Always performance test application components thoroughly before re-use to ensure that they don’t contain any hidden surprises.
Managing the UX
It’s essential to embrace effective management of the end user experience as part of digital transformation. In other words:
Watch out for the following:
- 24×7 monitoring of the EUE is key to successful digital transformation – Traditional monitoring solutions are not comprehensive enough. Consider deploying one of the latest generation APM solutions – Dynatrace, Appdynamics, New Relic, Data Dog (Opensource)
- EUE quality is affected not just by internal systems – Always monitor 3rd party affiliates and service performance. Ensure that you have adequate performance SLA’s with service providers.
- EUE is a rich source of business data – BI mining / harvesting has never been easier so may sure you take full advantage so the business can be agile enough to react to rapid changes in EUE behaviour and competitors.
The pace of digital transformation will only continue to accelerate as increasing numbers of businesses re-platform to cloud and re-architect applications to leverage modern technology choices. As long as the approach to digital transformation is considered and based on sound principles then this can only be positive… as long as you make sure not to forget the end-user!
Want to learn more about this event, see Ian’s presentation here.