It is very important for those involved in the operation of a flight to understand which portion of the flight they are responsible for, as well as within what parameters they need to operate. Pilots must maintain the altitude and headings assigned to them within specified limits. The controllers must keep aircraft separated from each other by pre-defined distances in 3 dimensions. This system works well, because it allows personnel to perform the assigned roles and manage their portion of the operation, ensuring flights to operate smoothly with no surprise or accident.
Cloud computing has similar challenges but lacks the default set of rules established for aviation. Therefore, it is up to you and your service provider to define the division of labor (who’s responsible for what) and the acceptable operating parameters (metrics) that ensure the services in the cloud to meet the established business requirements. This is accomplished through a Service Level Agreement (SLA).
Who’s responsible for what?
In the cloud, the computing resources are virtual, while the responsibilities for keeping the system available to users are real. As I described in my last blog, there are 3 commonly accepted levels in the cloud, Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). As you move from Iaas to PaaS to SaaS, you transfer more control and responsibility from your organization to your service provider. As a part of the design process moving your computing requirements to the cloud, the responsibilities between you and your service provider must be clearly defined. The SLA must identify specific areas of responsibility, along with the assigned party responsible for each. Defining clear lines will minimize things falling through the cracks and eliminate duplicated efforts.
That’s not acceptable, is it?
When assigned an altitude, a pilot knows how far he can deviate from it and be confident that his aircraft will be safe. Likewise, you and your provider must know what the acceptable operating parameter ranges are. Acceptable performance of a system without metrics is a subjective (and many times personal) entity. What one user finds to be intolerable, another user may find it acceptable. Defining objective measurements to identify target performance will benefit both you and your service provider. It will help ensure that you are getting what you agreed to pay for. Though this seems very straight forward, the devil is in the details.
Virtual cloud, Real agreement
A Service Level Agreement (SLA) documents the agreements between you and your service provider. It will answer questions such as “What is provided?”, “Who is responsible?” and “What is the acceptable system performance?” Though detail is important, don’t let this drive to document every minute detail stall the project. A SLA addresses those situations with moderate-to-high probability that each scenario may occur.
Expect and manage change
As with most computer systems whose requirements and functions evolve over time, the SLA for that system needs to be continually modified as well. Therefore, the SLA should include a process for identifying, managing and implementing changes. These changes may include the basic services provided, responsibilities, acceptance metrics and even the change process itself.