Child pages
  • Emory IT Architecture DevOps
Skip to end of metadata
Go to start of metadata

Background

Emory IT Architecture their preferred web, mobile, and cloud application development vendors have implemented mature DevOps practices with Atlassian Bitbucket and Pipelines to automate build, test, package, deploy, and promote for over 70 software development projects in the following 8 major categories:

  1. Web Applications and Mobile Web Applications
  2. Automated Test Suites for Web Applications
  3. Web Services
  4. Cloud Infrastructure as Code
  5. Docker Base Images to Support Pipelines and Deployments
  6. Native Android Apps
  7. Native iOS Apps
  8. Pipeline Scripts, Utilities, and Test Libraries

Emory IT Architecture has specific patterns and foundation components for each of these classes of application and the team strives to achieve consistency and conformity to our standards with project and repository templates, pipeline templates, team design session, team work sessions, and team code reviews. These practices result in a high degree of consistency within classes of applications and allows the same DevOps practices and utilities to be used effectively across many projects of the same type.

Prior to adopting Atlassian Bitbucket and Pipelines IT Architecture used Subversion as a source code repository along with central software build and packaging server automated with a library of build and test scripts and utilities. In 2015 we began looking at Git, GitHub, Jenkins and other CI/CD tools in collaboration with other Emory IT units, but progress toward a common solution and set of tools was slow and consensus was hard to find. Emory Information Security discouraged the use of GitHub, because GitHub would not respond to our security questionnaires, so most of Emory IT decided they wanted to implement Git on premises and then adopt some CI/CD like Jenkins they would implement and run on premises. IT Architecture was looking to move beyond issues with managing on-premises infrastructure and use a completely cloud-based solution. Our primary features we wanted were:

  1. Git or Git interface to version control
  2. Cloud-based solution with existing and expanding hooks into other cloud platforms and tools, including many example pipelines with deployments and integration with other cloud platforms and tools
  3. Solution Emory didn't have to run that would scale to meet our build, package, and deploy compute needs. Emory had challenges in the past running similar infrastructure on premises and there should be no reason to do that at present given the level of maturity of cloud providers
  4. Solution that could work with or without Emory Login (SAML 2) authentication. We have many external facing project and many projects that are staffed with consultants and only a few Emory people. We wanted the ability take or leave Emory authentication
  5. A cloud service that would respond to Emory's security questionnaire or standard security questionnaires

In 2017, Emory IT Architecture implemented a trial with Bitbucket and Pipelines and met with rapid success for several classes of applications. After six months by late 2017 we had migrated or initiated over 50 software development projects in Bitbucket and decided to commit to Bitbucket for our future work. Given the nature of our close partnership with preferred software development vendors, adoption of Bitbucket and Pipelines has accelerated our on-boarding and increased productivity, because nearly all of our consultants are already familiar with Bitbucket.

Demonstrations

IDTitleDescriptionLink
1IT Architecture DevOps 1This demonstration covers DevOps practices for cloud infrastructure (CloudFormation templates and service control policies), web apps, and web serviceshttps://s3.amazonaws.com/emory-it-arch-demos/DevOps1.mp4


Classes of Applications

Web Applications and Mobile Web Applications

Automated Test Suites for Web Applications

Web Services

Cloud Infrastructure as Code

Docker Base Images to Support Pipelines and Deployments

Native Android Apps

Native iOS Apps

Pipeline Scrips, Utilities, and Test Libraries

Repositories & Pipelines

IDNameLinkNotes











  • No labels