Systems Integration Architecture
Systems Integration Architecture
Systems Integration Architecture
Architecture
The Systems Integration Architecture provides a bridge between
heterogeneous operational applications and platforms. This
architecture ties together the mix of platforms, operating systems,
transports, and applications.
INTEGRATION
Enterprise applications must be abstracted and separated from any dependency on the underlying
infrastructure, including sources of data.
By abstracting the functions of an application into components that can run anywhere, it’s possible to
then move the application to different infrastructure combinations, without changing a single line of
code.
It’s only through complete portability between cloud environments, container tools, and servers that
IT organizations will break vendor lock-in and gain the flexibility required to move their applications
to vendors that offer the best combination of price, performance, reliability, and features.
• On-Demand
All enterprise applications should be on-demand, meaning the provisioning of new instances should be
hands-free and fully automated.
This implies tight integration with orchestration tools that most companies are already using to provision
infrastructure. The key difference here is that the provisioning of storage options also needs to be fully
automated.
This is made possible by the fact that modern applications won’t have any dependencies on the specific
data stores they rely on. This on-demand nature is not restricted to technical teams but includes business
users that can easily perform user acceptance testing by simply provisioning full-fledged application
environments.
• Self-Healing
Modern enterprise applications should be self-healing, which means applications not only should
have measurable data points to define their health but can then react based on these metrics.
They must be able to scale up (or down) based on performance characteristics up to a certain cost
threshold, restart on a healthy node in case of infrastructure bottlenecks, and cache or deploy closer
to the user based on latent use performance.
• Composable (DevOps-friendly)
All enterprise applications should consist of a number of building blocks: APIs, web servers with
content, databases seeded with data, security policies, the operating system, network configurations,
deployment configurations, and application binaries.
• Model, Snapshot and Clone
Once an application is separated into its essential components, a catalog can be maintained that
makes it easy to create new versions of the application.
Developers, test engineers, and DevOps teams can then pick and choose whatever combinations of
components they need to create or clone complex application environments for testing or
deployment.
The state of the application environments can be snapshotted, cloned, and replicated. This cloning
process should be efficient and quick. This dramatically speeds up development and testing
processes, which to date have been largely manual.
• Scalable
Scaling application and infrastructure environments automatically, on-demand, and in near real-time
is one of the essential capabilities that make modern infrastructure so valuable.
Any solution that is used to develop, test, deploy and manage enterprise applications should offer
these same capabilities, giving the ultimate in cost flexibility, performance, and scalability. As
containers are moving quickly from the lab into production environments, look for a container-based
solution that complements this strategy.
• Security is Included
Application security should not be tacked on after deployment. This slows down continuous delivery
processes like DevOps and creates friction between development/ops and the security team. Instead,
security should be considered an essential component of the overall application environment and
treated the same as any other component and baked into the application from the start.
• Push-Button Upgrades
Upgrading enterprise applications should be made much easier by taking a point-and-click, push-
button approach through a modern UI and integration with continuous deployment tools. Once an
application is blueprinted into its various components, using a modern UI to choose versions and
assemble the final application becomes entirely possible, saving time and reducing manual errors.
• Single-Pane-of-Glass Application Management
By taking an end-to-end view of the enterprise application development, testing, deployment, and
management process, it’s now possible to create a “single pane of glass” console that gives
development and deployment teams a powerful way to manage what’s been deployed to various
infrastructures in the organization.
With this approach, it’s also now possible to collect invaluable utilization and cost metrics which can
help an IT organization continuously improve its portfolio.
Service-Oriented
Architecture
What is SOA?
• Defines a way to make software components reusable
and interoperable via service interfaces. Services use common
interface standards and an architectural pattern so they can be rapidly
incorporated into new applications. This removes tasks from the
application developer who previously redeveloped or duplicated
existing functionality or had to know how to connect or
provide interoperability with existing functions.
Benefits of SOA
In an SOA, services can be defined in business terms (e.g., ‘generate insurance quote’ or ‘calculate
capital equipment ROI’). This enables business analysts to work more effectively with developers on
important insights—such as the scope of a business process defined using services or the business
implications of changing a process—that can lead to a better result.
SOA vs. microservices
• SOA is an integration architectural style and • Microservices architecture is an
an enterprise-wide concept. It enables existing application architectural style and an
applications to be exposed over loosely- application-scoped concept. It enables the
coupled interfaces, each corresponding to internals of a single application to be broken
a business function, that enables applications up into small pieces that can be independently
in one part of an extended enterprise changed, scaled, and administered. It does not
to reuse functionality in other applications. define how applications talk to one another—
for that we are back to the enterprise scope of
the service interfaces provided by SOA.