CLOUD CONCEPT

Application integration

Application integration connects independent applications so they can exchange information and coordinate business processes through defined interfaces.

Cloud Concepts Hub →

What is Application integration

Application integration allows systems with different technologies, ownership, and deployment schedules to work together without becoming a single application. In the cloud, APIs, messaging, event routing, connectors, and workflow orchestration help engineers connect services while controlling coupling, failures, security, and operational complexity.

Application integration is the design of interactions between independently operated applications. It defines how systems exchange information, request actions, and coordinate business processes. For example, an online store might connect its checkout application to payment processing, inventory management, fulfillment, and customer notifications. These systems need agreed interfaces and business semantics, but they do not need to share a programming language, database, or deployment schedule.

Synchronous integration usually uses request-response APIs when a caller needs an immediate answer. A checkout service might call an inventory API before confirming availability. This approach is straightforward, but the caller depends on the downstream system's response time and availability. Timeouts, bounded retries, circuit breakers, and concurrency limits help prevent a slow dependency from exhausting the caller's resources. A timeout does not prove that an operation failed: a payment might succeed even if its response is lost.

Asynchronous integration uses queues, publish-subscribe messaging, or event routing to separate when work is submitted from when it is processed. A queue can buffer shipping requests during a traffic spike while workers process them at a sustainable rate. Publish-subscribe allows an order-created event to reach billing, analytics, and notification consumers independently. These patterns reduce direct timing dependencies, but introduce processing delays, backlog management, and the need to communicate pending states to users.

Message delivery guarantees must be understood at the application boundary. Many messaging systems can redeliver messages, so consumers should make repeated processing safe, often by recording a business operation identifier. Ordering may be limited to a partition or message group rather than an entire system. A broker's exactly-once feature does not automatically make external database updates or payment calls occur exactly once. Failed messages need bounded retries, a dead-letter destination where appropriate, and an operational process for investigation and replay.

Contracts are as important as transport. An event such as OrderAccepted should have a documented meaning, schema, identifier, timestamp, and compatibility policy. Producers should avoid changes that unexpectedly break existing consumers. Integration layers may translate formats or protocols between a legacy application and a cloud service, but excessive transformation can conceal business rules and make troubleshooting difficult.

Multi-step processes can use orchestration, where a workflow explicitly coordinates activities, or choreography, where applications react to events without a central coordinator. A travel reservation workflow might reserve a flight and hotel, then run compensating actions if a later step fails. Compensation is a business action, such as canceling a reservation; it is not necessarily a perfect reversal or an atomic database rollback. Local transactions and a transactional outbox can help prevent a database update from succeeding while its associated event is never published.

Secure integration requires authenticated identities, authorization for each operation or destination, encrypted transport, and careful handling of credentials and sensitive payloads. Correlation identifiers, distributed traces, queue-age metrics, and workflow histories make failures traceable across applications. Managed integration services reduce infrastructure maintenance, but do not remove responsibility for contracts, duplicate handling, quotas, costs, or recovery. Application integration is also not simply data replication: its primary concern is enabling applications to collaborate, although moving and transforming data is often part of that collaboration.

Key aspects of Application integration

Effective application integration combines stable contracts, suitable communication patterns, failure handling, business coordination, security, and end-to-end operational visibility.

Explicit contracts and compatible evolution

Define API operations, message schemas, and business meanings independently of implementation details. Use compatibility checks and versioning strategies so one application's release does not unexpectedly break another.

Appropriate interaction patterns

Use synchronous calls when an immediate response is required, queues for buffered work distribution, and publish-subscribe for independent consumers. Choose based on latency, availability, ordering, and delivery requirements rather than treating one pattern as universally better.

Failure-aware processing

Design for timeouts, duplicate deliveries, partial failures, and unavailable dependencies. Apply idempotency, bounded retries with backoff, dead-letter handling, and controlled replay where appropriate.

Business-process coordination

Use orchestration or choreography to coordinate actions across application boundaries. Define compensating actions and visible intermediate states when a process cannot use one atomic transaction.

Security across trust boundaries

Authenticate applications and authorize their access to APIs, queues, topics, and workflows. Protect credentials and payloads, and avoid exposing sensitive information through logs or broadly accessible event streams.

End-to-end operability

Propagate correlation identifiers and monitor latency, failures, backlog age, and workflow completion. Set quotas and concurrency controls so traffic surges or dependency failures do not overwhelm connected applications.

Cloud services for Application integration

These services address complementary integration responsibilities rather than forming a mandatory stack. In an AWS implementation, API Gateway can expose a request interface, EventBridge can route resulting business events, SQS can buffer work for downstream processors, and Step Functions can coordinate steps requiring explicit sequencing and recovery. Azure Logic Apps provides connector-based workflows in Azure, while Google Cloud Pub/Sub provides asynchronous messaging in Google Cloud. Select services according to application boundaries, delivery requirements, and operational constraints; combining providers is optional and adds networking, identity, latency, and data-transfer considerations.

Amazon EventBridge image Amazon EventBridge

EventBridge routes events from applications, AWS services, and supported external sources to targets using event-bus rules. Its Pipes feature connects supported event sources to targets with optional filtering and enrichment, reducing custom integration code.

Open Amazon EventBridge →
AWS Step Functions image AWS Step Functions

Step Functions coordinates application activities through state-machine workflows with branching, retries, timeouts, and error handling. It is useful when a business process needs explicit sequencing and execution visibility across multiple services.

Open AWS Step Functions →
Amazon API Gateway image Amazon API Gateway

Amazon API Gateway exposes managed API endpoints that connect clients to application backends. Depending on the API type, it provides controls such as authorization, throttling, and request validation, but backend applications still enforce their business rules.

Open Amazon API Gateway →