Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How (Not) to Deploy to AWS

How (Not) to Deploy to AWS

Presenting the meanders of deploying your applications to Amazon Web Services (AWS). Using (hosted) Jenkins for building your artifacts and running them on Amazon is great, but the deployment process is not without hurdles. This talk shows some failed or suboptimal approaches and how to achieve a reliable and repeatable process. Additionally, we take a look at the security aspect while building and deploying, since you are facing different challenges than on your own infrastructure.

Philipp Krenn

May 15, 2015
Tweet

More Decks by Philipp Krenn

Other Decks in Programming

Transcript

  1. Blessing ! Promote the build on Jenkins $ mvn package

    -Dspring.profiles.active=development Copy the artifact to S3 Fetch it during the deployment
  2. What You Bless Is not What You Package Changed snapshot

    dependencies Always packages the latest build MissingProjectException
  3. in the cloud, no one can hear you scream —

    @sadserver, https://twitter.com/sadserver/status/ 641960756678889472
  4. !/bin/sh FILE=$1 FILENAME=$(basename "$FILE") DIRECTORY=$(dirname "$FILE") EXTENSION="${FILENAME##*.}" NAME="${FILENAME%.*}" if [[

    "$EXTENSION" != "aes256" ]] then echo "Encrypting $FILENAME and removing the plaintext file" openssl aes-256-cbc -e -a -in $DIRECTORY/$FILENAME -out $DIRECTORY/${FILENAME}.aes256 rm $DIRECTORY/$FILENAME else then echo "Decrypting $FILENAME" openssl aes-256-cbc -d -a -in $DIRECTORY/$FILENAME -out $DIRECTORY/$NAME fi
  5. This outage was the result of an attack on our

    systems using a compromised API key. — http://status.bonsai.io/incidents/qt70mqtjbf0s
  6. Tip Add information to the artifacts $ cat version Build

    number: 544 Build date: 2015-05-13_15-30-42 Git SHA1: 52c86f63895606f08cd