Provose is a tool designed to help you deploy complicated AWS configurations with only a few simple lines of code. It was first developed by James Mishra at his company Neocrym to deploy hundreds of containers for distributed web crawling and machine learning.
(Feel free to stop reading this post and get started with the Provose Tutorial.)
The various DevOps tools, like the AWS CLI, Ansible, Chef, Puppet, CloudFormation, Pulumi, or Terraform operate at a low level of abstraction. As a result, they require a fairly sophisticated understanding of AWS to correctly use these tools at scale.
Instead, Provose creates a simplified abstraction over AWS. Users do not have to know anything about AWS services to deploy fairly complex configurations.
Here is a complete example of Provose code for running a container serving a website behind a load balancer with HTTPS. This example launches dozens of underlying AWS resources without you having to know about them, such as:
Route 53 DNS records.
Virtual Private Cloud (VPC) subnets, routes, gateways, and security groups.
Application Load Balancer (ALB) listeners, rules, and target groups.
S3 buckets for logging.
Amazon Certificate Manager (ACM) certificates.
Elastic Container Service (ECS) clusters, services, and task definitions.
Identity and Access Management (IAM) roles, policies, and instance profiles.
Critically, Provose doesn’t require you to have knowledge of these underlying services—everything is simplified.
Follow the Tutorial to get started with a Terraform configuration. Provose is implemented as a Terarform module, but does not require low-level knowledge of Terraform providers.
No posts

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.