The Transforming Phase of Enterprise Architecture
The role of Enterprise Architecture (EA) in all industries right from automotive to software development has been transforming at an excessive degree. Two decades back, EA had its sole focus to simplify the IT environment and minimize the IT risks regarding poor business alignment. However, to this day, EA has grown from being just a set of small process implementations to be a pack of complete support initiative within organizations.
In such a scenario, organizations are looking out for a modern EA that could translate their strategy and provide a good overview of their technical capabilities like processes and systems. Adoption of a right EA is the need of the hour—it is the difference between success and failure for future digital business initiatives. C-suite executives are demanding architecture with certain requirements in order to establish a streamlined architecture. They want the architecture to possess an executive-level priority developed via secure collaboration between application developers, IT, and line of business managers.
Against the backdrop, cloud applications have set an example as to how a modern EA must advance in their application design. The cloud services that are built upon highly distributed infrastructure are designed in a way that is resilient to failure, and can be moved easily and resized without disturbing the users. Using application program interfaces (APIs), these abstracted cloud services provides complete protection of the users EA. Users to this day are not worried over where the services are running or on what type of system it is running. These core attributes emphasizes the benefits of having cloud services over traditional monolithic software. This design meets the demands of digital business and serves millions of smart machines, mobile customers, and connected sensors.
The Connected Experience
Lo and behold, the flow of high-speed connectivity and decades of exponential Moore's Law improvements in computing power is forcing EA to change. With Moore’s law allowing all manner of electronic devices to conduct real world tasks like computing business taxes, piloting a spaceship, or changing the television station, the utility-scale IT service providers are forced to create cloud services.
Whether applications are being operated on shared, public services like Azure and AWS; or on private infrastructure built on software like OpenStack, Azure Stack or vCloud; or a combination of both, the metered software services can be instantly modified, started, scaled and interconnected. It is also important that while organizations are building digital services that are more like Uber or Facebook, their architecture must be similar to cloud-native services and not monolithic systems confined to a single box.
A modern architecture when fully implemented has the below discussed features:
Disaggregating client interface from business services: Applications uses mobile and browser design paradigms with the client side exclusively for the UI and business processing on back-end services.
Inherently distributed: As a part of agile development processes, the back-end applications in the modern architecture must give non-disruptive updates in manifold instances.
Microservices Usage: Designed for a specific function, back-end services will be shareable with many consumers and integrated into service chains for specific applications. Microservices should be looked upon as building blocks used to construct arbitrarily intricate functions.
Asynchronous inter-service communication: Without continuous connections to network sockets and shared files, these EA services will exchange information using message buses.
Rich service portfolio: Being API centric, EA services will expose metadata enabling them to be consumed, managed, and orchestrated as part of service portfolio to include IoT and mobile app back ends, data storage and messaging, analytics, monitoring, and security.
Library of application templates and design patterns: The EA portfolio being the base for templates, stitches various other services together to get to the bottom of various application developments needs and design patterns, like the one provided by Azure. The developer library also incorporates standard data models to select the appropriate data services like object storage; SQL; NoSQL; Big Data, e.g. Spark and Hadoop; and data transformation pipelines for a specific need.
Automatable infrastructure: The service chains can be started right from infrastructure templates that are used to scale, deploy, move and decommission cloud instances. Service metering and instrumentation is used to notify on resource usage; error states; activity; and to trigger automated remediation, like restarting, scaling and human notifications.
Fine-grained security: Access to individual services is managed via role-based access control lists with policies defined as part of application templates. The identity and the role of users are centrally managed and possibly federated with identity management systems from business partners or public online services.