Service Level Agreement
Python Production Environment (PyPE)
The University of Texas at Austin
Effective Date: 8/6/2009
Score
Overview
The Production Python Environment (PyPE) service consists of a set of tools and servers that enable the development and delivery of Python and Django applications in a centrally hosted environment. PyPE consists of desktop client development tools, documentation, project deployment and management tools, and execution environments for Python/Django applications.
Review Process
This document defines the practices that Information Technology Services (ITS) will use for the Python Production Environment (PyPE) service. The details of this document may be reviewed and amended as required, or at least annually, to accurately reflect business and service needs.
Time Conventions
Unless otherwise indicated, business hours are from 8 a.m. to 5 p.m., Monday through Friday, excluding holidays and reduced schedule days.
Scope
The following user communities at the university are the intended recipients for the Python Production Environment (PyPE) service: application developers, students, faculty, staff, and other university constituents.
As of July 2009, the PyPE Service does not support the following functionality:
- SSL access to Python/Django applications without EID logon (no nlogon support)
- The PyPE environment only supports applications built with the Django framework in Python. Other frameworks are not supported at this time.
Service Criticality
This service has been identified as Very Important , based on the ITS Critical Services Assessment Criteria. Please refer to the Critical Services Assessment Criteria for more information on the assessment methodology.
Service Description
PyPE features include:
- A set of desktop client tools to enable desktop Python/Django development and testing on local developer workstations. These tools consist of third-party installers for Python, Java and svn clients, and locally developed tools for installing Django, Python broker libraries, and Stunnel to secure connections from developer workstations to the broker server.
- A deployment server to manage and deploy Python/Django projects from UTForge to production and staging servers and to manage group authorizations for projects.
- Python/Django execution environments for TEST, QUAL, BETA, and PROD. The TEST environment is only available from hosts within the utexas.edu domain or off-campus hosts connecting via a VPN.
Supported Computing Environment
The PyPE client tools are supported on Windows XP, Windows Vista, Intel-based Macs running Mac OS 10.4 or higher, and Linux (RedHat 5 or Ubuntu 8.10). The PyPE Deployment Server is browser-based and supports Firefox, Safari, and Internet Explorer.
The Python/Django execution environment currently runs on the Solaris operating system on virtual servers that are part of the utdirect/dpdev1/beta.dp/qual.its cluster.
The PyPE Service depends upon many externally provided applications, frameworks, and libraries. As these externally provided tools release new versions, their development teams will discontinue support for older versions. This in turn will have an impact on the PyPE service. The PyPE administrators will make all attempts to notify the campus user community a minimum of nine months before discontinuing support for a version of the PyPE environment used at the university. In circumstances where support must be discontinued for a version because of security issues, nine months' notice of discontinued support may not be possible.
Given historical activity in the Python and Django communities, a default lifecycle of 18-24 months is anticipated for a supported PyPE version. The PyPE system supports multiple concurrent versions, and allows ready deployment of an application under different versions, to facilitate the safe transition of applications to an updated environment.
Technical Support
Tier 1 support for end users of Python/Django applications rests with the department publishing the application.
Tier 1 and Tier 2 Support
Client Tools
Tier 1 and Tier 2 support for the PyPE client tools, with the exception of the Stunnel software, is provided by ITS Applications via the pype-admins@utlists.utexas.edu list.
Tier 1 and Tier 2 support for Stunnel is provided by ITS Systems via the its-administrative-systems@austin.utexas.edu list.
Deployment Tools
Tier 1 and Tier 2 support for the PyPE deployment tools is provided by ITS Applications via the pype-admins@utlists.utexas.edu list.
Execution Environment
Tier 1 and Tier 2 support for the PyPE execution environments (utdirect/dpdev1/beta.dp/qual.its) is provided by ITS Applications via the pype-admins@utlists.utexas.edu list.
Special Support
Support for issues related to the operating system, storage, or network connectivity to the execution environments is provided by ITS Systems, but this will only occur through escalation from Tier 2.
Service Availability
This section provides information about the normal schedule of times when the service is available, the times specified for scheduled maintenance, and defines expectations for reporting service problems and changes.
Normal Service Availability
The PyPE system is designed to be available for customer use 24-hours-per-day, seven days-per-week, 365 days-per-year (24x7x365) excluding scheduled maintenance times.
Scheduled Maintenance
Scheduled maintenance for the Python Production Environment (PyPE) service is essential for upgrades and to maintain security, and may occur as needed.
Scheduled maintenance for the PyPE Deployment server is on the fourth Monday of each month from 7 - 8 a.m. This primarily effects the PyPE Deployment server, but some maintenance may have an impact on the execution and serving of Python and Django applications from utdirect.utexas.edu.
Problem Reporting and Change Notification
ITS will notify customers using the ITS Services Status page and the txedge@utlists.utexas.edu of service availability and service delivery issues for the Python Production Environment (PyPE). To the maximum extent possible, installation of service, application, and security updates will be performed during scheduled maintenance.
Key Service Indicators
List of Metrics/Measures
ITS will measure the performance of the PyPE service in the following ways:
- Availability of the PyPE Deployment Service. The PyPE service will have 99.5% availability excluding scheduled maintenance.
- Availability of the PyPE Execution environment. The PyPE execution servers will have 99.9% availability excluding scheduled maintenance.
- Response time for 90% of Web requests to the PyPe execution server will be < 1 second. The PyPe execution server should support up to 75 requests per second. It is important to note that response time is a factor of many variables including network traffic and load on other systems (mainframe and database servers). The sub-second response time is not intended to cover performance on all of these components.
- Incident response time will be based on the incident priority level as determined by a request's urgency and impact.
- Initial response to Critical Priority incidents will occur within 2 hours during business hours.
- Initial response to High Priority incidents will occur within 4 business hours.
- Initial response to Medium Priority incidents will occur within 8 business hours.
- Initial response to Low Priority incidents will occur within 16 business hours.
Incident priority will be determined based on a combination of urgency and impact.
Impact - Scope of request, visibility, and operational interference; in other words, what the damage will be if the work is not completed:
- Extensive/Widespread: Affecting campus-wide or beyond, interferes with core business functions, loss of mission-critical data, or with visibility outside the university; all available resources should be involved.
- Significant/Large: Affecting school or college-sized community; technicians should respond quickly, interrupting lower priority jobs if necessary.
- Moderate/Limited : Affecting department, workgroup or unit; standard operating procedures and within normal supervisory management structures.
- Minor/Localized: Affecting one or a few users; standard operating procedures and as resources allow.
Urgency - Criticality or timeliness required, or how quickly the work must be completed:
- Critical: Affecting a VIP; immediate action required to avoid significant consequence.
- High: Rapid response recommended, enough time remains to respond without loss of productivity.
- Medium: Event can be postponed temporarily without loss of productivity.
- Low: No scheduled completion time is required and normal work can continue until responding.
Dependencies
The PyPE Service depends on the mainframe, utdirect.utexas.edu, Netscaler, and the ESX Virtual Server infrastructure. The PyPE Deployment Server is dependent on the UTForge Service and the ITS MySQL services, each of which is covered by separate Service Level Agreements.
Service Report Card
ITS will publish performance for this service in the public ITS Services Report Card.
Other Party Responsibilities
In addition to the services provided by ITS, subscribers (users) of the service and identified owners/administrators agree to certain important responsibilities. All parties agree to be aware of and adhere to the university's Acceptable Use Policy.
Application Developer Responsibilities
Application developers are responsible for the following:
- Installing, configuring, and maintaining the client tools
- Reviewing and contributing to documentation and best practices for the use of the PyPE Service
- Providing Tier 1 support for end users of Python/Django applications
Departmental IT Support Staff
Where needed for desktop management practices, support staff in departments will be responsible for installing, configuring, and maintaining local development tools.
Cost of Service
The PyPE service is available at no additional charge to developers or departments.

