Study Guide920 words

Modernization and Upgrade Paths for AWS Workloads

Determining an application or upgrade path for new services and features

Modernization and Upgrade Paths for AWS Workloads

Learning Objectives

After studying this guide, you should be able to:

  • Evaluate applications for the appropriate 7Rs migration strategy.
  • Identify opportunities to decouple monolithic applications into microservices.
  • Select the correct AWS Integration Service (SQS, SNS, EventBridge, Step Functions) based on architectural needs.
  • Determine when to use serverless vs. container-based compute solutions.
  • Propose purpose-built databases to replace general-purpose legacy databases.

Key Terms & Glossary

  • COTS (Commercial Off-The-Shelf): Software purchased from a third party that usually cannot be modified or decoupled easily.
  • Decoupling: The process of ensuring that components of a system can act independently, reducing dependencies between them.
  • Monolith: A single-tiered software application in which the user interface and data access code are combined into a single program.
  • Microservices: An architectural style that structures an application as a collection of small, autonomous services modeled around a business domain.
  • Event Bus: A mechanism that allows different components to communicate with each other without knowing about each other.

The "Big Idea"

The transition from on-premises to the cloud is rarely a single step. It is a journey from being Cloud-enabled (simply running in the cloud) to Cloud-native (fully utilizing cloud-specific features like auto-scaling and serverless). Modernization involves identifying where the "heavy lifting" of managing infrastructure can be handed off to AWS, allowing developers to focus purely on business logic.

Formula / Concept Box

StrategyDescriptionTypical Use Case
Rehosting (Lift & Shift)Moving apps as-is to EC2.Tight deadlines, COTS software.
Replatforming (Lift & Reshape)Making minor optimizations (e.g., RDS).Reducing DB management overhead.
Refactoring (Rearchitecting)Changing code to be cloud-native (e.g., Lambda).Need for high scalability/agility.
RetiringTurning off redundant applications.Legacy apps with no remaining users.

Hierarchical Outline

  1. Initial Migration Assessment
    • Portfolio assessment using AWS Migration Hub.
    • Identifying 7Rs (Rehost, Replatform, Refactor, Retire, Retain, Relocate, Repurchase).
  2. Migration Patterns
    • Rehosting: EC2 vs. AWS Elastic Beanstalk.
    • Replatforming: Moving to managed services like Amazon RDS or Amazon MQ.
  3. Modernization & Decoupling
    • Identifying monolith boundaries.
    • Shifting to Containers (ECS, EKS, Fargate) or Serverless (Lambda).
  4. Application Integration
    • Messaging: SQS (Queuing) and SNS (Pub/Sub).
    • Events: EventBridge for third-party and internal event routing.
    • Workflows: Step Functions for complex orchestration.
  5. Data Modernization
    • Moving from Relational to Purpose-Built (DynamoDB for NoSQL, ElastiCache for speed).

Visual Anchors

Migration Strategy Decision Tree

Loading Diagram...

Modernized Microservices Architecture

\begin{tikzpicture}[node distance=2cm, every node/.style={rectangle, draw, rounded corners, minimum width=2.5cm, minimum height=1cm, align=center}] \node (client) [fill=blue!10] {Client App}; \node (apigw) [right of=client, xshift=2cm, fill=green!10] {API Gateway}; \node (lambda) [right of=apigw, xshift=2cm, fill=orange!10] {Lambda (Logic)}; \node (sqs) [below of=lambda, yshift=-0.5cm, fill=purple!10] {Amazon SQS}; \node (worker) [left of=sqs, xshift=-2cm, fill=orange!10] {Worker (Lambda)}; \node (db) [below of=worker, yshift=-0.5cm, fill=red!10] {DynamoDB};

code
\draw[->, thick] (client) -- (apigw); \draw[->, thick] (apigw) -- (lambda); \draw[->, thick] (lambda) -- (sqs) node[midway, right] {Async Task}; \draw[->, thick] (sqs) -- (worker); \draw[->, thick] (worker) -- (db);

\end{tikzpicture}

Definition-Example Pairs

  • Rehosting: Moving a legacy .NET framework app exactly as it is from an on-premises Windows Server to an Amazon EC2 Windows instance.
  • Replatforming: Moving a MySQL database from a local server to Amazon RDS, gaining automated backups without changing the application code.
  • Refactoring: Breaking a monolithic "Order Processing" function into separate AWS Lambda functions for "Validation," "Payment," and "Shipping."
  • Event-Driven Architecture: Using Amazon EventBridge to trigger a "Welcome Email" Lambda whenever a new user entry is detected in a SaaS platform like Salesforce.

Worked Examples

Scenario: The Legacy .NET Monolith

Problem: A company has a 10-year-old .NET monolith running on a single large server. It handles everything: User Login, Product Catalog, and Checkout. It is slow to update and crashes often under load.

Step 1: Immediate Relief (Rehost)

  • Move the app to AWS Elastic Beanstalk. This provides automated scaling and environment management with zero code changes.

Step 2: Decoupling (Refactor)

  • Identify the "Checkout" process as high-value. Move this logic to AWS Lambda.
  • Use Amazon SQS to buffer orders between the main app and the checkout service to prevent data loss during spikes.

Step 3: Database Modernization

  • The product catalog is read-heavy. Move this data to Amazon DynamoDB with DAX (Accelerator) for microsecond response times.

Checkpoint Questions

  1. What is the primary driver for choosing Rehosting over Refactoring?
  2. Which service would you use to orchestrate a long-running business process that involves manual approvals and multiple Lambda retries?
  3. How does Amazon EventBridge differ from Amazon SNS in terms of integration capabilities?
  4. When should a Solutions Architect choose Amazon MQ instead of Amazon SQS?

Muddy Points & Cross-Refs

  • Replatforming vs. Refactoring: This is a common point of confusion. Remember: Replatforming changes the platform (e.g., moving to a managed DB), while Refactoring changes the code (e.g., breaking it into microservices).
  • SQS vs. SNS: Think of SQS as a pull mechanism (one consumer pulls from a queue) and SNS as a push mechanism (one message is pushed to many subscribers).
  • Further Study: See Content Domain 4: Accelerate Workload Migration and Modernization in the SAP-C02 Exam Guide.

Comparison Tables

AWS Integration Services

ServiceTypeKey CharacteristicBest For
Amazon SQSQueueingDecouples systems; messages are pulled.Asynchronous processing; buffering.
Amazon SNSPub/SubHigh-throughput; pushes notifications.Fan-out patterns (e.g., one event, many actions).
EventBridgeEvent BusSchema registry; 3rd party SaaS integration.Loosely coupled event-driven architectures.
Step FunctionsOrchestrationState machines; visual workflow.Complex logic; retries; human-in-the-loop.

[!TIP] For the exam, if a question mentions "COTS" or "no time for code changes," lean toward Rehosting. If it mentions "agility" or "scaling to zero," lean toward Serverless/Refactoring.

Ready to study AWS Certified Solutions Architect - Professional (SAP-C02)?

Practice tests, flashcards, and all study notes — free, no sign-up needed.

Start Studying — Free