By Koray Sonmezsoy, Head of Architecture & Engineering, Li & Fung Limited
Cloud computing has been on the rise, and even the most traditional organization has started or already running production-grade applications in public or private cloud environments. Cloud migration is a big topic. It is a big challenge to most organizations that have legacy systems unlikely to startups that usually born and grow in cloud environments.
One of the critical challenges to the organizations is that the existing workforce may not have the sufficient skills and knowledge to be able to succeed and perform in these new high performing innovation enabled cloud environments. Usually, organizations end up just replicating their on-prem environments to cloud platforms in an IaaS model. Using an IaaS approach is not sufficient by itself because all problems in the existing architecture reproduced in the new environment. IaaS used alone at large scale minimizes the advantages of the cloud platform services. There is also an issue of adapting to cloud-native services if only IaaS used as a standalone approach.
Ideally, a mix of PaaS and IaaS approach is an ideal starting point for cloud migrations. In most cases, this approach will help to surface existing issues in your legacy architecture. Using a strangler pattern, you will be able to slowly eliminate and replace the legacy applications with cloud-native high performance, efficient, and scalable applications.
For any business, innovation is a crucial element to beat the competitors and expand into new products and services.
Cloud computing enables any organization to be able to tap into the cloud environment's rich service-driven innovation platforms without any upfront investment.
Enterprise architecture has always played a critical role in organizations that has sizeable monolith systems and applications. However, I believe that traditional enterprise architecture practices and approaches must adapt and change:
Every industry is embracing and recognizing the benefits of Agile development. Agile promotes emerging architecture created by the team members rather than one single person or group dictating the design. Architecture role should become more of a subject matter expertise to help Agile teams how to leverage and make use of different components in cloud environments.
The organizations are adopting multi-cloud tenancy and building cloud-native applications that require specialization in cloud provider services and platforms. We want to bring customers and developers together not to introduce additional layers, which will slow down the progress by creating communication layers. Service-oriented architecture and microservices have been quite a success at scalability and performance compared to monolith applications. Microservices are harder to design compared to monolith approaches. Microservices design naturally promotes the emerging architecture approach used in Agile teams.
Traditional on-premises architectures do not have the capability or the economies of scaling for organizations. Traditional architecture, which was driven by enterprise architecture, had many layers and components that required upfront design and investment.
Serverless architectures enable functions to run as services and do not require any infrastructure setup or design. Tasks are executed and terminated in seconds; there is no persistent infrastructure required.
IoT, blockchain, and cloud computing are some of the key technologies driving digital transformations in organizations. In-depth knowledge and specialization in these transformative technologies will become a base need in architecture. Cybersecurity became more critical than ever with the implementation of new technologies and expanding workloads in the cloud environment and the fantastic growth of data.
Enterprise architecture needs to focus on driving digital transformations further to enable organizations becoming Agile with the emerging architecture approach, becoming cloud-native with multi-tenancy cloud platforms and innovation-driven with extended capabilities rather than dictating what technology to use. Implementing innovative technologies to organizations need to support an inspect and adapt approach.