91 lines
4.5 KiB
YAML
91 lines
4.5 KiB
YAML
uuid:
|
|
- value: d8a2b106-99f5-455d-b8a9-f1bdcbf12e53
|
|
langcode:
|
|
- value: en
|
|
type:
|
|
- target_id: daily_email
|
|
target_type: node_type
|
|
target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7
|
|
revision_timestamp:
|
|
- value: '2025-07-04T12:02:12+00:00'
|
|
revision_uid:
|
|
- target_type: user
|
|
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
|
|
revision_log: { }
|
|
status:
|
|
- value: true
|
|
uid:
|
|
- target_type: user
|
|
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
|
|
title:
|
|
- value: 'What is "Infrastructure as code"?'
|
|
created:
|
|
- value: '2025-07-02T11:19:43+00:00'
|
|
changed:
|
|
- value: '2025-07-04T12:02:12+00:00'
|
|
promote:
|
|
- value: false
|
|
sticky:
|
|
- value: false
|
|
default_langcode:
|
|
- value: true
|
|
revision_translation_affected:
|
|
- value: true
|
|
path:
|
|
- alias: /daily/2025/07/02/what-infrastructure-code
|
|
langcode: en
|
|
body:
|
|
- value: |-
|
|
What are the usual steps you need to follow to create and provision a server to host a website?
|
|
|
|
First, if you don't have hardware, you need to purchase a VPS through a site like DigitalOcean, Linode or Amazon AWS.
|
|
|
|
You need to select an operating system to install and provide your SSH keys so you can log in.
|
|
|
|
Once installed, you should apply any software updates and upgrades, and perform any initial configuration steps, so things are up to date and secure.
|
|
|
|
Then, you can install a web server like Apache, Nginx or Caddy, as well as any other software you need, such as a database server.
|
|
|
|
These all need to be configured, too, such as creating a virtual host for each website and declaring which services should start automatically when the server boots.
|
|
|
|
Because this is done manually, you need to document or remember everything, in case you need to repeat the same process in the future.
|
|
|
|
But, what if it didn't need to be manual?
|
|
|
|
## Introducing "Infrastructure as Code"
|
|
|
|
Infrastructure as Code (IaC) tools, such as Ansible, Terraform and NixOS, allow you to define your configuration in code and apply it to your server or other infrastructure.
|
|
|
|
The code acts as living documentation that you can apply over and over again.
|
|
|
|
It speeds up the process and makes it more robust than re-typing or copying and pasting commands.
|
|
|
|
But, you aren't limited to web servers.
|
|
|
|
I use IaC to manage the DNS for my domains rather than using UIs.
|
|
|
|
You can even use it to provision the hardware, if you need to configure a new server.
|
|
|
|
If you have an API key for a provider, you can define in code how many servers you want, what specifications they have and what roles they perform.
|
|
format: markdown
|
|
processed: |
|
|
<p>What are the usual steps you need to follow to create and provision a server to host a website?</p>
|
|
<p>First, if you don't have hardware, you need to purchase a VPS through a site like DigitalOcean, Linode or Amazon AWS.</p>
|
|
<p>You need to select an operating system to install and provide your SSH keys so you can log in.</p>
|
|
<p>Once installed, you should apply any software updates and upgrades, and perform any initial configuration steps, so things are up to date and secure.</p>
|
|
<p>Then, you can install a web server like Apache, Nginx or Caddy, as well as any other software you need, such as a database server.</p>
|
|
<p>These all need to be configured, too, such as creating a virtual host for each website and declaring which services should start automatically when the server boots.</p>
|
|
<p>Because this is done manually, you need to document or remember everything, in case you need to repeat the same process in the future.</p>
|
|
<p>But, what if it didn't need to be manual?</p>
|
|
<h2>Introducing "Infrastructure as Code"</h2>
|
|
<p>Infrastructure as Code (IaC) tools, such as Ansible, Terraform and NixOS, allow you to define your configuration in code and apply it to your server or other infrastructure.</p>
|
|
<p>The code acts as living documentation that you can apply over and over again.</p>
|
|
<p>It speeds up the process and makes it more robust than re-typing or copying and pasting commands.</p>
|
|
<p>But, you aren't limited to web servers.</p>
|
|
<p>I use IaC to manage the DNS for my domains rather than using UIs.</p>
|
|
<p>You can even use it to provision the hardware, if you need to configure a new server.</p>
|
|
<p>If you have an API key for a provider, you can define in code how many servers you want, what specifications they have and what roles they perform.</p>
|
|
summary: ''
|
|
field_daily_email_cta:
|
|
- target_type: node
|
|
target_uuid: 20cde1b4-efdc-46a4-a6a4-4fd2264f617e
|