You might have heard of OaaS, the latest "as a service" offering. Just like PaaS (Platform as a Service) and IaaS (Infrastructure as a Service), Operations as a Service (or OaaS) is an attempt to improve the efficiency and bottom line of organisations around the world that run their own custom software.
In the past, if you want to run your own custom designed software, you have traditionally had two choices, Infrastructure as a Service (IaaS) or Platform as a Service (PaaS).
IaaS providers (such as Amazon, Rackspace and many others) provide you with building blocks of infrastructure that you can assemble however you want to meet your needs. These are very useful tools, but to put it together requires quite a great deal of specialised knowledge. The advantage you gain though is that you can tailor the final system to meet your exact requirements, if you have the time and skills required to do so.
PaaS providers (such as EngineYard, Heroku and Ninefold) provide you with opinionated solutions that adopt differing levels of "tweakability" to deploy your application online. These are exceptionally valuable for easy and pain free deployments of applications that have moderately complex requirements. Their cost benefit is that they don't cost a great deal to setup and a lot of the heavy lifting in creating the system stack has already been done.
Operations as a Service fits above both PaaS and IaaS systems, in fact OaaS could use one or many IaaS or PaaS providers as infrastructure.. A OaaS vendor will work with the client to learn all there is to know about the client system requirements and then control the entire deployment and implementation of that environment into a production system. The OaaS vendor would then also monitor and maintain the system, applying patches, security updates, checking backups and the like.
In short, OaaS is outsourcing your need to have competent systems administrators on your payroll.
Many companies have a developer whose "other job" is to keep the production environment live and operational. This is a good initial solution, but inevitably that developer will run out of time and resources to keep up to speed with the patches and work required to keep the system running. While they might be good at implementing an infrastructure solution for your company, if they are only doing it part time, then that solution will slowly corrode over time. We have taken over many systems that have been implemented by a developer as their other hat, and while these environments work and are stable, it is obvious that the developer has been pushed for time and had to take short cuts that make maintaining the system over time get more and more difficult.
Taking advantage of a OaaS offering then brings some obvious economies of scale.
A OaaS vendor will have many highly trained systems administrators on their team that can make informed and "best practice" decisions about how to design an infrastructure environment. Also, security patches that affect one customer will most likely apply to many other customers and all of them can be upgraded at the same time. A good example of this is the recent Heartbleed SSL problem, all of the OaaS clients that reInteractive looks after were patched and done (with minimal or no client intervention) within hours of the issue being made public.
A good OaaS implementation will include at a fixed monthly price, the following:
- Urgent application level security patch updates
- Urgent dependent library security patch updates
- Applying urgent operating system patches
- It's down support to get things running
- Scaling of the environment.
- Creating test and staging environments on demand
- Checking backups
So, with that, does your company need OaaS? Well, like all business decisions, it depends. If you have an application that is generating income for your company, and you have no one whose paid job it is to maintain that application, then OaaS could definitely be a wise choice.
Understanding the 12-Factor App Methodology
The Axioms of Software Development - Part 10
Understanding User Flows in UX (User Experience) Design
reinteractive is Australia’s largest dedicated Ruby on Rails development company. We don’t cut corners and we know what we are doing.
We are an organisation made up of amazing individuals and we take pride in our team. We are 100% remote work enabling us to choose the best talent no matter which part of the country they live in. reinteractive is dedicated to making it a great place for any developer to work.
Webinars are our online portal for tips, tricks and lessons learned in everything we do. Make the most of this free resource to help you become a better developer.
The Ruby on Rails Installfest includes a full setup of your development environment and step-by-step instructions on how to build your first app hosted on Heroku. Over 1,800 attendees to date and counting.
The Ruby on Rails Development Hub is a monthly event where you will get the chance to spend time with our team and others in the community to improve and hone your Ruby on Rails skills.