Managed Hosting Expertise
The software we create for our Enterprise Web Development clients ultimately needs to be hosted on one or more servers that live in the cloud. While Z9 Digital does not provide the actual servers, what we do provide is the expertise to setup, configure and manage the servers as part of a "Managed Hosting" service.
Enterprise Hosting Provider
First off... a $5/mo shared hosting account is not going to work for the kind of software we provide. What we need and want is an Enterprise level hosting provider. One that includes support that is both knowledgeable and responsive.
Top Enterprise hosting providers include Amazon, Azure (Microsoft), Google, RackSpace, and SoftLayer (IBM). Of the top providers (and we have tried each), we have selected RackSpace based on support, ease of use, and the ability to programmatically integrate with the hosting services.
To get things started, we work with you to setup a RackSpace account in your name. It is your account. You pay RackSpace directly for the actual hosting services.
(Please note, for a quick support response from RackSpace, use their Live Chat feature. Only submit a RackSpace ticket for non urgent issues.)
Self Hosted Investment
Whether we are licensing or developing the software provided to you, the software will be "self hosted" on your own servers.
In most cases, we believe that "self hosting" the software on your own servers is going to be the better long term investment. If there is any chance that you might sell your business at some point in the future… or maybe you want to retire one day… then you will likely be money ahead by having the "system" be an asset of the company.
By self hosting the software, the ongoing support dollars you invest into setting up sites and making customizations become a growing asset of the company instead of just an expense.
Managed Hosting Services
The "Managed Hosting" services that Z9 Digital provides is the setup and management of the servers to operate your sites.
So where RackSpace provided the cloud based servers, we provide the setup, configuration, and ongoing management of those servers.
Manage Hosting services include:
- Server configuration
- Web server configuration (Apache)
- Database configuration (MySQL)
- Backup configuration
- SSL Certificate setup and automated renewals (LetsEncrypt)
- DNS Management
- Email relaying (Mailgun)
- Linux, Apache, PHP updates
- Web site setup
- Restarting services
- Rebooting servers
- Adding disk space, memory, and/or CPU capacity to a server
- Transitioning sites to a new "latest greatest" server every couple of years
Not included in "Manage Hosting" would be anything related to touching the Z9 Commerce software and/or it's databases and/or its supporting files (product images). That would fall under support.
Related Support Services
For clients that have an active support agreement, we provide the following hosting related services at no extra charge:
- Server monitoring
- Site monitoring
- Database monitoring
- Disk space monitoring
- Backup monitoring
- Development server (where we duplicate the live site so that the developers can safely perform updates and enhancements)
- Deployment system (to publish code updates from development to the live site)
Z9 Commerce Setup
For our Z9 Commerce software, we start with a three server setup.
- production application server (your account)
- production database server (your account)
- development server (our account, included with an active support agreement)
The production application server will handle all requests for the admin site and each online catalog site.
The production database server will host all the databases. One per site and one for the admin site.
The development server will run its own copy of the production sites and database. The purpose of the development server is to give our developers a place to safely add enhancements and preview/test new updates before they are published.
For the setup of new servers, we start with a bare minimum install of CentOS Linux and then for security and performance reasons we only install the Linux software packages absolutely needed to operate your site and/or the server.
Red Hat Enterprise Linux is specially designed to be "stable" over longer periods of time. CentOS Linux is an exact copy of Red Hat Enterprise Linux. This means that you get the same updates that Red Hat Enterprise customers are getting with their paid support to RedHat.
CentOS comes out with a new major version approximately every three years and as such we do recommend that servers be rebuilt from scratch every three years to get on the latest version of software and security updates.
For the server setup process, we use an in-house tool, developed and maintained over the last 15 years, called Fast-Pitch. With each new server we setup, we update Fast-Pitch to work with the latest version of CentOS and to install the latest versions of Apache (web service), PHP (programming language), and MySQL (database). For any server we setup, we will provide one "per server" license for the "Fast-Pitch" software.
To streamline the management of the servers, we have our own in-house package of server tools that we install on each server. The "Server Tools" are specifically designed to automate the set up and management of sites, databases, DNS, files, backups, and SSL certificates. Some of the server tools have a prerequisite of needing access to the Z9 deployment service. For any server we setup, we will provide one "per server" license for the "Server Tools" software.
All instances of your software and your data will be hosted on servers dedicated to only your sites. This insures that your data is completely separate from other Z9 clients.
Each server is backed up daily to Rackspace Cloud Storage. The database for each catalog site and the admin site are backed up. The resource files of each site, such as product images, are backed up.
RackSpace has an email delivery service called MailGun, which we configure to handle the sending of any emails generated by the web server itself. The MailGun service is included with your RackSpace account and allows for sending up to 50,000 emails per month. Without this type of service, emails sent from the web server would have a much higher risk of being classified as spam or not getting delivered at all.
No Hardware Failures
Because the servers we setup are "virtual", which means they are independent of hardware, failures normally associated with dedicated servers, such as power supply failures or disk drive failures, have almost no effect on the site staying up. If there is a hardware failure, the virtual server is automatcially loaded onto a new physical server by RackSpace.
For additional security, we install a package called "denyhost" on the server. This software blocks bad guys from repeatedly attempting to log in, often thousands of times in a row, by detecting too many failed login attempts from the same ip address.
Memory Usage Tuning
Based on the amount of memory the production application server has, we tune the web service to not to exceed a maximum number of requests at any one time. This prevents the server from running out of memory, which almost always hangs the server.
Our typical server configuration requires very little server maintenance. Linux servers can run for years without rebooting if they don't run out of memory. We have completely automated many of the typical maintenance items such as cleaning up log files to reclaim disk space. Common tasks for managing the server include diagnosing internet connectivity issues and upgrading software for security updates.
For database management, we install phpMyAdmin.
We setup a SSL certificate to enable HTTPS secure web pages for all sites we build, even the development instances of the site. The SSL Certificates are provided by LetsEncrypt. The good news is the certificates don't cost anything. After the initial setup, we schedule a job to automatically renew the SSL Certificates every three months.
We can assist as needed to update and/or transfer domain name registrations and update DNS records.
You pay RackSpace for actual hosting fees incurred. We charge an hourly fee for actual "Managed Hosting" services performed. We invoice once a month for services rendered the previous month.