Do Modern Cloud Applications Lock You in Arc307

Title

AWS re:Invent 2023 - Do modern cloud applications lock you in? (ARC307)

Summary

  • Modern cloud applications are not just about runtime (containers vs. serverless) but also about how they are put together, observability, and integration.
  • Cloud-native applications fully utilize cloud capabilities, offering benefits like resilience, scalability, cost transparency, and agility.
  • Lock-in is a multi-dimensional issue, not just vendor lock-in but also product, skill set, and mental lock-in.
  • Architecture is a world of trade-offs, and architects should understand the nuances and trade-offs rather than seeing things in black and white.
  • Service mapping and abstraction layers are not effective strategies for avoiding lock-in due to the unique features and physical properties of cloud services.
  • Managed open source services can help balance utility and switching costs.
  • Increasing development velocity can dramatically reduce switching costs.
  • Maintaining design intent and not getting mentally locked in by service icons is crucial.
  • Good software development practices, high velocity, and automation are key to managing potential switching costs.

Insights

  • The speaker emphasizes that modern applications should be fine-grained, loosely coupled, and often event-driven to leverage cloud benefits fully.
  • The concept of lock-in extends beyond vendor lock-in to include aspects like product lock-in, skill set lock-in, and mental lock-in, which can impact switching costs.
  • The speaker introduces the idea that architecture is about making informed decisions and understanding trade-offs, rather than a simplistic good vs. evil or black and white approach.
  • The talk critiques common strategies like service mapping and abstraction layers, highlighting that they fail to account for the unique and evolving features of cloud services and their physical properties.
  • The speaker suggests that managed open source services are a practical way to enjoy the benefits of cloud services while keeping switching costs manageable.
  • Development velocity is presented as a significant factor in reducing switching costs, with the speaker advocating for automation, reduced friction, and iterative development.
  • Mental lock-in is identified as a potential pitfall, where architects may become too focused on specific services rather than the underlying architectural intent and decisions.
  • The overall message is that focusing on good software development practices and maintaining agility and flexibility is the best strategy to mitigate the risks associated with potential lock-in.