Ruby on Rails Onderhoudsdienst

(De vertaling naar het Nederlands volgt snel. Als ontwikkelaars denken we primair in het Engels dus die taal was als eerste klaar.)

The Pitch

Stuff happens and sometimes you find yourself with a Ruby on Rails app, but without developers to properly maintain it. As long as you keep paying your server bills, a well-written app will keep running for many more months. The problem is that once you stop maintaining it, your app starts accumulating problems: you're not applying security updates, you're not fixing bugs and you're not doing the work required to keep your app happily purring along.

We offer our Ruby on Rails Maintenance Service for companies with existing Ruby on Rails applications that need to be maintained by professional Ruby on Rails developers. We can even update your app from time to time. The best match for our service are applications that are in active use and have business value for your company.

If your application has no business value, then honestly ask yourself why you are not just shutting it down?

Still here? Great! Your app has business value and we can help you maintain it.

Our Services

Our Ruby on Rails maintenance service plans follow a progression: we start with the basics of good hosting, then we add good maintenance, then we add minor feature development, and finally there is major feature development.

Bare Essentials: host it and forget it

  • Host the application on a server, connect it to the internet
  • Have (and renew) a domain name that points to the server

This is the service level for a hobby project without business value.

Proper Hosting: focus on security and stability

  • Actively check for security updates to your application, and apply them
  • Regularly apply security updates for the server's software
  • Make regular backups so your data can be restored when something goes wrong
  • Have (and renew) your SSL certificates so users can reach your app via HTTPS
  • Pro-actively use tools to keep hackers and bots out of your server and application
  • Monitor application uptime and handle outages by getting the site back up in a reasonable time

Given that the GDPR exists, ensuring your application and its data are secure is now a legal obligation for most applications. There is no excuse to do anything less than Proper Hosting.

Proper Maintenance: focus on long-term stability and growth

  • Pro-actively find and fix bugs, especially those that impact a lot of users or have impact on your profits
  • Improve automated test code coverage to improve reliability, maintainability and to speed up future development
  • Monitor application performance, improve it when needed and scale servers before you outgrow them due to organic growth
  • Keep the code libraries used by your application up-to-date to benefit from bug fixes and performance updates, and to make future development easier and cheaper

If you're not keeping up, you're lagging behind. This applies to your application's features in a competitive business landscape, but it also applies to the software and code libraries that your application was built on. Keeping everything up to date means you benefit from performance improvements and bug fixes, and developers can always get started with feature development when required rather than having to update your app first.

Incremental Improvement: time for the application to become better

  • Develop small new features for the application
  • Improve the code quality, to improve performance and/or maintainability
  • Improve documentation of the application to help long-term maintainability and onboarding new developers

Now we are getting somewhere! Once all previous things have been taken care of, it is time to start improving your application. While doing this, we follow the Boy Scout Rule: leave things in a better state than you found it. That means we try to improve the code we are working with, and its documentation, while we develop new features. The more work we do, the better the code becomes.

Active Development: make the app the best it can be

  • Develop major new features for the application

Only when your application is in good shape, does it become responsible to perform major feature development. At this point you're beyond a basic maintenance contract, so maybe it's time to talk about that.

The Plans

Our goals for these plans are for them to be honest, transparent and sustainable. This means that we determine our plan availability based on current and near-future developer workload. We don't over-sell and we don't under-deliver. We would rather say no to a new client (or rather, "maybe start with a smaller plan") than say yes and be unable to fulfill our obligations to current clients.

Our service comes with a monthly update report which accompanies each invoice. It will give you a short overview of what we did for your app during that month, such as feature development, security updates, bug fixes, server scaling, and making improvements to the code. As we get to know you and your app better, we will try to include some useful or interesting metrics to give you a bit more feeling for how your application is running.

Baseline Level of Service: what you always get

This is included as the baseline level of service for all of our clients. It is Proper Hosting with a little bit of maintenance.

  • Server hosting, backups and pro-active server scaling (small to medium workloads)
  • Pro-active security updates
  • Pro-active bug fixes
  • Uptime and performance monitoring
  • Outage handling and incident response during business hours
  • Monthly updates on how your application is doing

Proper Hosting

This plan is great for low demand apps that are stable, good quality and not under active development.

  • Baseline level of service is included
  • Just enough maintenance to keep your app up-to-date
  • No enhancements and feature development
  • Breakdown: 0% dev, 100% maintenance

€700 per month
Availability: good.

Proper Maintenance

This is great for small apps that need a little bit of love so they can slowly grow along with your business.

  • Baseline level of service is included
  • Enough maintenance to (slowly) make your app better over time
  • Small non-urgent enhancements and feature development (2 days per month)
  • Breakdown: 40% dev, 60% maintenance

€2,600 per month
Availability: good.

Incremental Improvement

This is great for apps that need regular improvements so they can keep up with the growth of your business.

  • Baseline level of service is included
  • More maintenance to make your app better over time
  • Small non-urgent enhancements and feature development (4 days per month)
  • Breakdown: 50% dev, 50% maintenance

