Configuration as Code

Configuration as Code is about managing code resources, configuration of operating systems, and resources as versioned artifacts. By managing the application environment with the application code, gives Seagen the benefits of recovers, testing frameworks, and deliverability.

It is the formal migration of configuration between environments using version control.

CaC Solves Real Problems

In the world of computing, is an important aspect of managing environment. Specifically, CaC is used to manage the deployment of bare metal server farms, network infrastructure, Linux distributions, and file management tools today. As we activate and install the enterprise license, we will see the benefits of the support that comes with Red Hat infrastructure. Not only is the code under management but also the configuration of various environments and systems.

Seagen will continue to use Ansible to deploy infrastructure to its on-premises and Lab environments. We gain the benefit of putting our lab systems under configuration. This is valuable because it will save time when a system needs to be reinstalled. Many times vendors are engaged to restore a solution or upgrade a lab system. With CaC, Seagen will be able to snapshot the configuration of the lab system(s), create a registry of configurations and locations and be able to restore that configuration if something changes. At the same time, they will be able to create a new image of the lab system with an upgraded version without breaking the existing environment.

Manage any Configuration

Ansible provides us the ability to manage virtually any configuration from servers, to stores, to labs, to network gear. As we proceed with the installation and activation of Ansible Tower, we will work with the infrastructure, network, and Linux support teams to migrate their code and configuration to that enterprise environment. We will then work with the ATLAS team to put their lab enviornments under configuration.

Inconsistencies occur when we don’t manage the configuration. Also, costly vendor relationships occur when someone or something inadvertently changes a configuration. In many cases this requires the team to contact vendor support which is costly and can take weeks or even months to reconfigure.

Manage On-Premises - OS - Lab Distributions and Configuration

As stated, we will use Ansible Tower to manage our on-premises deployment of infrastructure, network gear, and lab systems. This implementation will leverage built-in features of Ansible Tower.

  1. Automation Dashboard - Observability of everything configured in Ansible

  2. Delegation and Self-Service - Uses existing AAD resources and provides push-button deployments using question and answer configuration and automatic scheduling

  3. Scale-out Clustering - By connecting multiple Tower nodes, we can add redundancy and capacity to our automation.

  4. Role-Based Access Control - RBAC is setup to manage access and authorization

  5. Automation Workflows - We will model our processes for deployment and application of configuration using the workflows.

  6. Auditing and Logging - All automation is securely logged and stored, using a full audit trail.

  7. Inventory Management - Using inventory management, Seagen has a single pane of class to the systems, OS, and environments under configuration control.

  8. REST API Integration - Using the REST API will allow Seagen to automate via pipeline the use, management, and scheduling of Ansible.

Vision

We will stand up Ansible Tower in Azure and help migrate existing users to that version. We will also request that the existing users deactivate their versions of Ansible so we can be in compliance.

We will also do the following;

  1. Train the lab teams how to create configuration and connect to the Lab systems

  2. Train IT infrastructure teams how to use Ansible Tower

References

AnsibleTower