Modulus – Scalable Hosting of Node.js Apps With MongoDB Support

Charlie from Modulus wrote in to tell me that their new platform is now available, and that it runs on AWS.

Modulus was designed to let you build and host Node.js applications in a scalable fashion. Node.js is a server-side JavaScript environment built around an event-driven, non-blocking I/O model. Web applications built on Node.js are able to handle a multitude of simultaneous client connections (e.g. HTTP requests) without forcing you to use threads or other explicit concurrency management models. Instead, Node.js uses a lightweight callback model which minimizes the per-connection memory and processing overhead.

Your Modulus application runs on one or more mini-servers which they call Servos. You can add or remove Servos from your application as needed as your load and your needs change; Modulus will automatically load balance traffic across your Servos, with built-in session affinity to make things run even more efficiently. Each Servo is allocated 396 MB of memory and 512 MB of swap space.

Your application can use MongoDB for database storage. Modulus includes a set of administrative and user management tools and also supports data export, all through their web portal. The triple-redundant database storage scales without bounds and you won’t need to take your application offline to scale up. Similarly, your application has access to a disk-based file system that is accessible from all of your Servos and scales as needed to accomodate your data.

All requests coming in to Modulus are tracked, stored, and made available for analysis so that you can locate bottlenecks and boost the efficiency and perfomance of your application. You can also access application log files.

You can communicate with code running in your user’s browser by using the built-in WebSocket support. You application can also make use of other AWS services such as DynamoDB, SQS, and SNS.

You can host the application at the domain name of your choice, you can create and use your own SSL certificates, and you can define a set of environment variables that are made available to your code.

Modulus is ready to use now and you can sign up here to start out with a $25 usage credit. You can also use the Modulus pricing calculator to get a better idea of how much it will cost to host and run your application.

This looks really cool and I think it has a bright future. Give it a shot and let me know what you think!