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
STORY: Migrate away from Skyliner #295
Comments
On the basis of my research so far, I have an opinion about where we should go from here, but I'm going to hold off on expressing that opinion until we get a chance to talk about all these options as a team. |
Hope I'm not out of line commenting here but I saw your issue linked in convox/rack. I can add a bit of detail about Convox:
I'd also encourage you to check out our next generation tools currently in beta: https://github.com/convox/praxis |
Thanks David, that's all useful context to have. We'll certainly take it into consideration. |
Just a curious observer. Thanks for posting your notes here. Can you please comment here when you come to a decision? |
@nickstenning Sorry if this is not proper etiquette since it might come across as a sales pitch but https://portal.duplocloud.net Here's a Demo: https://www.youtube.com/embed/rwWgrT2b0Bs Skyliner seems very similar to DuploCloud. A key difference is that duplocloud starts with a tenant as a base underlying construct. DuploCloud also help create policies while integrating native AWS services access S3, DynamoDB... You can do a free sign-up on the website if you like. It would be great if you could evaluate us as well before you make your decision. best rgds |
@nickstenning adding to Murali's comment. DuploCloud has an offering called DuploLive where you will be able to deploy apps on aws w/o even requiring an AWS account, u just need an email address. Thats the signup that will give you a quick comparison.
|
A couple of people outside Hypothesis asked if I could update this issue once we made a decision and learnt about how we were going to replace Skyliner. In the end, we've gone with a deployment pipeline based around AWS Elastic Beanstalk. I'll detail some of the main points that led us to this decision below, but I'll first note that other teams making decisions for a new system may well find that some of the other options listed above suit them better. We wanted to minimise risk by changing as little as possible about our production infrastructure and deployment pipeline while moving away from Skyliner. With Elastic Beanstalk:
One of the significant downsides of Elastic Beanstalk, perversely enough, is its flexibility. There are an enormous number of knobs and switches to twiddle, and this can be paralysing when all you want to do is get something up and running. As such, we've standardised the environments in which our applications run and the way they are deployed to those environments. These "standards" take the form of a handful of short shell scripts, which wrap the AWS CLI tools, and a shared library of Jenkins Pipeline tools which make creating a build pipeline for a new application relatively straightforward. If anyone wants any help understanding how these pieces fit together to make a passable replacement for Skyliner, feel free to hit me up on Twitter. |
Context
Unfortunately, Skyliner is shutting down. While our infrastructure will keep running, our ability to deploy will go away on 15 July.
Story
We need to migrate our application configuration and deployment pipeline to a different platform. We should aim to do this by the end of June in order to give ourselves a couple of weeks of buffer before Skyliner shuts down.
Discussion
Skyliner currently provides the following for us:
We don't necessarily (and perhaps cannot) find an economical alternative which provides all of these things, but this is the baseline on which to evaluate possibilities.
There are a number of alternatives to Skyliner. Here are some, along with the pros and cons of each:
AWS CodeStar
CodeStar bills itself as a "unified user interface, enabling you to...set up your entire continuous delivery toolchain in minutes." It's a UI that ties together a whole panoply of preexisting AWS products, including:
as well as a bunch of other deployment options. There a blog post that does a reasonable job of explaining what a CodeStar project looks like.
us-west-1
.Convox
Convox is open-source software that makes it possible to run your own Heroku-like cloud in your AWS account. There's a short demo video that shows what using it is like for a developer.
You install a so-called "Rack" (i.e. PaaS infrastructure) into your AWS account, and then the
convox
CLI tool interacts with it to run applications on your private PaaS.Convox uses a Docker Compose file to describe how to run your application, including backing services such as databases.
convox env
).Heroku
Heroku is one of the oldest and most well established PaaS providers. They offer a git-based deployment workflow, and as of a few years ago, delivery pipelines.
us-east-1
andeu-west-1
. That means we'd either have to migrate our database services, or accept a substantial latency penalty.AWS CodeDeploy
One of the pieces that is tied together by CodeStar into a more integrated product. It is essentially a software agent that runs on EC2 instances to coordinate code deployment, together with a web dashboard and set of APIs which can be used to orchestrate deployment.
AWS Elastic Beanstalk
EB is a PaaS-like offering from AWS. You give it a description of your application and it manages the resources to run it inside AWS. In this sense it's like Skyliner.
The text was updated successfully, but these errors were encountered: