I relaunched my web presence with a shiny new website, both for maintainability and responsiveness. Under the hood, it features:
- JSON, JSON Schema, python-jsonschema: To reduce maintanance overhead, most data is stored in JSON using a custom schema.
- HTMLProofer ensures the final website is valid.
- Amazon Web Services: S3 is used stored the assets and CloudFront to bring content closer to the user. CloudFormation is used to configure the two from source code, à la infrastructure as code.
- Ansible is used to orchestrate everything above.
All-in-all, I’m pretty happy with the result:
- Development is agile:
jekyll serveautomatically regenerates the whole website whenever I change a file.
- Deployment is reproducible: I only need to invoke a single script.
- End result is responsive, as shown by Google PageSpeed Insight.