AppLogic - What It Can Do For You

Utility computing can be used in different ways depending on your business. Some basic scenarios of how customers are using the system follow:


Package applications for on-demand delivery

AppLogic allows you to run many instances of one or more prepackaged web applications. This enables selling access to high-value on demand applications such as CRM, E-mail, VoIP PBX and many others.

AppLogic makes it easy to create a copy of the desired application for each customer, configure it with an IP address and hardware resources, and have it running within minutes - without operator involvement. The whole process can be automated and driven by a script running as part of the ordering page on your website.

Users can subscribe inexpensively, starting their application with just a fraction of a server and scale-out whenever their needs increase and they're ready to pay for it.


Deploy your applications on prepackaged infrastructure

If you are a software developer and don't enjoy configuring servers and infrastructure, AppLogic makes it extremely easy to deploy scalable web applications without dedicated IT personnel. Assuming your application code handles concurrency correctly (e.g., uses database transactions where necessary), deploying a 2-tier or 3-tier application on AppLogic is easy. Pick a standard infrastructure assembly from the catalog, copy your HTML files, scripts code and database onto the logical volumes and start your application.

The catalog assemblies are built by IT experts and ready for production deployment. They've been carefully instrumented so that you can use the AppLogic monitoring system as a visual debugging tool that shows you what's happening throughout the application. By writing a script or two, you can easily integrate deployment with your build process, so that changes you make to the code or the user interface are deployed automatically on the grid every time you rebuild your code.


Scale your online service without building a multi-tenant system

Many SaaS applications are similar to CRM and e-mail systems in that while they do share significant amount of state among users who belong to the same organization or customer, sharing between different customers is not required, and is often explicitly discouraged. If your application falls into this category, AppLogic can make it extremely easy to scale your online service without spending money on complex IT infrastructure and people to manage it. Simply deploy your application with AppLogic and automate the system to create an instance of the application for each new customer you sign.

Not only is this a great way to scale your service (and, therefore, your business!), but the resulting system is much more resilient than a large, complex multi-tenant application. In AppLogic each application instance carries it's own infrastructure, such as databases and application servers so a failure affects only a single customer.


Develop new applications

If you're developer starting a new application project, AppLogic can save time and aggravation by allowing you to build and test your application with the exact middleware and system configuration it'll have in production. Simply copy and start one of the "developer's workbench" applications that come with AppLogic; in minutes, you'll have a private N-tier application setup fully integrated with your development environment and tools. Run it in "sandbox" mode to fit even the largest application on a single server, or use a larger grid to test your code under real-world loads at any time.


Build custom N-tier application infrastructure

For designing, building and replicating complex distributed infrastructures, AppLogic is the ultimate power trip. Using the AppLogic visual infrastructure editor and the catalog of virtual appliances, you can assemble, configure and troubleshoot your system visually. Integrations that took weeks can be done in hours. What's more, AppLogic makes it easy to pre-assemble frequently used subsystems, such as clustered databases, web tiers, application server clusters, and many others, and reuse these assemblies in many applications, or in several places within the same application.

Debugging your system is easy as well. AppLogic's monitoring system makes it easy to visualize what's happening in the application under load, so troubleshooting and performance tuning are easier than ever before. Plus, you can easily save a "known good" state of the application for rollback. You can also SSH into any of the appliances to see what's happening inside them or to fix a problem. When you are done, you can literally check your application into a version control system such as CVS or Subversion, and have complete visibility into all changes made to its infrastructure, configuration or code from this point forward, plus the ability to roll them back and to restore prior versions of the application.