Skip to main content

UCROPS Workflow

UCROPS

Tips
  • UCROPS Well-Architected framework is used to:
    • evaluate and compare pros/cons of each service
    • evaluate the pros/cons of our overall architecture plans
    • research alternatives given these criteria
    • describe our solutions in an organized way
  • U - Usability
  • C - Cost
  • R - Reliability
  • O - Operations
  • P - Performance
  • S - Security
Structural Flow

Usability

A bit of a catch-all, and also the ultimate goal.

  • Fits the usability needs of all User Roles.
  • User interface easy-to-use and responsive.
  • Admin interface easy-to-use use.
  • Easily understandable UI for users, codebase for devs.
  • Documentation complete and resolves many issues.
  • Lower complexity is better.
  • Lower tech dependencies is better.
  • Accessibility.

"Understandability"... According to Google SRE book Building Secure and Reliable Systems, Understandability is a key component of reliability:

  • "Reliability and security benefit, in a deep and intertwined way, from understandable systems."
  • Decreases security vulnerabilities or resilience failures
  • Facilitates effective incident response
  • Increases confidence in assertions about a system’s security posture
  • Increased likelihood that the resulting system is actually correct
  • Structured interfaces, consistent object models, and idempotent operations contrib‐ ute to a system’s understandability
  • Code readability and auditability

Cost

  • Selecting resources of the right type and quantity,
  • Scaling to meet business needs without overspending.
  • Cloud financial management
  • Projecting spending over time,
  • Controlling fund allocation

Reliability

  • Distributed system design
  • High Availability, Reliability, Fault Tolerance
  • Time and Request-based Availability
  • Workloads performing their intended functions
  • Fault-tolerance, recover quickly from failure
  • Detect, Handle, Recover from partial failures
  • Types of failure: Crash, Timeout, Response, Incorrect response, Arbitrary response
  • Disaster Recovery planning,
  • Backup
  • CAP Theorem
  • Reliability testing
  • Adapting to changing requirements

Operations

  • Infrastructure as code
  • DevOps Automate changes,
  • Respond quickly to events,
  • Monitor systems,
  • Continuous improvements
  • Defining standards to manage daily operations.
  • Define organizational requirements

Performance

  • Select optimized resources for workload,
  • Optimize all parts and the whole of the stack
  • Monitor performance
  • Maintain efficiency
  • Resolve performance issues

Security

  • IAM/account security, roles for access
  • Encryption/security at rest
  • Encryption/security in transit
  • Network, perimeter security
  • Violation resolution process