Skip to content

Deploying AWS Infrastructure with Terraform

Challenge: Managing Infrastructure

A newly-formed startup was operating with very tight constraints: aggressive timelines, conservative budgets, and a small team of specialists focused on developing the company’s core technologies. They specialized in commercializing epigenetic testing services and technology for the life insurance industry. Their research operations were quickly outgrowing the various manual processes they had initially adopted, most of which relied on local infrastructure. The company needed to migrate to new, cloud-based solutions that were capable of providing a framework for robust automation, such as an AWS infrastructure. This framework would also need to be able to efficiently scale with changes in daily workloads.

Managing infrastructure is often divided into separate responsibilities for multiple, full-time employees; Solutions Architect, Delivery Engineer, and DevOps Engineer are some common roles. They each handle distinct phases of a system’s lifecycle and are required to coordinate their efforts to create, deploy, and maintain the resources that host the business’ various tools and applications.

Like most small businesses, the bioscience company could not afford the costs or time associated with hiring these various positions. They needed a solution for provisioning and maintaining the underlying infrastructure that could run their suite of tools but would not require an entire IT department. Additionally, since they were still in the initial stages of product development, this solution would need to easily adapt to the inevitable changes in the process. Finally, the solution had to provide a system of record and accountability; changes in infrastructure would need to be approved and then logged as updates were applied.

Products & Services Used:

  • AWS Infrastructure
  • Terraform
  • DevOps
  • Cloud Strategy/Services

Industries:

  • Finance/Insurance
  • Healthcare
  • Software & Services

Solution: AWS Infrastructure

IntelliTect used its extensive experience with Amazon Web Services (AWS) to build a robust platform capable of servicing the unique needs of the company’s various workflows. AWS was determined to be the ideal cloud provider for several reasons. Specifically, they:

  • Provide rich tooling, integrations, and ubiquitous language support.
  • Offer multiple, complementary solutions that satisfy various levels of control and are easily substituted as requirements change.
  • Have unique big-data solutions that were ideal for the size, shape, and contents of the data to be processed and analyzed (S3, Athena, Redshift).
  • Support multiple security services and compliance programs that enable architecting secure systems capable of handling sensitive information.
  • Had a proven reputation in the industry, building confidence that a successful solution was achievable.

IntelliTect also leveraged Terraform to define, provision, and track all the resources that would encompass the deployed AWS infrastructure. Terraform is a tool that uses configuration files to define the characteristics of, and relationships between, deployed resources. It also keeps a separate record of the environment’s ‘state,’ maintaining a versioned snapshot of the configured resources which can be used to correct drift or detect out-of-process modifications.

Configuration files lived in source control, providing versioning and traceability with each change. They also followed the same development lifecycle as traditional application code. Updates to environments went through a formal code-review process. As a result of this process, a reviewer could see an execution plan of specific actions that would be taken if the proposed changes were applied. Once approved, the updates could be automatically provisioned by the build server.

Results: A Complete Data Processing Pipeline

IntelliTect deployed a minimal set of resources capable of processing datasets within weeks of starting the project. Less than two months later, IntelliTect delivered a complete data processing pipeline and system for efficiently managing the underlying resources.

One of the key benefits of building infrastructure using Terraform manifested itself during the project hand-off phase: the ease and speed of knowledge transfer. The entirety of the environment’s architecture was defined in code and stored in source control.

As a result, the teams could efficiently review each resource’s configuration and its role in the overall topography. The client now had one well-documented location to reference. There was no need to traverse the AWS console or CLI in search of information still unfamiliar to them.

The bioscience company regained focus on research and product development by utilizing their new cloud-based environments. They also avoided prematurely augmenting staffing to develop and maintain a wide array of infrastructure that could be readily deployed and easily modified.

Want More Information on AWS Infrastructure?

To learn how IntelliTect can simplify your transition to the cloud, check out our blog.