AWS SAM vs CDK vs Amplify

Sep 18, 2024 19:34


Serverless Framework - фигня для новичков. Подкупает тем, что минимальный пример реально маленький и просто заводится сходу. Ну и механизм автогенерации через serverless.ts тоже интересный.

Но, так как, во-первых, они скатились в говно, а также во-вторых если проект не игрушечный и-или заботится о безопасности и-или у вас джуны не умеющие в генерацию -  то красивый серверлес-ямл скатывается в неподдерживаемые простыни CloudFormation.

AWS Amplify - тоже фигня для новичков. Подкупает тем, что не говорит, как работает, и можно тупо, не вникая в детали, прокликать туториал и сделать фулстек с TypeScript, Vue, GraphQL и шлюхами. Но на дистанции превращается в необходимость хакать нагенерированные простыни CloudFormation/CDK и в то что ваши разрабы так и не понимают как оно работает. «Какая-то магия». Одни идентификаторы окружений и спаривание с гитлабом чего стоят.

AWS SAM выглядит просто как «Serverless Framework, только от AWS». Те же недостатки, но зато поддерживается вендором и насколько можно судить ни в какое говно не скатывается.

AWS CDK во всем этом выглядит как единственно возможная альтернатива:

  • Не простыни. Есть встроенные «конструкты» (VPC так конфетка вместо 18+ ресурсов) плюс можно лепить свое
  • Поддерживается вендором
  • Вендор поддерживает паритет фич с CloudFormation
  • Из недостатков - это такое метапрограммирование, полумагический compile-time JavaScript, и разрабам придется научиться в phase distinction.


В-общем теперь стоит задача перенести все что сделано в проектах на Serverless и Amplify в CDK и посмотреть как оно будет на уровне PoC.

Из альтернатив только голый CloudFormation да Terraform. Но по ощущениям Terraform застрял в мире EC2 и контейнеров. так что наше serverless future там second-class.

Previous post Next post
Up