What does a serverless application mean? What are the limitations of the serverless approach? What are the benefits of serverless APIs? What role does Chalice play in the development of a serverless application?