Webinar Infrastructure as code (IaC), the concept of provisioning, configuring and managing infrastructure in the same way developers treat code, is a key facet of DevOps.
By using a combination of tools, languages, protocols and processes, writes Tomas Fernandez for StackPath, IaC can ‘safely create and configure infrastructure elements in seconds.’ These include, but are not limited to, efficiency and flexibility. Both heavily involve automation; firstly eliminating manual processes through a continuous integration and delivery (CI/CD) pipeline, and secondly through code language flexibility, be it imperative or declarative programming languages.
Every company’s infrastructure stack is different of course, but take this example from SourceFuse on how they used infrastructure as code on Amazon Web Services (AWS) to help scale a startup. The company migrated the customer, a SaaS provider, into an auto-scalable, multi-server cloud infrastructure.
Among the AWS products which were used, alongside the standard EC2, S2 and virtual private cloud, was its native IaC product, CloudFormation. The latter was used in parallel with Terraform, for automation of infrastructure creation and environment rollout on multiple cloud providers.
“The strength of Amazon’s IaC offering is that it has such tight integration with all the other AWS services that almost anything can be done with scripts using CloudFormation,” the company noted.
The benefits of such an approach included consistent application performance, increased standardisation of rollouts, and improved productivity to fully reap the benefits of a DevOps culture.
While this sounds great on paper, there are other factors which need to be considered. Companies who may already have been wary of the significant change required to adopt DevOps methodologies will recognise them.
Complexity can be an issue. As a TechTarget article from Emily Mell explains, IaC ‘is highly malleable, so its general construction will be custom to the developer or IT pro who writes it.’ This specificity can ‘easily create knowledge vacuums in IT organisations.’
Elsewhere, server sprawl, a challenge already commonly associated with dynamic infrastructure and cloud-based management and security, can be noted. As a Gridscale.io article puts it: “If administrators change server configurations without adapting the IaC code at the same time, configuration changes may spread throughout the data centre.”
With this in mind, SourceFuse notes that its migration process onto AWS adheres to its security best practices and the AWS Well-Architected Framework. “It is therefore important to fully integrate IaC into system administration, IT operations and DevOps processes with well-documented policies and procedures,” Gridscale adds.
Not only does AWS have its native IaC offering, but there are also various tools available in its digital software catalogue, AWS Marketplace, to help ease any pain points. One such example is Quali CloudShell Colony, which is a SaaS platform delivering infrastructure automation at scale for complex application-centric environments on cloud technologies.
It is worth knowing and understanding these potential roadblocks before getting carried away with the idea of building and deploying features and apps to users better and more quickly than your competition. AWS, alongside the DevOps Institute, is hosting a webinar on November 17 at 1100 PT / 1400 ET which will help get a grip on how to enable development and QA teams with automated, self-service and compliant environments across the pipeline to speed up application development and delivery.
Find out more about this webinar and register your place by visiting here. Even if you cannot make the session on the day, you can still sign up and listen to the recording on-demand.