Skip to main content
Penn Information Systems & Computing Systems Home

Search form

Getting system status
  • Get Started
    • IT Staff
    • Faculty
    • Staff
    • Students
    • Alumni & Guests
    • ISC Staff
  • Services
    • — Services A to Z —
    • Accounts, Access & Security
      • Access Management Services
      • Active Directory
      • Identity Management Services
      • Information Security Services
    • Applications & Data Analytics
      • Application Development & Delivery
      • Data Analytics
        • Data Analytics at Penn
      • Integration Development & Delivery
    • Backup, Storage & Platforms
      • BackItUp
      • Cloud Solutions
      • Data Center & Colocation Solutions
      • Database & Application Platform Support & Consulting
      • Endpoint Management
      • Recovery Solutions
      • Storage
      • Virtual Desktop
      • Virtual Server Hosting
    • Community, Support & Learning
      • Classroom Technology Services
      • Desktop Engineering
      • IT Community Events
      • LinkedIn Learning
      • Tech Center
    • Consulting & Professional Services
      • Brokered Products
      • HireIT
      • Systems Support & Consulting
      • Technology Forecasting
    • Email, Calendaring & Collaboration
      • Classlists
      • Penn Email Routing
      • PennBox
      • PennNet Mailing Lists
      • PennO365
      • PennZoom
      • SMTP-Relay
      • Secure Share
    • Networks & Connectivity
      • Firewall Services
      • Network Design & Installation
      • PennNet
        • Network Names & Numbers
        • MAGPI (Penn's Internet2 Regional Optical Network)
      • PennNet Ethernet Ports
      • Wireless at Penn
    • Phone, TV & Video
      • Contact Center
      • Live Video Streaming
      • Penn Video Network
      • PennFlex Phone
      • Traditional Telephony
      • Video Content Management
      • Video Production
        • Producing Video Content
    • Web Hosting
      • Web Hosting Service
    • — Service Rates —
    • — Service Level Agreements —
  • Security
    • Office of Information Security
    • Security Services
    • Special Projects
    • Policies & Procedures
    • Training & Awareness
    • Penn SecureIT program
  • Collaborations
    • Computing Policies
    • Engaging Penn’s IT Community
    • Identity & Access Management
    • Penn IT Strategic Plan
    • Cloud First
    • Next Generation Unified Communications
    • Penn Bot
    • IT Advisory Groups
      • Common Solutions
      • IT Roundtable
      • Network Policy Committee
      • Penn Technology Investment Committee (PTIC)
        • About PTIC
        • The PTIC IT Development Fund
    • Special Interest Groups (SIGs)
      • Audio-Visual (AV-SIG)
      • Cloud Computing (Cloud-SIG)
      • Data Visualization (DataViz-SIG)
      • Developer SIG (Dev-SIG)
      • High-Performance Computing (HPC-SIG)
      • Instructional Technology SIG
      • Linux SIG
      • Macintosh Networking Group (MacNet)
      • Mobile Technologies (Mobile-SIG)
      • O365 Special Interest Group
      • PC Networking Group (PC-Net)
      • Project Partners SIG
      • Security SIG
      • Social Media SIG
      • Splunk Special Interest Group
      • Super User Group (SUG)
      • Web SIG
    • Technology Services Strategy Review Board
  • News
  • About
  • Hot Topics
  • Get IT Help

You are here

Home » Cloud Automation Pipeline

Cloud Automation Pipeline

The following three workflows show how ISC's cloud automation pipeline builds each of the following components. Expand a section below for additional information.

Build Underlying Cluster

Inputs

Parameters

  • Clustername: All one word, no spaces or special characters
  • Volumesize: ECS Container Host Volume Size in GB

Options

  • Environment: Where should the cluster be built?
  • ClusterSize: Default size at launch
  • ClusterMinSize
  • ClusterMaxSize
  • Provisionci: Run ECS_cluster_update_seed_v2?
  • Awsaccountnumber: Use TS or Apps AWS Account

Actions

  • Binding to AWS service account
  • Append/length check $clustername
  • Set environment specific params
  • Create propertiesfile.txt
  • Run cloudformation create-stack 

Outputs

  • Propertiesfile.txt ** appnameenv ** PrivSubnet1param 
    • PrivSubnet2param 
    • PrivSubnet3param 
    • PrivSubnet4param 
    • VPCparam 
  • Predefined parameters 
    • Clustername 
    • Volumesize 
    • Environment 
    • ClusterSize 
    • ClusterMinSize 
    • ClusterMaxSize 
    • Provisionci 
  • Cluster.yaml config/resource file (link)
Deploy Application

Inputs

Parameters

  • Appname
  • Clustername
  • Path_with_namespace
  • Image: Image location
  • CPU
  • Memory: In MB
  • Bucketname

Options

  • Environment
  • Provisiondb: Run ECS_provision_app_db_v2?
  • Provisioncname: Run ECS_cname_create_delete?
  • Provisionci: Run ECS_CI_seed?
  • Awsaccountnumber: TS or Apps AWS account

 

 

Actions

  • Sets container environment variables (currently can only use default Docker values)
  • Binding to AWS service account
    • Uses specific KEY_ID in Jenkins based on the awsacctnumber provided
  • Sets vpc_prefix based on awsaccountnumber option
  • Sanity check parameters
  • Set environmentshortname
  • Generate value for gitwebhooktoken
  • Create propertiesfile.txt (parameters for ECS_CI_seed_v2)
  • Append -cluster to $clustername variable
  • Verify $clustername exists
  • Set environment-specific parameters
  • Run cloudformation create-stack, passing relevant parameters for stack creation

Outputs

Propertiesfile.txt

  • Environmentshortname
  • Appnameenv
  • PubSubnet#param
  • VPCparam
  • Clustername
  • Imageparam
Provision Database

Inputs

Parameters

  • Appname: Name of DB instance

Options

  • Environment
  • Allocated_storage: Allocation for DB storage in GB
  • Provisiondbinst: If false, job will immediately stop (unused)
  • MultiAvailabilityZone: Should DB be accessible across AWS zones?
  • ConfigureDns: Configure a Route 53 DNS Alias? (no sanity check for existing records)
  • SetupAlarms: Alert when instance is under certain amount of stress?
  • DatabaseInstanceClass: Choose size to allocate for DB instance
  • Awsaccountnumber: Use TS or Apps AWS account

Actions

  • Sets environmentshortname from environment
  • Based on awsaccountnumber, sets R53HostedZoneName to an appropriate URL
  • Sets config, VPC, subnet variables from environment
  • Creates instance in CF from given options and variables (determined via environment)
    • This is a database instance that individual databases can be built inside (such as those created in provision_app_db)

Outputs

  • CF stack for database instance with specified provisioned resources
  • Individual DBs built on top of this provisioned instance

Downstream/Created Jobs

  • None, but builds CF framework for databases created via ECS_provision_app_db

Visit ISC on LinkedIn

Print
Cloud Home
Updates & Presentations
  • Archive
Cloud Resources
  • Overview of Resources
  • Planning & Strategies
  • Technical Resources
  • Self-Directed Learning
  • Peer Institutions
  • Reference
Cloud at Penn
  • Why Cloud?
Application Design & Tools
  • Cloud Development Architecture Roadmap
  • Cloud AD Categories
  • Cloud AD Tools & Technologies
Architecture & Infrastructure
  • Cloud Infrastructure Overview
  • Cloud Infrastructure Tools
  • Cloud Providers
  • Cloud Automation Pipeline
  • Computing Policies
  • Tech Jobs @ Penn

© 2025 THE UNIVERSITY OF PENNSYLVANIA — 3401 Walnut Street, Philadelphia, PA 19104 — Report accessibility issues and get help — For ISC Staff