Weaponizing Haskell

Firing the Missiles from Production

Created by Lyndon (github.com/sordina)

Outline

  • What I Want
  • Where I am now
  • How I Got There
  • Problems I Encountered
  • What's Left

What I Want

...

Simple

  • Conceptually clear architecture
  • Separation of responsibilities by service

Cloud Builds

  • Automated builds in the cloud
  • For cheap!
  • With limited access to my accounts

Microservice Deployments

  • Dockerized
  • Deployable with multi-container support
  • Ideally platform agnostic
  • Running on AWS for now

Scalable Outlook

  • Expand the capability of the platform
  • Grow users
  • Grow services
  • Grow volume

Where I am Now

...

Where I am Now

  • Pre-Prod :(
  • CI pipeline is working fine
  • Still having issues with Elastic Beanstalk
  • HALP

Timeline

  • Prototype App
  • Dockerized
  • Run on Elastic Beanstalk
  • Integrated into Slack
  • Alpha App
  • Database Issues
  • Postgrest
  • Multi-Containerized (Suits Services Model)
  • Build Pipeline
  • CI Services Trials
  • Docker-Hub BitBucket-Proxy
  • Elastic-Beanstalk

How I Got There

  • Docker
  • Multi-Stage Containers
  • Proxy Version Control Accounts

Problems I Encountered

  • Credential Greed
  • Build Times
  • Beanstalk Errors

What's Left

...

Production Services

  • AWS Beanstalk Deployment
  • or AWS ECS
  • or AWS EC2 manual deploys

App Changes Left

  • Subscriptions
  • Web-Interface
  • Email gateway
  • Privileged Use-cases

Ops Changes Left

  • HTTPS
  • Zero-Downtime Deploys
  • Ansible Ops

Want to Help?

...