{"id":6849,"date":"2020-10-20T12:43:03","date_gmt":"2020-10-20T10:43:03","guid":{"rendered":"https:\/\/www.synthesis.co.za\/?p=6849"},"modified":"2020-10-20T12:43:03","modified_gmt":"2020-10-20T10:43:03","slug":"achieving-operational-excellence-with-terraform","status":"publish","type":"post","link":"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/","title":{"rendered":"Achieving Operational Excellence with Terraform"},"content":{"rendered":"<p><strong>20 October 2020<\/strong><\/p>\n<p><em>By: Jared Naude, Cloud Architect &#8211; Synthesis Software Technologies\u00a0<\/em><\/p>\n<p><span data-contrast=\"auto\">As companies go to cloud, they\u00a0<\/span><span data-contrast=\"auto\">must<\/span><span data-contrast=\"auto\">\u00a0adopt a new operating model to effectively\u00a0<\/span><span data-contrast=\"auto\">build and run their environment<\/span><span data-contrast=\"auto\">.\u00a0<\/span><span data-contrast=\"auto\">In this blog post, which is the first part of a\u00a0<\/span><span data-contrast=\"auto\">two<\/span><span data-contrast=\"auto\">-part series,\u00a0<\/span><span data-contrast=\"auto\">we\u00a0<\/span><span data-contrast=\"auto\">will explore a few key aspects\u00a0<\/span><span data-contrast=\"auto\">of\u00a0<\/span><span data-contrast=\"auto\">unlocking the cloud operating model and achieving operational excellence during the cloud journey.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">In the era of rapid technological change, the cloud is key for future-proofing businesses and maintaining a competitive edge. Businesses that\u00a0<\/span><span data-contrast=\"auto\">are migrating<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">their applications and infrastructure into the cloud can benefit from the latest technology and<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">move<\/span><span data-contrast=\"auto\">\u00a0away from their aging on-premises infrastructure, putting them at the forefront of innovation.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><span class=\"TextRun SCXW215937463 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW215937463 BCX0\" data-ccp-parastyle=\"heading 1\">The Cloud Journey<\/span><\/span><span class=\"TextRun SCXW215937463 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW215937463 BCX0\" data-ccp-parastyle=\"heading 1\">\u00a0and Cloud Operating Model<\/span><\/span><\/h2>\n<p><span data-contrast=\"auto\">The question facing enterprises today is not should we go to cloud but how do we go to cloud?\u00a0<\/span><span data-contrast=\"auto\">As Africa\u2019s first AWS Advanced Consulting partner, we know that the journey to the cloud is not always easy.\u00a0<\/span><span data-contrast=\"auto\">Organi<\/span><span data-contrast=\"auto\">z<\/span><span data-contrast=\"auto\">ations<\/span><span data-contrast=\"auto\">\u00a0may experience uneasiness during the journey especially the fear of the unknown and the large number of decisions that they need to make.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">It is\u00a0<\/span><span data-contrast=\"auto\">critical that an operating model is formed as organi<\/span><span data-contrast=\"auto\">z<\/span><span data-contrast=\"auto\">ations go through this journey. It may be tempting to take existing on-premises procedures and\u00a0<\/span><span data-contrast=\"auto\">processes into the cloud. However, doing so will lead to failure as the cloud is significantly different from\u00a0<\/span><span data-contrast=\"auto\">on-premise<\/span><span data-contrast=\"auto\">s<\/span><span data-contrast=\"auto\">\u00a0infrastructure. Some of the\u00a0<\/span><span data-contrast=\"auto\">main\u00a0<\/span><span data-contrast=\"auto\">drivers to adopt cloud technology include\u00a0<\/span><span data-contrast=\"auto\">minimizing<\/span><span data-contrast=\"auto\">\u00a0operational costs, workforce productivity, cost avoidance, operational resilience, and business agility. By not re-examining the operating model, organi<\/span><span data-contrast=\"auto\">z<\/span><span data-contrast=\"auto\">ations will not unlock the true benefits of cloud.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Organi<\/span><span data-contrast=\"auto\">z<\/span><span data-contrast=\"auto\">ations must consider what new techniques and processes can be put in place to help with the provisioning, securing, connecting and management of cloud environments. One of these techniques is the adoption of\u00a0<\/span><span data-contrast=\"auto\">DevOps\u00a0<\/span><span data-contrast=\"auto\">in the organi<\/span><span data-contrast=\"auto\">z<\/span><span data-contrast=\"auto\">ation, it enables applications to be delivered faster while ensuring quality control and minimi<\/span><span data-contrast=\"auto\">z<\/span><span data-contrast=\"auto\">ing operational overhead.<\/span><span data-contrast=\"auto\">\u00a0To maximize efficiency and to ensure that cloud practices are adopted, organi<\/span><span data-contrast=\"auto\">z<\/span><span data-contrast=\"auto\">ations need to create a virtual highway for teams to get to the cloud, this includes onboarding material, clear governance processes and technical enablement which may consist of both appropriate tooling and training.\u00a0<\/span><\/p>\n<h2><span class=\"TextRun SCXW71024920 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW71024920 BCX0\" data-ccp-parastyle=\"heading 1\">Provisioning<\/span><\/span><span class=\"TextRun SCXW71024920 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW71024920 BCX0\" data-ccp-parastyle=\"heading 1\">\u00a0\u2013\u00a0<\/span><\/span><span class=\"TextRun SCXW71024920 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW71024920 BCX0\" data-ccp-parastyle=\"heading 1\">Reproducible\u00a0<\/span><\/span><span class=\"TextRun SCXW71024920 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW71024920 BCX0\" data-ccp-parastyle=\"heading 1\">Infrastructure as Code<\/span><\/span><span class=\"EOP SCXW71024920 BCX0\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">T<\/span><span data-contrast=\"auto\">he first key challenges organi<\/span><span data-contrast=\"auto\">z<\/span><span data-contrast=\"auto\">ations must address is how infrastructure will be provisioned and managed.\u00a0<\/span><span data-contrast=\"auto\">In today<\/span><span data-contrast=\"auto\">&#8216;<\/span><span data-contrast=\"auto\">s\u00a0<\/span><span data-contrast=\"auto\">on-premise<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">environments, infrastructure is manually\u00a0<\/span><span data-contrast=\"auto\">setup\u00a0<\/span><span data-contrast=\"auto\">which<\/span><span data-contrast=\"auto\">\u00a0relies on a\u00a0<\/span><span data-contrast=\"auto\">ticketing and queuing system<\/span><span data-contrast=\"auto\">\u00a0that can often attract lengthy delays<\/span><span data-contrast=\"auto\">. Using this workflow, no quality control exists, and it is not possible to reproduce infrastructure configuration to enable debugging or testing before rolling out configurations to production.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The adoption of\u00a0<\/span><span data-contrast=\"auto\">Infrastructure as\u00a0<\/span><span data-contrast=\"auto\">C<\/span><span data-contrast=\"auto\">ode<\/span><span data-contrast=\"auto\">\u00a0in the organi<\/span><span data-contrast=\"auto\">z<\/span><span data-contrast=\"auto\">ation<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">is essential to address this challenge. Infrastructure as Code\u00a0<\/span><span data-contrast=\"auto\">is the\u00a0<\/span><span data-contrast=\"auto\">practice of using code to describe infrastructure and services along with their respective configurations<\/span><span data-contrast=\"auto\">,<\/span><span data-contrast=\"auto\">\u00a0which is\u00a0<\/span><span data-contrast=\"auto\">both\u00a0<\/span><span data-contrast=\"auto\">human readable and machine consumable.\u00a0<\/span><span data-contrast=\"auto\">Our recommended tool for this problem is\u00a0<\/span><span data-contrast=\"auto\">HashiCorp<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">Terraform<\/span><span data-contrast=\"auto\">.\u00a0<\/span><span data-contrast=\"auto\">You describe the infrastructure and configuration that you want and\u00a0<\/span><span data-contrast=\"auto\">Terraform will determine the order of the steps that need to be applied.<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">The desired state is expressed in a simple human readable language, after which Terraform can determine the sequence in which the infrastructure needs to be created.<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">We love Terraform for its simplicity and how easy it is to learn and use, in addition to the fact that Terraform supports<\/span><span data-contrast=\"auto\">\u00a0over\u00a0<\/span><span data-contrast=\"auto\">200\u00a0<\/span><span data-contrast=\"auto\">providers including<\/span><span data-contrast=\"auto\">\u00a0hardware, PaaS, IaaS and SaaS<\/span><span data-contrast=\"auto\">\u00a0services.\u00a0<\/span><span data-contrast=\"auto\">This means that Terraform\u00a0<\/span><span data-contrast=\"auto\">can provision to more than just the cloud.\u00a0<\/span><span data-contrast=\"auto\">It can<\/span><span data-contrast=\"auto\">\u00a0provision and configure\u00a0<\/span><span data-contrast=\"auto\">on-premise<\/span><span data-contrast=\"auto\">\u00a0tools like VMWare, Venafi and\u00a0<\/span><span data-contrast=\"auto\">InfoBlox<\/span><span data-contrast=\"auto\">\u00a0as well as network security appliances like F5,\u00a0<\/span><span data-contrast=\"auto\">FortiOS<\/span><span data-contrast=\"auto\">, Cisco, Palo Alto and Check Point devices.\u00a0<\/span><span data-contrast=\"auto\">This extensible provider support allows complex infrastructure to be setup from a single Terraform run.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Incorporating\u00a0<\/span><span data-contrast=\"auto\">I<\/span><span data-contrast=\"auto\">nfrastructure as\u00a0<\/span><span data-contrast=\"auto\">C<\/span><span data-contrast=\"auto\">ode into the development lifecycle means that tried and tested software engineering processes can be adopted. This includes managing source code in version control and using branching strategies to allow for locali<\/span><span data-contrast=\"auto\">z<\/span><span data-contrast=\"auto\">ed testing before pushing configuration to a production environment.<\/span><span data-contrast=\"auto\">\u00a0Using pull requests before merging code can allow teams to review changes\u00a0<\/span><span data-contrast=\"auto\">before<\/span><span data-contrast=\"auto\">\u00a0they are<\/span><span data-contrast=\"auto\">\u00a0committed to upstream branches.<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">The configuration of infrastructure is also reproducible and allows a dev environment to be replicated into production.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">With infrastructure configuration\u00a0<\/span><span data-contrast=\"auto\">codified, it can be managed using well-known and well-tested software engineering practices such as version control, branching, pull requests and CI\/CD tooling. Code can be reviewed by the necessary teams before it is committed to upstream branches. A<\/span><span data-contrast=\"auto\">n example<\/span><span data-contrast=\"auto\">\u00a0of this<\/span><span data-contrast=\"auto\">\u00a0would be that a developer needs to adjust a permissions policy<\/span><span data-contrast=\"auto\">.\u00a0<\/span><span data-contrast=\"auto\">T<\/span><span data-contrast=\"auto\">he developer can make the change and commit it into source control<\/span><span data-contrast=\"auto\">\u00a0after<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">which\u00a0<\/span><span data-contrast=\"auto\">t<\/span><span data-contrast=\"auto\">he developer can then create a pull-request to merge the new permissions into the policy. A predefined set of people can then<\/span><span data-contrast=\"auto\">\u00a0review and approve the change or ask the developer to make revisions as appropriate.<\/span><\/p>\n<p><span data-contrast=\"auto\"><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-6852\" src=\"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/terraform-operating-model.jpg\" alt=\"\" width=\"1550\" height=\"1600\" srcset=\"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/terraform-operating-model.jpg 1550w, https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/terraform-operating-model-291x300.jpg 291w, https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/terraform-operating-model-992x1024.jpg 992w, https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/terraform-operating-model-768x793.jpg 768w, https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/terraform-operating-model-1488x1536.jpg 1488w\" sizes=\"(max-width: 1550px) 100vw, 1550px\" \/><\/span><\/p>\n<h2><span class=\"TextRun SCXW34619331 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW34619331 BCX0\" data-ccp-parastyle=\"heading 1\">Building Security into the\u00a0<\/span><\/span><span class=\"TextRun SCXW34619331 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW34619331 BCX0\" data-ccp-parastyle=\"heading 1\">development lifecycle<\/span><\/span><\/h2>\n<p><span data-contrast=\"auto\">Working in the financial services industry<\/span><span data-contrast=\"auto\">\u00a0for over 20 years<\/span><span data-contrast=\"auto\">,\u00a0<\/span><span data-contrast=\"auto\">we know that security is one of the top concerns<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">our clients have<\/span><span data-contrast=\"auto\">\u00a0during the cloud journey. There are many stories of data getting exposed from misconfigured S3 buckets, Elastic Search instances, databases and SIEMs to name a few.<\/span><span data-contrast=\"auto\">\u00a0Developers should not need to be AWS S3 experts to use the service in a secure manner that complies with the organi<\/span><span data-contrast=\"auto\">z<\/span><span data-contrast=\"auto\">ation\u2019s security and compliance standards.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To solve this challenge,\u00a0<\/span><span data-contrast=\"auto\">Terraform<\/span><span data-contrast=\"auto\">\u00a0has the capability to consume modules. Modules are reusable and adaptable building blocks for cloud infrastructure and services. They are a set of predefined and prebuilt terraform code which describe common architecture and patterns that the organi<\/span><span data-contrast=\"auto\">z<\/span><span data-contrast=\"auto\">ation uses. Modules are created by experts in the organi<\/span><span data-contrast=\"auto\">z<\/span><span data-contrast=\"auto\">ation<\/span><span data-contrast=\"auto\">\u00a0in consultation with security teams<\/span><span data-contrast=\"auto\">\u00a0so that they adhere to policies, frameworks, and standards of the organi<\/span><span data-contrast=\"auto\">z<\/span><span data-contrast=\"auto\">ation.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Once these modules have been created, they can be uploaded to source control and module registries where they can be consumed by the organi<\/span><span data-contrast=\"auto\">z<\/span><span data-contrast=\"auto\">ation. By using the modules, developers and IT professionals know that the<\/span><span data-contrast=\"auto\">\u00a0infrastructure they are spinning up adheres to company policy even if they are not experts in the infrastructure that they are creating. This enables developers to focus on solving business problems\u00a0<\/span><span data-contrast=\"auto\">rather than focusing on\u00a0<\/span><span data-contrast=\"auto\">undifferentiated\u00a0<\/span><span data-contrast=\"auto\">heavy lifting of setting up infrastructure.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Security teams can\u00a0<\/span><span data-contrast=\"auto\">enforce policies on the type of infrastructure that can be created, how it is used, and which teams get to use it.\u00a0<\/span><span data-contrast=\"auto\">HashiCorp\u2019s<\/span><span data-contrast=\"auto\">\u00a0Sentinel\u00a0<\/span><span data-contrast=\"auto\">P<\/span><span data-contrast=\"auto\">olicy as\u00a0<\/span><span data-contrast=\"auto\">C<\/span><span data-contrast=\"auto\">ode\u00a0<\/span><span data-contrast=\"auto\">F<\/span><span data-contrast=\"auto\">ramework, can also be used to provide compliance and governance without requiring a shift in the overall team workflow<\/span><span data-contrast=\"auto\">\u00a0and is defined as code too, enabling collaboration and comprehension for\u00a0<\/span><span data-contrast=\"auto\">DevSecOps<\/span><span data-contrast=\"auto\">\u00a0teams.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">By adopting this way of working, organi<\/span><span data-contrast=\"auto\">z<\/span><span data-contrast=\"auto\">ations allow developers to build infrastructure that complies\u00a0<\/span><span data-contrast=\"auto\">with\u00a0<\/span><span data-contrast=\"auto\">policies and moves away from ticket-based systems for infrastructure to be created. These systems can often result in developers waiting weeks or longer to provision infrastructure.\u00a0<\/span><\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-6851 aligncenter\" src=\"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/Enterprise-deployment.png\" alt=\"\" width=\"1068\" height=\"1628\" srcset=\"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/Enterprise-deployment.png 1068w, https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/Enterprise-deployment-197x300.png 197w, https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/Enterprise-deployment-672x1024.png 672w, https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/Enterprise-deployment-768x1171.png 768w, https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/Enterprise-deployment-1008x1536.png 1008w\" sizes=\"(max-width: 1068px) 100vw, 1068px\" \/><\/p>\n<h2><span class=\"TextRun SCXW176634596 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW176634596 BCX0\" data-ccp-parastyle=\"heading 1\">Terraform Cloud &amp; Terraform Enterprise<\/span><\/span><span class=\"EOP SCXW176634596 BCX0\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">Terraform comes in\u00a0<\/span><span data-contrast=\"auto\">three<\/span><span data-contrast=\"auto\">\u00a0flavors: open source, cloud, and enterprise. Terraform open source is distributed as a single binary and is available using a CLI. When working in a significant team, state management and resource runs may become an issue. Terraform Cloud solves this problem and is the\u00a0<\/span><span data-contrast=\"auto\">fastest way to adopt Terraform<\/span><span data-contrast=\"auto\">. Terraform Cloud is offered as\u00a0<\/span><span data-contrast=\"auto\">a service<\/span><span data-contrast=\"auto\">\u00a0where\u00a0<\/span><span data-contrast=\"auto\">practitioners, teams, and global businesses\u00a0<\/span><span data-contrast=\"auto\">can\u00a0<\/span><span data-contrast=\"auto\">collaborate on infrastructure and manage risks for security, compliance, and operational constraints.<\/span><span data-contrast=\"auto\">\u00a0Terraform Enterprise is deployed on infrastructure in your environment and can facilitate\u00a0<\/span><span data-contrast=\"auto\">collaboration, governance, and self-service workflows on top of the\u00a0<\/span><span data-contrast=\"auto\">I<\/span><span data-contrast=\"auto\">nfrastructure as\u00a0<\/span><span data-contrast=\"auto\">C<\/span><span data-contrast=\"auto\">ode provisioning from open source.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Both Terraform and E<\/span><span data-contrast=\"auto\">nterprise provide<\/span><span data-contrast=\"auto\">\u00a0workspaces, modules, and other powerful constructs for teams working together to build infrastructure.\u00a0<\/span><span data-contrast=\"auto\">Modules can be uploaded to registries which will e<\/span><span data-contrast=\"auto\">nabl<\/span><span data-contrast=\"auto\">e<\/span><span data-contrast=\"auto\">\u00a0developers to quickly provision<\/span><span data-contrast=\"auto\">\u00a0infrastructure<\/span><span data-contrast=\"auto\">\u00a0in a self-service fashion.\u00a0<\/span><span data-contrast=\"auto\">In addition, both platforms support SSO via an identity provider, logging and monitoring and dedicated support from\u00a0<\/span><span data-contrast=\"auto\">HashiCorp<\/span><span data-contrast=\"auto\">. Both platforms also support\u00a0<\/span><span data-contrast=\"auto\">Sentinel<\/span><span data-contrast=\"auto\">\u00a0which<\/span><span data-contrast=\"auto\">\u00a0is an embeddable policy as code framework to enable fine-grained, logic-based policy decisions that can be<\/span><span data-contrast=\"auto\">\u00a0used by teams to limit certain actions, configurations or deployments.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><iframe src=\"https:\/\/www.youtube.com\/embed\/0FNyj543qRU\" width=\"800\" height=\"450\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<h2>Webinar &#8211; Unlocking the cloud operating model<\/h2>\n<p><span data-contrast=\"auto\">Join\u00a0<\/span><span data-contrast=\"auto\">Synthesis and Hashicorp<\/span><span data-contrast=\"auto\">\u00a0for a webinar on<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">where our experts deep dive into\u00a0<\/span><span data-contrast=\"auto\">enabling operational excellence in the cloud using<\/span><span data-contrast=\"auto\">\u00a0Terraform and Vault.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Time: 15:00\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Date: Wednesday<\/span><span data-contrast=\"auto\">, 11<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">November<\/span><b><span data-contrast=\"auto\">\u00a0<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\"><a href=\"https:\/\/www.crowdcast.io\/e\/unlocking-cloud\">Register here<\/a>.<\/span><span data-contrast=\"auto\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/www.crowdcast.io\/e\/unlocking-cloud\"><img decoding=\"async\" class=\"aligncenter wp-image-6872\" src=\"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/Hashicorp-invite-500x458.png\" alt=\"Achieving Operational Excellence with Terraform\" width=\"850\" height=\"778\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>20 October 2020 By: Jared Naude, Cloud Architect &#8211; Synthesis Software Technologies\u00a0 As companies go to cloud, they\u00a0must\u00a0adopt a new operating model to effectively\u00a0build and run their environment.\u00a0In this blog post, which is the first part of a\u00a0two-part series,\u00a0we\u00a0will explore a few key aspects\u00a0of\u00a0unlocking the cloud operating model and achieving operational excellence during the cloud [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":6856,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"episode_type":"","audio_file":"","cover_image":"","cover_image_id":"","duration":"","filesize":"","filesize_raw":"","date_recorded":"","explicit":"","block":"","itunes_episode_number":"","itunes_title":"","itunes_season_number":"","itunes_episode_type":"","footnotes":""},"categories":[71,34],"tags":[],"ptype":[11],"sectors":[],"class_list":["post-6849","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-enablement","category-conversation","ptype-articles"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v27.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Achieving Operational Excellence with Terraform - Synthesis<\/title>\n<meta name=\"description\" content=\"Read: &#039;Achieving Operational Excellence with Terraform&#039; and more on the Synthesis blog for insights on the latest in the Tech and Software development industry.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Achieving Operational Excellence with Terraform\" \/>\n<meta property=\"og:description\" content=\"Read: &#039;Achieving Operational Excellence with Terraform&#039; and more on the Synthesis blog for insights on the latest in the Tech and Software development industry.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/\" \/>\n<meta property=\"og:site_name\" content=\"Synthesis\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-20T10:43:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/3-scaled-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1709\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jared Naude\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jared Naude\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/\"},\"author\":{\"name\":\"Jared Naude\",\"@id\":\"https:\/\/www.synthesis.co.za\/#\/schema\/person\/421c46fc0d94bad26008e0e3ccc42a93\"},\"headline\":\"Achieving Operational Excellence with Terraform\",\"datePublished\":\"2020-10-20T10:43:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/\"},\"wordCount\":1424,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.synthesis.co.za\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/3-scaled-1.jpg\",\"articleSection\":[\"Cloud Enablement\",\"Conversations\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/\",\"url\":\"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/\",\"name\":\"Achieving Operational Excellence with Terraform - Synthesis\",\"isPartOf\":{\"@id\":\"https:\/\/www.synthesis.co.za\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/3-scaled-1.jpg\",\"datePublished\":\"2020-10-20T10:43:03+00:00\",\"description\":\"Read: 'Achieving Operational Excellence with Terraform' and more on the Synthesis blog for insights on the latest in the Tech and Software development industry.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/#primaryimage\",\"url\":\"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/3-scaled-1.jpg\",\"contentUrl\":\"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/3-scaled-1.jpg\",\"width\":2560,\"height\":1709,\"caption\":\"Hashicorp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.synthesis.co.za\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Achieving Operational Excellence with Terraform\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.synthesis.co.za\/#website\",\"url\":\"https:\/\/www.synthesis.co.za\/\",\"name\":\"Synthesis\",\"description\":\"Specialized Software Development\",\"publisher\":{\"@id\":\"https:\/\/www.synthesis.co.za\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.synthesis.co.za\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.synthesis.co.za\/#organization\",\"name\":\"Synthesis, a Leading Software Development Company\",\"url\":\"https:\/\/www.synthesis.co.za\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.synthesis.co.za\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2016\/03\/Synthesis-logo.jpg\",\"contentUrl\":\"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2016\/03\/Synthesis-logo.jpg\",\"width\":1036,\"height\":220,\"caption\":\"Synthesis, a Leading Software Development Company\"},\"image\":{\"@id\":\"https:\/\/www.synthesis.co.za\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.synthesis.co.za\/#\/schema\/person\/421c46fc0d94bad26008e0e3ccc42a93\",\"name\":\"Jared Naude\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.synthesis.co.za\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2019\/01\/cropped-Jared-scaled-1-96x96.jpg\",\"contentUrl\":\"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2019\/01\/cropped-Jared-scaled-1-96x96.jpg\",\"caption\":\"Jared Naude\"},\"url\":\"https:\/\/www.synthesis.co.za\/author\/jared\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Achieving Operational Excellence with Terraform - Synthesis","description":"Read: 'Achieving Operational Excellence with Terraform' and more on the Synthesis blog for insights on the latest in the Tech and Software development industry.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/","og_locale":"en_US","og_type":"article","og_title":"Achieving Operational Excellence with Terraform","og_description":"Read: 'Achieving Operational Excellence with Terraform' and more on the Synthesis blog for insights on the latest in the Tech and Software development industry.","og_url":"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/","og_site_name":"Synthesis","article_published_time":"2020-10-20T10:43:03+00:00","og_image":[{"width":2560,"height":1709,"url":"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/3-scaled-1.jpg","type":"image\/jpeg"}],"author":"Jared Naude","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jared Naude","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/#article","isPartOf":{"@id":"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/"},"author":{"name":"Jared Naude","@id":"https:\/\/www.synthesis.co.za\/#\/schema\/person\/421c46fc0d94bad26008e0e3ccc42a93"},"headline":"Achieving Operational Excellence with Terraform","datePublished":"2020-10-20T10:43:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/"},"wordCount":1424,"commentCount":0,"publisher":{"@id":"https:\/\/www.synthesis.co.za\/#organization"},"image":{"@id":"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/#primaryimage"},"thumbnailUrl":"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/3-scaled-1.jpg","articleSection":["Cloud Enablement","Conversations"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/","url":"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/","name":"Achieving Operational Excellence with Terraform - Synthesis","isPartOf":{"@id":"https:\/\/www.synthesis.co.za\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/#primaryimage"},"image":{"@id":"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/#primaryimage"},"thumbnailUrl":"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/3-scaled-1.jpg","datePublished":"2020-10-20T10:43:03+00:00","description":"Read: 'Achieving Operational Excellence with Terraform' and more on the Synthesis blog for insights on the latest in the Tech and Software development industry.","breadcrumb":{"@id":"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/#primaryimage","url":"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/3-scaled-1.jpg","contentUrl":"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2020\/10\/3-scaled-1.jpg","width":2560,"height":1709,"caption":"Hashicorp"},{"@type":"BreadcrumbList","@id":"https:\/\/www.synthesis.co.za\/achieving-operational-excellence-with-terraform\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.synthesis.co.za\/"},{"@type":"ListItem","position":2,"name":"Achieving Operational Excellence with Terraform"}]},{"@type":"WebSite","@id":"https:\/\/www.synthesis.co.za\/#website","url":"https:\/\/www.synthesis.co.za\/","name":"Synthesis","description":"Specialized Software Development","publisher":{"@id":"https:\/\/www.synthesis.co.za\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.synthesis.co.za\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.synthesis.co.za\/#organization","name":"Synthesis, a Leading Software Development Company","url":"https:\/\/www.synthesis.co.za\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.synthesis.co.za\/#\/schema\/logo\/image\/","url":"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2016\/03\/Synthesis-logo.jpg","contentUrl":"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2016\/03\/Synthesis-logo.jpg","width":1036,"height":220,"caption":"Synthesis, a Leading Software Development Company"},"image":{"@id":"https:\/\/www.synthesis.co.za\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.synthesis.co.za\/#\/schema\/person\/421c46fc0d94bad26008e0e3ccc42a93","name":"Jared Naude","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.synthesis.co.za\/#\/schema\/person\/image\/","url":"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2019\/01\/cropped-Jared-scaled-1-96x96.jpg","contentUrl":"https:\/\/www.synthesis.co.za\/wp-content\/uploads\/2019\/01\/cropped-Jared-scaled-1-96x96.jpg","caption":"Jared Naude"},"url":"https:\/\/www.synthesis.co.za\/author\/jared\/"}]}},"_links":{"self":[{"href":"https:\/\/www.synthesis.co.za\/wp-json\/wp\/v2\/posts\/6849","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.synthesis.co.za\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.synthesis.co.za\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.synthesis.co.za\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.synthesis.co.za\/wp-json\/wp\/v2\/comments?post=6849"}],"version-history":[{"count":0,"href":"https:\/\/www.synthesis.co.za\/wp-json\/wp\/v2\/posts\/6849\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.synthesis.co.za\/wp-json\/wp\/v2\/media\/6856"}],"wp:attachment":[{"href":"https:\/\/www.synthesis.co.za\/wp-json\/wp\/v2\/media?parent=6849"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.synthesis.co.za\/wp-json\/wp\/v2\/categories?post=6849"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.synthesis.co.za\/wp-json\/wp\/v2\/tags?post=6849"},{"taxonomy":"ptype","embeddable":true,"href":"https:\/\/www.synthesis.co.za\/wp-json\/wp\/v2\/ptype?post=6849"},{"taxonomy":"sectors","embeddable":true,"href":"https:\/\/www.synthesis.co.za\/wp-json\/wp\/v2\/sectors?post=6849"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}