Thursday, November 6, 2014

Amazon Web Services Cloud PaaS using Elastic Beanstalk on top of Elastic Compute Cloud

In progress - 20141104


    Embrace DevOps by running everything in the cloud - the only thing you need locally is a very good developer machine.

How to become a DevOps developer.
    I need a platform as a service solution for both the application server layer and the database layer but I would like to retain some control over the infrastructure.  There are several solutions including Oracle Cloud, Google AppSpot, Pivotal CloudFoundry, Cloudbees, Heroku and other providers - however there is one service that has almost everything we need - Amazon Web Services.

    I ran Oracle cloud for 6 months - specifically the PaaS offering around their $275/month Java service and their $250/month database service.

However, I found that it did not offer the flexibility that AWS currently offers in a combined Iaas and PaaS model.

Account Setup:

Get an Amazon Web Services account at
Get Atlassian JIRA, Bitbucket and Bamboo accounts
Link your bamboo and jira accounts
Elastic Beanstalk supports Java 8 and Tomcat 8 but you need to enable Java 8 first

Developer Setup:

A good machine - ideally the top Mac Pro
VMware Fusion for running multiple OSX, Redhat and Windows virtual machines
MySQL (or PostgreSQL)

Connect to your EC2 or RDS instance


obrienlabs-mbp15:keys michaelobrien$ chmod 400 obrien_systems_aws_20141115.pem  obrienlabs-mbp15:keys michaelobrien$ ssh-add obrien_systems_aws_20141115.pem obrienlabs-mbp15:keys michaelobrien$ ssh -i obrien_systems_aws_20141115.pem
No packages needed for security; 1 packages available Run "sudo yum update" to apply all updates. [ec2-user@ip-172-31-01-01 ~]$ 
obrienlabs-mbp15:keys michaelobrien$ ssh-add obrien_systems_aws_20141115.pem
to bastion
obrienlabs-mbp15:keys michaelobrien$ ssh -A
then to instance
obrienlabs-mbp15:keys michaelobrien$ ssh

Make sure you are using the latest AWS CLI as some API has been upgraded
[ec2-user@ip-10-0-1-106 ~]$ aws --version aws-cli/1.5.1 Python/2.6.9 Linux/3.14.20-20.44.amzn1.x86_64


    You will want Continuous Integration support in the form of a GIT hosting service that supports Maven.   GitHub is one possibility but I find the Atlassian has a rich ecosystem that integrates very well with Amazon AWS.  A bamboo build account can automate building and deploying to your elastic beanstalk EC2 instances with a minimal amount of scripting.



ScaleArc as a software SQL cache and read/write sharding proxy sees its best performance when the number of threads is a small multiple of the number of cores in the proxy.

20141112 AWS re:Invent Keynote

AWS EC2 container service (docker)
ECS arrived 20141218

Google just came out with an alpha version of their microservices container – a 3rd option to look at briefly.  

High Availability live key rotation and tracking
AWS Key Management

There is no easy way to see what all is running and what the ecosystem connections are
AWS Config

Additional tracking on top of AWS CloudTrail
AWS Service Catalog

CI and CD
AWS CodeCommit
AWS CodePipeline
AWS CodeDeploy

AWS Aurora  (Cloud native DB)

20141113: AWS Lambda Compute Service
After you ask to be in the preview

get up to speed on node.js

1 comment:

Unknown said...

I have read this post. collection of post is a nice one AWS Online Training

Total Pageviews