Gartner Research

How to Architect and Design Cloud-Native Applications

Published: 29 December 2015

ID: G00296114

Analyst(s): Richard Watson

Summary

Cloud computing benefits are realized by implementing a solution with elastic scalability, metered consumption and automation, not by simply using IaaS or PaaS. IT architects must adopt cloud-native principles and design patterns such as microservices and understand the impact of design decisions.

Table Of Contents

Problem Statement

The Gartner Approach

The Guidance Framework

  • Prework: Define Cloud-Native Application Adoption Goals
  • Step 1: Map Cloud Adoption Goals to Cloud Characteristics
    • Characteristic 1: Uses Dynamic, Shared and Virtual Infrastructure
    • Characteristic 2: Offers a Service in an On-Demand, Self-Service Model
    • Characteristic 3: Scales Rapidly and Elastically
    • Characteristic 4: Meters Consumption
    • Characteristic 5: Available Across Common Networks
  • Step 2: Map Cloud Characteristics to Cloud Architecture Principles
    • Principle L: Latency-Aware
    • Principle I: Instrumented
    • Principle F: Failure-Aware
    • Principle E: Event-Driven
    • Principle S: Secure
    • Principle P: Parallelizable
    • Principle A: Automated
    • Principle R: Resource-Consumption-Aware
  • Step 3: Choose Design Patterns That Implement Architecture Principles
    • Actor Model
    • Asynchronous Integration
    • Autonomous
    • Bulkhead and Circuit Breaker
    • Command Query Responsibility Segregation (CQRS)
    • Containerization
    • Content Delivery Networks
    • Data Replication
    • Encryption
    • Event Sourcing
    • Eventual Consistency
    • Federated Identity
    • Finely Grained Components and Services (Microservices)
    • Gatekeeper
    • Idempotency
    • In-Memory Data Caching
    • Interoperable Application Programming Interfaces (APIs)
    • Lazy Loading
    • Mediation Points
    • Partitioning Data
    • Redundancy
    • Restartable
    • Separating Business Logic From Infrastructure Concerns
    • Shared Nothing
    • Simplification
    • Stateless Services
    • Template-Driven Deployment
    • Throttling
    • Valet Key
    • Workload Decomposition
  • Step 4: Choose IaaS and PaaS Based on Design Pattern Implementation Responsibilities

Risks and Pitfalls

  • Avoid Cloud Design Anti-Patterns
    • ACID Transactions
    • Chatty Interactions
    • Complex Dependencies
    • Direct Code-to-Runtime Relationship
    • Hardware Affinity
    • Latency Guarantees
    • Manual Provisioning Workflow
    • Monolithic Design and Deployment
    • Resource Hogging
    • Scalability by Application Server Clustering
    • Scalability by Scaling Vertically
    • Single Points of Bottleneck
    • Single Points of Failure
    • Single Tenancy
    • Single-Threaded, Serial Execution
    • Stateful Services
    • Synchronous Interactions
  • Delegate Responsibility for System Behavior to Cloud Providers or Platforms
  • Increase Complexity as You Distribute Your System
  • Be Aware of Cloud Market Evolutionary Risk
  • Related Guidance

Gartner Recommended Reading

©2019 Gartner, Inc. and/or its affiliates. All rights reserved. Gartner is a registered trademark of Gartner, Inc. and its affiliates. This publication may not be reproduced or distributed in any form without Gartner’s prior written permission. It consists of the opinions of Gartner’s research organization, which should not be construed as statements of fact. While the information contained in this publication has been obtained from sources believed to be reliable, Gartner disclaims all warranties as to the accuracy, completeness or adequacy of such information. Although Gartner research may address legal and financial issues, Gartner does not provide legal or investment advice and its research should not be construed or used as such. Your access and use of this publication are governed by Gartner’s Usage Policy. Gartner prides itself on its reputation for independence and objectivity. Its research is produced independently by its research organization without input or influence from any third party. For further information, see Guiding Principles on Independence and Objectivity.

Already have a Gartner Account?

Become a client