sourcegraph / sourcegraph-public-snapshot

Code AI platform with Code Search & Cody
https://sourcegraph.com
Other
10.11k stars 1.27k forks source link

Investigate feasibility of AWS of-the-shelf marketplace deployment #22916

Open dan-mckean opened 3 years ago

dan-mckean commented 3 years ago

Upgrading might be a blocker for an off-the-shelf Sourcegraph deployment through AWS.

This is to investigate that risk.

Timeboxed to 1 day of initial investigation and report back to team on findings.


robert 3 days ago Does anyone have any good examples/docs off the top of their head about how existing apps on AWS marketplace handle upgrading services? I can't seem to find anything in 15m of search in the deep abyss of AWS docs (:face_with_rolling_eyes:)

robert 3 days ago My impression is that these marketplaces don't really do much to help you upgrade, and that each product is expected to roll their own solution. For example, my random search attempt at finding a comparable services to Sourcegraph surfaced this Elastic's EKS offering on the marketplace that advertises the following as a highlighted feature: https://aws.amazon.com/marketplace/pp/prodview-vkbx2f7eoa56o?qid=1626183315689&sr=0-36&ref_=srh_res_product_title#pdp-usage Operators managed Stacks: Yobitel cloud-native stacks are regulated with CRD Operators for seamless deployment, management and monitoring of cloud-native container apps including rolling upgrades & regulated version control, automatic application re-package provisioning & re-deploying, and a full app lifecycle management for clusters. (edited)

dave:first_quarter_moon: 3 days ago what do you mean specifically by upgrade? as in upgrade your version of whatever product is in the marketplace?

robert 3 days ago sorry if that was worded poorly - I mean if a customer purchases our hypothetical AWS offering, how might they upgrade to the next version of Sourcegraph? I'm curious about how other services handle this and can't seem to find anything definitive via a cursory search (edited)

dave:first_quarter_moon: 3 days ago I am trying to recall if we ever did this at Puppet but nothing immediately comes to mind.

dave:first_quarter_moon: 3 days ago edit: the last version on there is from 2019...so I guess they abandoned that anyway. I would say we would be responsible for the heavy lifting here :sweat_smile: 1

robert 3 days ago hm, in that case I'm worried that an AWS marketplace offering will set us back on our goal to simplify upgrades by introducing another platform to support customer upgrades for

dave:first_quarter_moon: 3 days ago I'm going to ask a friend in Australia if he knows off the top of his head :heart: 1

dave:first_quarter_moon: 3 days ago he runs an AWS consultancy

robert 1 day ago any update on this dave? Also sent to the channel

robert 1 day ago also bumping to the channel because I feel this is an important consideration (upgrades for marketplace deployment offerings)

dave:first_quarter_moon: 1 day ago He didn't know

dave:first_quarter_moon: 1 day ago But based on my understanding we'd be deploying a cloud formation template

dave:first_quarter_moon: 1 day ago Actually maybe that's not true

dave:first_quarter_moon: 1 day ago Maybe an ami and cloud formation because we would need to cater for the data for other stateful services. Long story short...it doesn't seem simple

dave:first_quarter_moon: 1 day ago I had little success determining what SaaS in the marketplace ended up being behind the curtain

robert 1 day ago thanks for checking in on that! this kind of makes me dubious about whether a marketplace offering is something we really want to aim for :thinking_face:

dave:first_quarter_moon: 1 day ago It seems like whatever way we do it, we'd need the logic in here to create snapshots etc. If there is no native way to do that we are better of being fully in control by using terraform or another agnostic tool New Also sent to the channel

dax:first_quarter_moon: 18 hours ago @Bill Creager @Dan Mckean We might want to add some spike time to this sprint to investigate the AWS application feasibility. It looks like we are locked into submitting the application as a CloudFormation app. I wonder if offering a terraform apply option would provide us a similar experience without needing to jump through all the AWS hoops (ie about 30 pages of contracts legal would need to review and forced move towards making our deployment non-root)

bobheadxi commented 3 years ago

https://docs.google.com/document/d/1I-H19dv5N9PNHoDN-kiskTpTswrPaAaC8exNUi7UJKo/edit

github-actions[bot] commented 3 years ago

Heads up @davejrt @ggilmore @daxmc99 @dan-mckean - the "team/distribution" label was applied to this issue.

github-actions[bot] commented 2 years ago

Heads up @davejrt @ggilmore @dan-mckean @caugustus-sourcegraph @stephanx - the "team/delivery" label was applied to this issue.