Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deployment guide (and more) #220

Closed
5 of 19 tasks
aoberoi opened this issue Jul 22, 2019 · 3 comments
Closed
5 of 19 tasks

Deployment guide (and more) #220

aoberoi opened this issue Jul 22, 2019 · 3 comments
Assignees
Labels
enhancement M-T: A feature request for new functionality

Comments

@aoberoi
Copy link
Contributor

aoberoi commented Jul 22, 2019

(Update) We've started releasing a few deployment guides:

  • Heroku ⚡️ Bolt for JavaScript (released 2020-10-07)
  • AWS Lambda ⚡️ Bolt for JavaScript (released 2020-12-10)
  • Container platform
    • Please leave comments on what guide you'd like next!

Description

Produce a documentation guide which describes the process of deploying a Bolt app to various hosting platforms. This is a list of possible hosting providers, in roughly priority order:

  1. AWS Lambda (most requests to date)
  2. Heroku (easiest) - Deploy to Heroku button
  3. Docker (most wide reach)
  4. Azure (Functions, Web App, etc)
  5. Google Cloud Platform (Firebase, Functions, Cloud Run, etc)
  6. AWS (other services)
  7. Zeit Now
  8. Cloud Foundry
  9. Codesandbox.io

Currently, we believe providers 1 through 4 are substantial enough for the first iteration of this guide.

We are looking for comments regarding:

  • Which hosting platforms are important to you, or do you think should be prioritized sooner?

  • Do you have any experience with the specific hosting providers mentioned, and can you advise on strategies you would recommend for the deployment to those providers?

Related work:

General:

  • Do we need a custom receiver for any of these deployment targets?
  • In serverless environments, how can we preserve the benefits of deploying small functions (independent scaling, cold boot time, etc)? Can we solve this by integrating Bolt with a message queue or similar technology offered by the serverless platform?
  • Where should the templatized apps live? How do we reduce code duplication amongst them? AWS Quickstarts seem to all live in the same Org and have a contributors guide. Azure ARMs also seem to live in the same repo, which contains their contributing guide. Should the external repos just contain scripts which clone the one sample code repo?

AWS:

Heroku:

Docker:

  • docker-compose.yml and Dockerfile
  • Host an image on hub.docker.com

Azure:

Requirements (place an x in each of the [ ])

  • I've read and understood the Contributing guidelines and have done my best effort to follow them.
  • I've read and agree to the Code of Conduct.
  • I've searched for any related issues and avoided creating a duplicate issue.
@aoberoi aoberoi added the enhancement M-T: A feature request for new functionality label Jul 22, 2019
@Startouf
Copy link

Startouf commented Oct 9, 2019

Hello, I have opened an issue regarding health checks of the application, it's related to cloud deployment #283

As far as I am concerned, I was just about to finish a state of the art infra-as-code deployment on AWS ECS (container), but then got stuck at the very end as I realised my service would keep rebooting because it failed the default health check, and I had no way to implement one

@aoberoi aoberoi added discussion M-T: An issue where more input is needed to reach a decision and removed enhancement M-T: A feature request for new functionality labels Jan 9, 2020
@stevengill stevengill added enhancement M-T: A feature request for new functionality and removed discussion M-T: An issue where more input is needed to reach a decision labels Apr 2, 2020
@mwbrooks mwbrooks self-assigned this Sep 14, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 14, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 15, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 15, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 15, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 15, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 18, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 18, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 18, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 24, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 24, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 24, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 24, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 24, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 28, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 28, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 29, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 29, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Sep 29, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 1, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 3, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 8, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 8, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 8, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 9, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 9, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 9, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 9, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 10, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 10, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 10, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 10, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 10, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 10, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 10, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 10, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 10, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 10, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 10, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 10, 2020
mwbrooks added a commit to mwbrooks/bolt-js that referenced this issue Dec 10, 2020
mwbrooks added a commit that referenced this issue Dec 10, 2020
#698)

* [#220] Add Serverless Framework guide and example code.

* Updates from code review with @seratch

Co-authored-by: Kazuhiro Sera <[email protected]>

* [#220] Document 'processBeforeResponse' option

* Apply suggestions from code review with @shaydewael

Co-authored-by: Shay DeWael <[email protected]>

* Apply suggestions from code review @seratch

Co-authored-by: Kazuhiro Sera <[email protected]>

* [#220] Update with feedback from @shaydewael

* [#220] Update README.md of example app from run to develop

* [#220] Remove ngrok from example scripts

* [#220] Minor updates to consistency after code review feedback

* [#220] Update guide to be 'Deploying to AWS Lambda' instead of 'Serverless Framework'

* [#220] Rename guide and examples app from serverless-framework to aws-lambda

* [#220] Fix README.md table of contents for developing an app

* [#220] Add codecov.yml to ignore examples directory

* [#220] Move codecov.yml to top-level directory

* [#220] Update wording of opening sentence for running the app locally.

- Thanks @shaydewael #698 (comment)

* [#220] Small tweaks after final review.

Co-authored-by: Kazuhiro Sera <[email protected]>
Co-authored-by: Shay DeWael <[email protected]>
@seratch
Copy link
Member

seratch commented Mar 19, 2021

Quick update for the container service support: We've published a simple example app demonstrating how to build a Docker image for Bolt JS apps. https://github.com/slackapi/bolt-examples-aws-re-invent-2020/tree/main/lightsail-containers/javascript

Although we don't have guide document on the website yet, the steps to build a Docker image is the same for other platform services.

@mwbrooks
Copy link
Member

mwbrooks commented Jun 1, 2021

Closing this since we have a Heroku and Lambda guide available. We also have an examples/ directory where we can continue to add more hosting examples as people request them.

We may want to import our AWS guides from https://github.com/slackapi/bolt-examples-aws-re-invent-2020 to showcase AWS Gateway Lambda and Lightsail

@mwbrooks mwbrooks closed this as completed Jun 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement M-T: A feature request for new functionality
Projects
None yet
Development

No branches or pull requests

5 participants