So I have some questions about the every day developpement process that can stick the best with such architectures
* Based on your experience what it is the developpement process you can suggest for a team composed of about 6 fullstack developpers
* How the local envirements can be structured and configured (tools you use, tests you developpe, the structure of serverless based projects )
* Do you use integration and staging envirements ? are those envirements are also located in AWS
* What about performance issues these architectures may enconter and your advice to avoid them ?
This is another great question! It will be really hard to answer it with a few sentences, but let me try.
but the real world is also a team to manage and a client to convaince
I know, I also have clients and even multiple teams. From my experience, clients don't really care about technology, as long as it will give them the product they want, with a reasonable cost of the infrastructure. There are exceptions, of course, but most of our clients don't build that kind of specific apps. Serverless often allows us to deliver product faster, and to decrease the cost of the infrastructure, for example, our product infrastructure cost for March was $0.17 for million and a half function executions. Pretty sure most of the clients will not have any problems with that
For team, it's a bit different and it can be a bit more complex. But again, from my experience it's not that hard if you talk to your team and try serverless for some smaller project or part of the project.
Developers have their own environments (it's cheap, why not? )
Features goes through gitflow like flow
Builds are automated using CI (CodePipeline)
This question is probably the most interesting one:
What about performance issues these architectures may enconter and your advice to avoid them ?
With serverless, you need a mind shift to start getting serious performance gains. But few really short answers (our book is trying to give some good practices in each chapter):
I would use Node.js, Python or Go with AWS Lambda, as they have the best startup performance
Try to keep your functions small and not to add too many dependencies (i.e., don't install unnecessary node modules). Packages below 5MB will have the best startup performance (cold start thing)
Use a decent architecture, I would recommend Hexagonal Architecture, and I have a few articles describing it (i.e., this and this, ignore the title, it was marketing vendor lock-in in the cloud is not a problem that you'll have unless you do something really bad)
Hope that answers at least part of your questions.