5

Why we love AWS Beanstalk but are leaving it anyway

 2 years ago
source link: https://blog.jakubholy.net/2018/03/14/why-we-love-aws-beanstalk-but-are-leaving-it-anyway/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Why we love AWS Beanstalk but are leaving it anyway

March 14, 2018
Cross-posted from Telia's Tech Blog.

We have had our mission-critical webapp running on AWS Elastic Beanstalk for three years and have been extremely happy with it. However we have now outgrown it and move to a manually managed infrastructure and CodeDeploy.

AWS Beanstalk provides you with lot of bang for the buck and enables you to get up and running in no time:
  • Simple, no-downtime deployment and automatic roll-back based on user-provided health-check (either one subset of nodes at a time or blue-green deployment)
  • Autoscaling
  • Managed updates - security fixes and other improvements installed automatically
  • Built-in HTTP Proxy with caching in front of your application
  • Monitoring dashboard with alerting and access to logs without the need for SSH
  • A list of past versions & ability to roll-back
  • Support for many runtimes (Java, Node.js, Docker to name just a few)
So if you need a solid, state-of-the-art infrastructure for a web-scale application and you don't have lot of time and/or skill to build one on AWS on your own, I absolutely recommend Beanstalk.

We have of course also experienced some downsides - it took quite a while for Amazon to upgrade from Node 4 to 6 (though now it is far ahead of us), there is a lot going on during a deployment and it can sometimes fail mysteriously, and you are rather limited to what it provides. But the main reason that we are moving away from it is that we are implementing infrastructure-as-code and want to be able to describe our infrastructure in a textual configuration with history, checked into a version control system. Lot of beanstalk configuration is done through the AWS Console and thus it is impossible to see its evolution over time. (It is possible to configure something in a .ebextensions/ directory of your application, but it requires quite some knowledge and may be at odds with changes in the Console.)
Tags: DevOps

Are you benefitting from my writing? Consider buying me a coffee or supporting my work via GitHub Sponsors. Thank you! You can also book me for a mentoring / pair-programming session via Codementor or (cheaper) email.

Allow me to write to you!

Let's get in touch! I will occasionally send you a short email with a few links to interesting stuff I found and with summaries of my new blog posts. Max 1-2 emails per month. I read and answer to all replies.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK