Enterprise Architecture (EA) Mandates

Introducing three mandates that expand and support three of our Enterprise Architecture (EA) Principles. Here, you’ll find explicit guidance on what’s most important for modern solutions and links to information and resources you can use to begin implementing them today.

Modern Platform

What does it mean?

Effective July 1, 2018, all new systems and major updates to existing systems must host back-end components (such as compute, storage, and middleware) on a modern platform. The exact requirements for meeting the mandate differ depending on whether your system is bought (COTS), rented (SaaS), or built.

For commercial off the shelf (COTS) software:

  • Server-side components must be either (in order of preference):
    • Part of a software as a service (SaaS) application;
    • Run on a cloud platform using platform as a service (PaaS) or function as a service (FaaS – serverless);
    • Run in a container;
    • Run on a virtual machine with a current operating system*, middleware*, and database* version.
  • The user interface could be a website, desktop client, or mobile application.
  • Application deployment and configuration must be automated.
  • Support teams should upgrade their application to the extent required to maintain support for dependent services (e.g. containers, PaaS, operating systems, middleware, databases).

*A current version is the latest available major version, which should be used for all new systems. Legacy systems may continue to use previous versions if they are still supported by the supplier in the form of patches and upgrades. All aspects of a virtual machine must be kept current to manage enterprise risk.

For custom-built and/or EMIT-developed software:

  • The application should use PaaS, serverless architecture, or containers for the compute and foundational components.
  • Application deployment and configuration must be automated.
  • The user interface could be a website, desktop client, or mobile application.
  • The solution design/architecture must incorporate the following characteristics (known as “cloud AIMS”):
    • Aware of latency issues, hardware failure, and resource consumption
    • Instrumented to enable monitoring and reporting of health, performance, and experience
    • Modular, with service-oriented, granular architecture to allow for rapid and independent component deployment as well as parallel scaling
    • Secured by modern authentication mechanisms, multi-factor authentication, and encryption where needed
  • The support team should be able to consistently iterate and improve the application to minimize technical debt and address performance, resilience, latency, cost, and functionality issues as they arise.

Why is Cloud Ready important?

In order to provide agile and innovative solutions to solve business problems and create business opportunities, we need modern, cloud ready applications. Many vendors now use public cloud as the platform to provide innovative solutions, and we need to be positioned to meet them there.

In addition to innovation enablement, cloud ready applications:

  • Increase awareness or visibility into the availability of the application
  • Build security directly into the application, instead of relying on perimeter or external protections
  • Ensure applications can react to business or user demand with automatic scaling up and down to meet business needs
  • Reduce time from idea to production, improving mean time to value

The bottom line is cloud ready applications reduce the total cost of ownership, improve reliability, enable innovation, improve security, and increase speed of delivery.

What technologies can I leverage to meet this requirement?

  • Enterprise Hybrid Cloud, EHC, (virtual machines) and OpenShift (containers) are the recommended platforms for On-Prem Cloud Hosting.
  • Microsoft Azure is the recommended platform for Public Cloud Hosting.