The Computer Weekly Developer Network talks to Aricent’s AVP of technology and innovation Shamik Mishra in line with a mini-series of posts related to the rise of what we have called the ‘holistic’ application.
Not perhaps a formally defined technology industry term, the holistic application is an app that has arisen in the age of cloud with containerisation, microservices and compartmentalisation of discrete components at its core.
Aricent is a technology (software and silicon) design and engineering company specialising in areas including ‘product transformation and sustenance’, post deployment support services, cloud engineering services, embedded and IoT machines and DevOps.
Mishra reminds us that, in the era of microservices and container hosted applications, the method of monitoring changes drastically.
He explains that the monitoring systems needed to monitor infrastructure-as-code elements (such as containers hosting microservices) require orchestration systems to trap alerts and act on them. These monitoring systems are input channels that lead us towards application elasticity. Monitoring systems can be role-based and can drive calculation or monetisation of an application or microservices based on API consumption.
CW: Is authentication a key management factor in enabling secure device and user identity to interplay inside the new world of modular and continuous software?
Shamik Mishra: In a distributed or decentralised application, designed or architected as microservices, securing the services is critical to the overall delivery of the service. In ‘new’ modular and continuous software, different teams develop parts of the software. For monolithic applications, it is easy to implement centralised security systems but this model impacts efficiency.
API gateways, function and event gateways, delegated authorisation, etc. can enable and retain authentication and authorisation of users and devices. A key example is ‘edge computing’, where a distributed platform can host applications that are consumed by millions of devices. This requires distributed (and maybe in the future, decentralised) authentication.
CW: Is the ‘cloud developer’ a naturally holistic continuous developer?
Shamik Mishra: Increasingly so, as cloud native development driven with CI/CD and DevOps-first mind set. However, it is holistic in the context of the piece being developed. A system architecture needs to bring the holistic view of an end-to-end service.
CW: What long term software architecture considerations does the world of holisticism (is that a word yet? … coz it might be soon) throw up?
Shamik Mishra: Distributed architectures like container hosting, microservices with sidecar patterns, driven purely on business cases like ‘low risk impact’, ‘collaborative development’, ‘fail fast or rapid prototyping and continuous delivery’, ‘data architectures’ and ‘scalability’.
CW: We haven’t mentioned machine learning … surely that’s part of the re-architecting and re-engineering process.
Shamik Mishra: Machine Learning will be a key tool for enabling real time processing of event-based architectures (like serverless) and microservices. Machine Learning will drive service pricing, fraud detection, maintain infrastructure for microservices, software testing (just-enough-testing for changes), root cause analysis, act on monitoring data autonomously, etc. Machine Learning will also impact the full maturity model of the architecture i.e. measure, diagnose, predict, optimise, alert and automate orchestration and management of services.