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

[Spike] Deploy LB4 applications to IBM Cloud #1446

Closed
3 tasks done
bajtos opened this issue Jun 21, 2018 · 10 comments
Closed
3 tasks done

[Spike] Deploy LB4 applications to IBM Cloud #1446

bajtos opened this issue Jun 21, 2018 · 10 comments
Assignees

Comments

@bajtos
Copy link
Member

bajtos commented Jun 21, 2018

Timeboxed to 1 and a half week based on the assumption that the person assigned to the task would be investigating different kinds of deployment systems.

Find out what's needed to deploy LB4 applications to IBM Cloud and write a short document describing the steps.

Take our existing Todo application as the project to deploy, but make the following changes:

  • Use Cloudant (free Lite plan) to persist our Todo items. To do so, we need to temporarily modify db datasource to use cloudant connector and add this connector to project dependencies.
  • When deploying to IBM Cloud, the application must be configured to use a cloud-based Cloudant instance.
  • When developing and testing locally, the app should use local docker-based Cloudant Developer Edition.
  • There may be other settings we need to tweak when deploying to cloud, for example the port number where to listen.

Besides the deployment guide, this spike should also identify the biggest pain points - things we need to improve to make the deployment experience smoother.

Acceptance criteria

  • A feature branch in loopback-next containing examples/todo changes needed to persist data in Cloudant.
  • A "do not merge" pull request from the feature branch which has been reviewed and approved at least by @raymondfeng and @bajtos
  • A deployment guide for IBM cloud added to our docs. If the current LB4 feature-set is not sufficient to support such deployments, then create a new wiki page instead of an official doc article. - MOVED TO Document how to deploy LB4 app to IBM Cloud via CloudFoundry #1604
  • A list of pain points - steps that are difficult to perform and should be simplified. The list can be posted as a comment here in this issue.
@bajtos bajtos added the spike label Jun 21, 2018
@bajtos bajtos mentioned this issue Jun 21, 2018
12 tasks
@jannyHou
Copy link
Contributor

jannyHou commented Jun 21, 2018

  • Possible choice: cloud foundry/kubernetes/docker
    • figure out which one to use
  • Hightlight points of the spike:
    • User's requirement in different phases of life cycle
    • (as microservices)LB4 apps in containers talk to each other
    • Integration with cloud services

@jannyHou
Copy link
Contributor

Let's revisit the issue after discussion meeting.

@bajtos bajtos changed the title Spike: Deploy LB4 application to IBM Cloud [Spike] Deploy LB4 application to IBM Cloud Jun 25, 2018
@bajtos bajtos added the DevOps label Jun 25, 2018
@bajtos bajtos changed the title [Spike] Deploy LB4 application to IBM Cloud [Spike] Deploy LB4 applications to IBM Cloud Jun 25, 2018
@bajtos bajtos added the Core-GA label Jun 25, 2018
@dhmlau dhmlau added the p1 label Jun 26, 2018
@jannyHou
Copy link
Contributor

@raymondfeng Could you add more details and your expectations of the spike? Thanks!

@dhmlau
Copy link
Member

dhmlau commented Jul 30, 2018

According to the estimate/time mapping for spikes from @shimks , marking this as 13 points.

@virkt25
Copy link
Contributor

virkt25 commented Aug 15, 2018

@hacksparrow I know you went over the pain points in the spike meeting. Can you document them here for future reference (include issues you've already created) and we can close out this task then as a new issue #1604 has been created to track the documentation work.

@hacksparrow
Copy link
Contributor

hacksparrow commented Aug 16, 2018

PULL REQUEST
#1574

FINDINGS

  1. It is relatively simple to deploy a LB4 app to IBM Cloud Cloud Foundry.
  2. It is possible to switch to a provisioned database service on IBM Cloud, without having to hard-code credentials and other service details.
  3. We may need a post-boot extension point for modifying datasource configuration.
    "Ideally, one should be able to write a VCAP/CloudFoundry extension for LB4 that will plug into an extension point which will allow the extension to modify datasource configuration." - Miroslav - follow-up task: [Spike] Allow extensions to contribute custom convention for environment-specific operational configuration #1464

PAIN POINTS

  1. lb model should prompt repository selection/creation - [CLI] lb model should prompt repository selection/creation #1587
  2. Need a lb command to generate repositories - [CLI] add lb4 repository command #1588
  3. API Explorer fails to load "https" URLs.
  4. Juggler cannot resolve connectors in our monorepo - https://github.com/strongloop/loopback-next/blob/master/examples/soap-calculator/src/datasources/calculator.datasource.ts#L13-L17

SUBSEQUENT ACTIONS

  1. Spike "Deploy a basic LB4 application to IBM Cloud Kubernetes" - [Spike] Deploy a basic LB4 application to IBM Cloud Kubernetes #1606
  2. Task "Generate IBM Cloud artifacts" - Generate IBM Cloud artifacts #1614

@hacksparrow
Copy link
Contributor

@dhmlau @virkt25 does that look good?

@virkt25
Copy link
Contributor

virkt25 commented Aug 16, 2018

LGTM. So is this Spike good to close out as there are follow up tasks for all other issues / pain points?

Juggler cannot resolve connectors in our monorepo - https://github.com/strongloop/loopback-next/blob/master/examples/soap-calculator/src/datasources/calculator.datasource.ts#L13-L17

I don't think there is much we can do about this ... this won't impact a user as they won't be developing their application within our monorepo.

@virkt25 virkt25 closed this as completed Aug 17, 2018
@bajtos
Copy link
Member Author

bajtos commented Aug 23, 2018

The acceptance criteria contains the following items that are not checked as done yet:

  • A deployment guide for IBM cloud added to our docs. If the current LB4 feature-set is not sufficient to support such deployments, then create a new wiki page instead of an official doc article.

  • A list of pain points - steps that are difficult to perform and should be simplified. The list can be posted as a comment here in this issue.

I think the list of pain points has been sufficiently described in #1446 (comment).

However, it looks like we are missing a pull request or a follow-up issue to write the deployment guide. @hacksparrow is my assessment correct? What is the plan for making the deployment guide happen?

@hacksparrow
Copy link
Contributor

@bajtos #1604 is the follow-up is for the documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants