How does Support and Improve work?
Support and Improve is our managed server and managed application service. One flat monthly rate gets you all of the security patches, operating system updates, and backups for your server and database. It also includes all the day to day work required to keep your application maintained, like fixing errors and applying the latest framework patches.
What are the benefits?
Budget predictability
We want our clients to be able to accurately budget the operation and maintenance of their web application. Each month you will receive a single invoice that includes everything related to hosting, maintenance, and fixes.
Reduced risk
Without proactive updates, your web application and server will fall behind the latest security and performance patches. And without active monitoring, problems could slip by unnoticed.
Extend your web application lifetime
A well maintained web application is like a garden: it takes a lot of work to get started and blooms beautifully the first year, but every year after the weeds come up and the bugs eat at the leaves. But through small amounts of work throughout the year, it stays beautiful and healthy.
Reduced cost for development
With a web application and server that is under active maintenance, we are able to offer the development of new features at a lower cost, because it requires less effort to implement the changes.
Never avoid contacting us
You don’t have any budget reason to avoid contacting us. You won’t get hit with a 30-minute bill for a small error fix or to receiving training for a rarely used workflow.
Embrace continuous improvement
Your organization’s needs are constantly changing, and as a result, your custom web application will change too. Support and Improve will ensure your tools will continuously improve and grow alongside your organization.
What’s included?
The scope of work falls under four categories, which are detailed further below:
- Hosting and integrations
- Monitoring and status page
- Reactive break/fix work
- Proactive maintenance work
Included: Hosting and integrations
Web hosting and servers
The cost for hosting is included in Support and Improve. We manage all of your web, database, and integration servers to make sure they stay up to date.
Transactional email
We manage your transactional email provider, and the cost for sending email is included in Support and Improve.
Other integrations
Wherever possible, we manage any other integrations that are required.
2factor authentication
We ensure all hosting and integration accounts utilize 2factor authentication if available.
Continuous integration server
We ensure all automated tests are passing on a continuous integration server before any work is deployed to your production server.
GitHub
We provide you access to GitHub where you can see work progress, pull up historical issues, and communicate directly with the Code and Effect team.
Domains, nameservers, and DNS
If you have a managed IT service provider or digital agency that manages your domain names and DNS records, great! Keep that service with them. If you don’t have a company already managing domains and DNS, we prefer (but do not require) to manage them for you.
Included: Reactive break/fix work
Web application and server recovery
Any work related to restoring your web application or database in the event of an outage is included.
Fix 500 errors
500 errors are when you see the dreaded “something went wrong…” error pages. When these errors happen, we are notified automatically, immediately fix the problem, and notify the affected users.
Fix invalid form errors
Sometimes called “glitches” by users. These are the “permission denied” and “red banner with an error message” type errors. When these errors happen, it is not possible for us to be automatically notified, but we will resolve these upon notification.
Fix bad database data
These are unexpected one-off problems that can only be fixed by directly working within the database. Examples are an applicant that needs to move backwards to an older status, or merging two user accounts, or bulk-deleting invalid records.
Phone calls, emails, and meetings
All communication with Code and Effect is included. Call us, we’re here!
Included: Monitoring and status page
Status page
We will add a dedicated status page that allows you to see the status of your server and web application monitoring. It is recommended this status page is added as a link in the footer of your web application and access is given to the public. Please see Appendix A for an example screenshot.
Web application monitoring.
We monitor the web application to make sure it is always up and available. If the web application is not available for any reason, we are notified and take immediate action to fix it. Without this, we need to be notified by you that there is a problem before we can act. The status page will show the uptime percentage for your web application.
Database backups
We ensure your database is backed up daily to an off-site location, and show on the status page when the most recent backup occurred.
File backups
We ensure your files are backed up daily, including to a different server, and show on the status page when the most recent backup occurred.
Background job monitoring
Any scheduled task that happens in the background (e.g. nightly generation of membership fees) will be monitored. The status page will show when the most recent background job was run.
Transactional email delivery monitoring
We monitor the email delivery from the web application to make sure it is reaching inboxes, and are notified when there is a delivery problem. Without this monitoring, we need to be notified that a user is having problems receiving email before we can act. The status page will show the recent email delivery status.
SSL certificate monitoring
We ensure your certificates are valid and up to date, and cover all costs required to maintain them. The status page will show when the status of the SSL certificate along with any warnings.
Included: Proactive maintenance work
Training
Training sessions can be delivered via Zoom upon request.
Update web application
We keep your web application updated to at least the second most recent major version of both Ruby and of Ruby on Rails. For example, when Ruby on Rails 6.1 is released, you will be upgraded to Ruby on Rails 6.0 or newer.
Update server
If you are hosted with Heroku, we make sure your web application is on the “Default” or “Supported” stack. If you are hosted with Digital Ocean, we update to the most recent standard release of Ubuntu and apply the security updates that are released every 6 months.
Automated testing
We ensure the automated testing for your web application continues to pass all tests. When we fix 500 errors or add new features, we ensure those have tested as appropriate.
What isn’t included?
New feature development is not included.
What’s the difference between break/fix and new features?
Sometimes this can be hard to tell the difference, and in truth, there is sometimes a blurry line separating the two. When in doubt, we’ll have a conversation and come to a reasonable decision together. But in general, we can rely on rules like:
- New feature development requires approval to begin. If we provide you with an hour estimate and cost via email or statement of work, then that’s a new feature.
- Break/fix work will almost always include a 500 or invalid form error that is caused by a user interaction.
- Any changes that modify the database (e.g. add a new column) is likely a new feature.
- Any new pages, forms, or email notifications are likely a new feature.
- Something that used to work, but now doesn’t, is likely break/fix.
What if I want to cancel Support and Improve?
No problem! Just like all of our work that falls under our Master Services Agreement, you can cancel or terminate services at any time and for any reason. We have to fight hard to keep you as a client! If you choose to cancel Support and Improve, we are happy to provide maintenance services via hourly billing instead.
What does Support and Improve cost?
It depends on the complexity of your application, integrations, and any other requirements we agree to. We suggest budgeting $500-$1250 per month, but plan on talking it over with us to find a cost point that works for everyone.