Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS, ECS, API Gateway

AWS, ECS, API Gateway

Quick slides for a presentation on AWS, ECS and API Gateway.

Geoffrey Wiseman

September 02, 2020
Tweet

More Decks by Geoffrey Wiseman

Other Decks in Technology

Transcript

  1. History In early 2018 we started building a set of

    Microservice APIs: - Kotlin / Spring Boot - Containers - ECS on EC2 - ALB - Route 53
  2. API Gateway: Pros • Built-in suppport for: • API Keys

    • Usage Plans • Future expansion for: • Authoriza=on • Facade over mul=ple APIs
  3. API Gateway: Cons • API Structure Replicated • Each endpoint

    needed to be configured • Addi9onal complexity (one more technology)
  4. Fast Forward to Now • Built simple custom API keys

    • No usage limit for now • Built second API • Not currently using a facade to unify
  5. Architecture: Base • ALB Default Rules • HTTP redirect to

    HTTPS • HTTPS default response: "Can't find environment"
  6. Automa'on Automa'on in Python 3 w/ Boto: ❯ scripts/deploy -h

    Submit API Deploy usage: deploy [-h] {list,create,watch,update,stop,check,remove} ... Submit API Environments positional arguments: {list,create,watch,update,stop,check,remove} list Lists the current Submit API deployments create Creates a new deployment of Submit API watch Watches any events from any ongoing deployment activity. update Updates a deployment. stop Stops the service from running by setting the desired count to zero (and then watching the events until the goal is reached). check Check all the pieces that make up a deployment to make sure the deployment is in a good state. remove Removes the deployment and all associated pieces (ECS service, task definition, target group, etc) optional arguments: -h, --help show this help message and exit
  7. Future Needs • More auth • Might be Azure Ac1ve

    Directory • Might be Okta • ?
  8. Discussion • Thought on current approach? • Pros/Cons on API

    Gateway? • Mul;ple Deployments, Automa;on? • REST vs HTTP APIs?