€4,400 per month
Availability: we can handle a few more apps.

Made your choice? Good, contact us !

Need more?

When it is not mere maintenance you need, you are looking for an actual development team!

Get in touch and we will see what your needs are and how we can help you. It is likely that you will end up with one of the above plans to cover the basics, and an additional contract to cover major feature development. Whether this will be fixed fee or simply a monthly retainer depends on your needs and preferences.

Extras

Sometimes you have requirements that fall outside of our plans. Here are some common requests and their usual rates.

  • High workload server hosting. When your needs are larger or more complicated than a small to medium sized application requires, we can accommodate you. Just contact us and explain your needs, and we will help you find the best server setup.
  • Microservices. Let's talk and see how we can treat those as one or a few services instead of a lot of services. Good microservices tend to be smaller, better tested and easier to maintain. Bad microservices... well, we'll handle that when we encounter them.
  • 24/7 uptime monitoring & more than 99.9% uptime (instead of a fast response during business hours): contact us to make your case. 99% uptime is easy. 99.9% uptime usually happens without effort as wel. Going above this requires serious effort, which requires serious money. It is usually not worth it unless your app generates more than € 1,000,000 per year in revenue. Those kinds of apps require a dedicated development team, not simply a maintenance plan. Of course we can help you with this as well, but it will not be on a standard plan.
  • Urgent enhancements. €1,000/day. Yes, this is intentionally high in order to discourage them. On rare occasions you might have a real emergency, for which we are willing to drop everything and help you right now. A side effect of this is that it disrupts our planning, raises stress levels and is not good to do very often.
    Unfortunately a lot of "urgent" enhancement requests are the result of clients not properly planning or communicating their timeline with us, so they expect us to fix their problem. We hope that this high price tag encourages better planning, because nobody benefits from poor planning.

Onboarding

Before we can get started, we would prefer to have a quick (video/phone/skype) chat with you about your application, your business and how it all fits together. How important is the app, who are the primary users (is it mostly internal to the company or is it customer/user-facing?) and roughly how heavy is the usage? What plans and expectations do you have for the application? Do you want to keep adding features on a regular basis, or is the app mostly done and do you simply want to keep it up and running?

Next, once we decide that there's a fit and we can work together, we'll need to get access to the application's source code (preferrably with the code commit history of your previous developers for historic context), to your old servers (to observe how it was configured and make the transition smoother) and/or to an export of your database (as a last resort). Knowing about extra services that are used such as Redis, Memcached, Resque, Sidekiq or ElasticSearch would be helpful as well.

Really: the more information we can get, the better. If you have technical details to share or documentation of any kind, we'd love read this. If not, we'll have to rely on our experience and hints scattered in the code to figure out what your application was supposed to do. That might lead to a rocky start.

Based on the size of the database and your indicated volume of traffic we'll try to estimate how large the server needs to be to host your application. We can then proceed to set it up and get your application up and running.

If you own your own domain name and control your DNS Server, we can provide you with an IP address for the new server once that's setup. If you want us to handle DNS for you, we'll need to arrange for a transfer. If any of this is confusing, no worries: we'll help you.

Besides getting your application up and running on our server, we'd be curious if your application has automated test code of any sort. These are sort of a "proof" of how your application is supposed to work, which we need to rely on when errors or bugs occur and we want to fix them, or to check that we don't break your app when we perform updates or if you request changes in the future. An app without tests is a scary app to maintain.

For the entire onboarding experience we expect to spend at least a day. We'll take that from the (feature development) time budget of your first month so it won't cost you extra.

In summary, a checklist of things to prepare for onboarding:

  • Can you get us access to the source code of the app?
  • Can you get us access to your server(s) and/or databases?
  • How is your DNS or domain name setup? If you manage it yourself, great! If your previous developer did, then we'll need to transition this.
  • How are you using the application? Is it mostly for internal or external use? How many users are there? How much traffic goes through it? Rough estimates are fine.
  • Do you know if there are automated code tests?
  • Do you know which external services were used? Services to send e-mail, to host your images, etc.

As said before, it helps to get as much info as possible, but if you can't get all of it then don't worry too much either. We'll figure it out together.

We hope to talk to you soon!

Order Now

Please contact us to make an appointment. You can use this form, or email us using your email client or give us a call.

Het is heel behulpzaam om wat basis informatie te ontvangen over uw applicatie (naam, wat het doet) en indien mogelijk om informatie te krijgen over de grootte, zoals de hoeveelheid verkeer per maand, hoeveel verkopen er gedaan worden of het huidige aantal servers.

Beta Coöperatie U.A.
Stadsring 248-250
3811HS Amersfoort
Nederland
06-472 72 430
[email protected]
KvK 68772963
BTW NL857585496B01

Beta Coöperatie U.A. - Stadsring 248-250 - 3811HS Amersfoort - [email protected] - 06-472 72 430
KvK 68772963 - BTW NL857585496B01