Самые большие различия между SAM и SF:
1) SAM только для AWS; SF поддерживает несколько бэкэндов, поэтому он поддерживает развертывание для мульти / гибридного облачного приложения. SF также поддерживает kubernetes backend.
2) Для AWS шаблоны SAM и SF компилируются в Cloudformation (CF). SAM имеет возможность использовать Transform, которая по сути является макросом для CF.
3) SAM написана на Python; SF написан на Javascript.
4) SF имеет плагины, которые позволяют запускать любые коды (включая не Javascript); что фактически означает, что можно выйти за пределы ограничений Cloudformation (CF), поскольку всегда есть что-то (new-ish), которое еще не поддерживается в CF. Система плагинов также очень гибкая и может быть очень полезной.
5) Система переменных SF является более гибкой, что позволяет выполнять динамическое включение в зависимости от наличия других параметров (например, stage); Переменные SAM намного ближе к CF.