Thanks for sparking this discussion Randy. While not perfect, we use these design principles to guide our cloud-native efforts at Message Bus:
• Workloads deployed and managed across multiple cloud infrastructure providers to be highly distributed
• Dynamic wiring/routing built on stateless configuration
• Designed to accommodate failure with dynamic policy driven optimization to ensure QoS
• Elastic/scale-out of nodes (computational and data grids)
• Versionable, incrementally deployed, testable, coordinated resources
• Overall system/service/tenant monitoring provided across providers
• Fully multi-tenant across clients, sub-clients and their users and system administrators
• Operational expense with automated metering / billing