Python Production Environment (PyPE)
Python Production Environment (PyPE) provides an evolution in the development environment for applications written for UT Direct.
Applications on PyPE can access both mainframe and SQL databases, providing developers the flexibility of replacing legacy applications written in webAgent or creating new applications that do not rely on the mainframe.
Anyone with a UT EID can be granted access to work on projects. However, only users with a developer entitlement can create projects.
- Supported by a suite of training classes and self-guided documentation
- Web interface for managing access to code and deploying applications to UT Direct
- Access to TEST, QUAL, BETA, and PROD mainframe data environments
- Access to any external database, including ITS-hosted MySQL databases
- A supported bundle of Python libraries for quick setup of developer workstations
- Each project gets its own Subversion repository, wiki, and bug tracker through the UTForge service
Python Production Environment (PyPE) is provided at no charge to develop
- Availability of PyPE deployment service: 98.76%
- Availability of the PyPE execution environment: 98.76%
- Response time for 90% of Web requests to the PyPE execution server (<2s): 1.18s
- Trivial (static data) requests per minute for the PyPE execution server (>4500): 5,400
- Simple (page load) requests per minute for the PyPE execution server (>1000): 1,475
- Availability of the PyPE Batch execution environment: 98.62%
This document defines the service level agreement for Python Production Environment (PyPE).
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. Features include:
- A Developer VM with a pre-installed set of client tools to enable desktop Python/Django development and testing on local developer workstations. These tools include Python, Java and Subversion clients, 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.
Python Production Environment (PyPE) can be used by staff.
Supported computing environment
The PyPE Developer VM is supported on any platform supported by Oracle VirtualBox, Vagrant and a Subversion (SVN) client; that includes all reasonably current versions of Windows, MacOS X, Redhat Enterprise Linux, and Ubuntu, see the respective websites for details.
The PyPE Deployment Server is browser-based and supports Firefox, Safari, Chrome, and Internet Explorer.
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 eight (8) 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, eight months' notice of discontinued support may not be possible.
Given historical activity in the Python and Django communities, a lifecycle of 16 or 36 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.
Currently supported are
- 27.8.0 (April 2015 through March 2018)
- 27.9.0 (December 2015 through March 2017)
Support is anticipated for
- 27.10.0 (September 2016 through November 2017)
- 27.11.0 (April 2017 through March 2020)
Both Tier 1 and Tier 2 technical support is available during normal business hours. Routine requests are typically addressed within one business day.
Tier 1 and Tier 2
Tier 1 and Tier 2 support for the PyPE Developer VM, PyPE Deployment Service, and the PyPE Execution Environments (utdirect/dpdev1/beta.dp/qual.its) is provided by ITS Systems via the firstname.lastname@example.org list. Peer developer support can often be had via the email@example.com list.
Tier 1 and Tier 2 support for Stunnel is provided by ITS Systems via the firstname.lastname@example.org list.
Support for issues related to the operating system, storage, or network connectivity to the execution environments is provided by ITS Systems; issues must be escalated from Tier 2.
ITS will notify customers about both scheduled and unscheduled maintenance using the ITS Services Status page of service availability and service delivery issues. Services may not be available during the maintenance periods.
Scheduled OS maintenance for PROD and BETA environments occurs on the fourth Sunday of each month from 9 to 10 p.m., and on TEST and QUAL on the first Monday of each month from 3:30 to 5 p.m. PyPE tools updates are scheduled each week, 7 to 9 a.m. Thursday. Since May 2015, updates deployed to the TEST environment on a given Thursday are exercised for a week, then deployed to the QUAL, BETA, and PROD environments the following Thursday. Updates are made available as patches to the desktop developer VM no later than their application to the TEST environment, and usually earlier. To the maximum extent possible, installation of service, application, and security updates will be performed during scheduled maintenance.
Unscheduled maintenance tasks that require service downtime will be announced as soon as possible on the ITS Services Status page.
Change notification: ITS will notify customers using the ITS Services Status page and the email@example.com mailing list of service availability and service delivery issues for Python Production Environment (PyPE). Communications are documented in this SLA and reviewed as part of the SLA at least annually.
Subscribers (users) of the service and identified owners/administrators agree to be aware of and adhere to The Universityof Texas's Acceptable Use Policy.
Application Developers agree to be responsible for the following:
- Monitoring the firstname.lastname@example.org list for announcements
- Installing and configuring the developer VM.
- Updating the developer VM at least once per quarter to acquire the latest security and other patches, or immediately if advised that a critical patch update is available.
- 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.
- Migrating their applications to new versions of the PyPE environment as mandated by 3rd-party support expirations and informed by the PyPE Administrators
In addition to the items listed above, departmental IT support staff agrees to:
- Be responsible for installing, configuring, and maintaining any local development tools not supported by the PyPE Service and Toolkit.
- Application testing..