Infrastructure as Text:

Standardizing Serverless Deployments /w .Architect

DarcyClarke

developer, designer, speaker,
entrepreneur, mentor & ux advocate

JS Devs Zone

Conversations with the people supporting projects you depend on now and
driving innovation in the projects of the future

js.foundation/community/js-devs-zone

Episode #0 - sonar http://sonarwhal.com

Episode #1 - .architect http://arc.codes

Brian Leroux

Cofounder/CTO @begin

@brianleroux

http://cordova.apache.org/

http://begin.com

tldr;
Manual setup & provisioning of infra sucks

Standardizing Serverless
Deployments with .architect

The problems it tries to solve...

  • "Manifest checked into your revision control system so you can version your infrastructure beside your code"
  • "Tooling for managing the manifest-based infrastructure"

.arc is a plaintext manifest file

Infrastructure as text

Architecture as text

The existing ecosystem

AWS Serverless Application Model (SAM) Template

Serverless

Terraform HCL

Takeaways

  • Deep proprietary knowledge is required to configure and maintain common infrastructure primatives
  • Painful manifest files; JSON and YAML are not ideal
  • Tooling was designed for the last generation of metaphors

.arc

this is an .arc file

The schema is...

  • Comments start with #
  • Sections start with @

@html defines text/html routes

A Lambda function wired to API Gateway handles requests to /.

.arc is Expressive

Workflows supported: @html, @json, @events, @tables & more....

https://arc.codes/reference/

Demo

Getting started...

  • 1. Start your node project: npm i
  • 2. Install .architect: npm install @architect/workflows --save
  • 3. Add config into your package.json
  • 4. Create your .arc file
  • 5. Create your app: npm run create
  • 6. Deploy when necessarry

What's next?