View Full Version : Software As A Service :: New CustomerAutomation
JustinK101
04-21-2008, 11:58 AM
I am in the early stages of setting up software as a service company. My application is PHP5 and MySQL 5 based. I just stumbled across 3tera and I must admit I am very very impressed. I have a few questions though.
I need the ability to add subdomains and domain hosting, databases, folders, and symbolic links for each new customer dynamically. Basically as a user signs up and I need to automatically create:
customername.mydomain.com (SUBDOMAIN) --> (Option To Add) --> www.customer_custom_domain.com
httpdocs/customers/~customername (FOLDER) --> (SMBOLIC LINK) --> httpdoc/app/production (APP SOURCE CODE)
Create A New Database For The Customer
I was thinking of using Cpanel as there are a few scripts which try to emulate this behavior but I am wondering if there is a better way of doing this with 3tera.
PeterNic
04-25-2008, 05:22 PM
Justin,
You can clearly use cPanel or any other control panel.
You can also use one of the ready-made LAMP stacks -- if all you need is what you have above, you can do it with a simple script (no different on AppLogic than anywhere else). The benefit is that if you don't use a control panel but the LAMP stack, you can scale up the stack easily, as you add more customers.
However, if you want to also have DNS and e-mail set up automatically, and provide your customers with a control panel, then you should probably go with a control panel on the grid. Benefits of running on the grid are still plentiful: high availability, easy provisioning, snapshots, etc.
Another interesting solution you can have on the grid is that if a particular customer becomes big enough, you could run a separate application instance only for that customers -- so you can go from running many customers on a single VPS (smaller than a server) to running individual customer apps on multiple servers.
The way I would do it for my own application (rather than for web site hosting/e-commerce), is by using the LAMP stack and a few small scripts. I have uploaded an architecture blueprint for a large scalable php app -- originally it was designed for a Facebook application but it should work for any PHP/LAMP-type app. You can see it here: http://download2.3tera.net/GridU/forum-scalable_php.PNG.
A brief explanation:
- main traffic input comes from two gateways, each followed by a load balancer, going to 8 web/app servers running apache/php. The database is in a separate server, as is any shared file store.
- in addition, there is a monitoring appliance through which you can monitor the load; there is a control input interface and a small control appliance -- DCT -- which is where your scripts will likely run (it is simply a very small virtual server, with enough memory to run your scripts).
- outgoing gateways to the Internet in general (if needed by the app) and to a particular host (originally, the facebook api, but can be used for mail server or removed altogether).
Centralized logging can be added, as well as "apache restart" distribution using RPL.
Simpler solutions are included with the grid -- see the Lamp and LampX4 applications at http://doc.3tera.net/AppLogic2/RefApps.html
I look forward to seeing you on the grid!
Regards,
-- Peter
enovikoff
06-06-2008, 12:48 PM
We have a similar problem. We host multiple customers on a grid, so they don't have grid control access. This is fine with them since they are essentially SaaS customers. But they would like the ability to:
1) restart their application
2) stop/start their application
3) resize the resources on an appliance or on the application
4) start a copy of their application with auto-allocated IP addresses
They need to do this from a website. Any idea on how I can provide this capability to them? Is there a web services/XML interface to AppLogic's controller?
PeterNic
06-06-2008, 11:57 PM
Eric,
You can probably set up a simple portal to do that. It can run on GSC or in a INSSL-WEB-NAS+NET small setup. I don't know of a ready-made piece that has separate accounts; you may be able to find one (we were thinking of getting ModernBill (http://www.modernbill.com/) (now Parallels) to actually even provision instances on customer order -- I am told the capability to customize is there but we haven't had enough side cycles to look into it deeper).
I recall one of our hosting partners needed a simple version of the applications list tab of the dashboard with the ability to start/stop/restart apps. I built it in an evening and it worked great even on mobile devices (so you could essentially restart an app from your cell phone).
AppLogic currently provides only a shell-based interface -- you can script any grid command (http://doc.3tera.net/AppLogic2/AdvScripting.html) (that's how the above mobile access portal worked). We're in the process of defining web services interface with equivalent capabilities, I will post here when more info becomes available.
This will be a cool little app; let me know how we can help you build it.
Regards,
-- Peter
jonathan
03-26-2009, 02:34 AM
Hi Peter,
Did you get anywhere with "defining web services interface with equivalent capabilities"?
JD
cloudaccess
10-31-2009, 04:04 PM
We are building a Software as a Services company for the Joomla Enterprise Content Managment system. We have been working with 3tera for a long time. We are proud owners of special system built to run a multi-tentant SaaS operation.
We manage Joomla! as if it were a Gmail App for our users. We can insert and update the database across multiple vhost. We have a custom built control panel that gives users a cpanel like controls and the ability to control the application.
The idea behind it is to give users open access to a cluster and bill them for services. If your not familiar with this business process its exactly what Rack Space Sites is doing. Build a cluster and bill for the resources. (CPU Cycles, Bandwidth, and Disk Usage) The trick here is tracking usage on the cluster, giving the customer access to this information and porting it back into billing.
We have everything figured out and we are looking for partners that want to help invest in our project. If your in the same business and have some cash on the table send me a private message.
Gary Brooks | CEO
CloudAccess.net
garybrooksATcloudaccess.net
vBulletin® v3.7.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.