Login and license key required for serverless v4?

Hi team,

Is it mandatory to have license key and login, for using serverless from >V4 version?
We have serverless and AWS SAM deployments for deploying resource, currently evaluating both frameworks and deciding what should be sticking to. But looks like serverless is introducing pricing for all deployments from v4 onwards, thats a concern for us small team using serverless since quite long now :frowning:

Hi there. It is mandatory to login but not to have a license key. The requirement to pay for usage of Serverless Framework V4 is only for organsiations with revenue exceeding $2 million annually. And even for those orgs with revenue below $5 million we offer a small business discount as well as discounts for annual subscriptions.

So if you are just starting out, you do not need to purchase anything. Just create your account, run serverless login to authenticate to your account and keep building. If you need some way to authenticate for a headless environment such as CI/CD, then look at the access keys available on the same account you created as a way to authenticate.

1 Like

Is v3 and v2 are both LTS?

V2 is no longer supported. V3 will remain supported with security and bug fixes until the end of 2024.

Pretty poor to be honest, we have a mix of serverless paid, SAM and just normal serverless and this feature will most likely result in us moving 100% to SAM. not worth it.

yes, its quite unfortunate. Love this framework and have been using personally/ professionally for managing deployments in stack. But we do have some IaC deployed using SAM now, this will force us to completely migrate to SAM going forward.

I’d love to know for what reason you feel you need to move?

Once authenticated, whether that be using serverless login or using an access key, there are no other restrictions and if you are an organisation with annual revenue below $2 million per year you never need to pay for V4 either.

What I’m not finding is a blog or tutorial to migrate from 3 to 4. I want to give a try but I simply don’t know how or where to start.

Would this help? Upgrading to v4 - Serverless Framework - Upgrading to v4

Not really…
From the basics: npm install -g serverless and I still see sls -v

Framework Core: 3.28.1 (standalone)
Plugin: 6.2.3
SDK: 4.3.2

I tried:

sls upgrade --major  

Environment: linux, node 16.16.0, framework 3.28.1 (standalone), plugin 6.2.3, SDK 4.3.2
Docs: docs.serverless.com
Support: forum.serverless.com
Bugs: Issues · serverless/serverless · GitHub

Error:
Sorry unable to upgrade at this point (server rejected request with 404)

BTW, did you guys finally fixed the `tab autocomplete` issue?

I removed all vestiges of sls and then installed as usual, it seems I got v4 and I was even able to deploy. However, tab autocomplete is not there, neither is sls help or sls -h or sis --help.

sls -v
Serverless ϟ Framework

 • 4.1.12

sls -h # or --help or help
✖ Configuration file not found in directory "/home/awilter"

If I go to a folder with serverless.yml and do sis doctor (or whatever):

✖ Failed to resolve variable 'custom.s3bucket.dev.full' with resolver 'config' and provider 'self': Error: Key "custom.s3bucket.dev.full" is not defined in config file
Error: Failed to resolve variable 'custom.s3bucket.dev.full' with resolver 'config' and provider 'self': Error: Key "custom.s3bucket.dev.full" is not defined in config file
    at #resolveKey (file:///home/awilter/.serverless/releases/4.1.12/package/dist/sf-core.js:917:42986)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async _ResolverManager.resolve (file:///home/awilter/.serverless/releases/4.1.12/package/dist/sf-core.js:917:47891)
    at async #handlePlaceholderNode (file:///home/awilter/.serverless/releases/4.1.12/package/dist/sf-core.js:917:46745)
    at async file:///home/awilter/.serverless/releases/4.1.12/package/dist/sf-core.js:917:44880
    at async processNodeAndHandleCompletion (file:///home/awilter/.serverless/releases/4.1.12/package/dist/sf-core.js:917:38632)

For help, try the following:
  • Run the command again with the "--debug" option
  • Run "serverless support"
  • Review the docs: https://www.serverless.com/framework/docs/

yet, sls deploy -s test --verbose works fine (I had to remove frameworkVersion: "3" first)

Honestly, making login mandatory isn’t the best move. We loved serverless because it was open source and easy to use. Now might be the time to switch to something that’s still truly open source.

The log in requirement we thought a long time about which is also why we have tried to make it as minimally invasive as possible:

  1. Once you log in you do not need to do it again as the access keys are auto-refreshed regularly
  2. You can use access keys and license keys as an alternative to having to do a browser based login; especially useful for headless systems.

But our goal, moving forward, is to make Serverless Framework the #1 choice for building serverless applications and we felt that was only possible with the entire focus of the company on making it better, which this allows us to do

I can tell you that the login requirement has made us move off of serverless for every new microservice code build we do, and we are transitioning our existing services away from it.

If your goal is to make it the #1 choice build environment, this is actively making people leave the ecosystem.

@kking124 Would you mind describing why a login requirement would require you to move away? We want to understand the reasons some folks choose this and perhaps find ways to adapt our current implementation to solve the issues experienced.

  1. we don’t want to participate in the culture of unnecessary tracking
  2. our automated build infrastructure has no direct access to the internet - we mirror and scan all packages we use for security reasons in this day and age. It would require giving our build environment a route to the public internet which our infrastructure provider charges an additional monthly cost for.

Thanks for being open about your concerns. This helps us quite a bit. Couple of things to clarify:

  1. We only capture data needed to allocate a specific CloudFormation stack using its ID to a specific organisation it might be deployed under and then only when running the command “serverless deploy”. No other specifics than that. No other data is collected at all unless you choose to opt into additional services such as observability which, naturally, require capturing more data.
  2. An internet connection is not required. This is something that changed very quickly as we had users early on with this need. By default Serverless Framework deploys if it cannot connect to the internet.

Hope that helps clarify some things. Please feel free to talk more about this topic as we sincerely want Serverless Framework to be the best developer tool for building serverless applications.

  1. I understand that you only currently capture these things, but that is already more than we want reported to you about our infrastructure.
  2. Our automated builds are now crashing on sls package because of a lack of a license key or authz token. We would have to add/create methods to manage this secret into our manager so it can be pushed to all our automated builds which is something we have to create/maintain that has literally no benefit to us. This is not a minor inconvenience, and we see no value in a login requirement that brings no actual benefit since we don’t use serverless in any online capacity