You can handle more requests with less resources than traditional stacks or frameworks that rely on blocking I/O. Vert.x works well in all types of execution environments, even constrained ones like containers and virtual machines. People have told you that asynchronous programming is too difficult. Vert.x programming is easy to use, and we don't believe in sacrificing accuracy or performance. You can save money and reduce waste by not wasting resources. Pick the model that best suits your task, including callbacks, promises and futures, reactive extensions, and (Kotlin), coroutines. Vert.x is not a framework but a toolkit. It is easily reusable and embeddable. We don't have a strong opinion about how your application structure should look. As you create your application, choose the modules and clients that you require and then compose them.