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

Deploying to the Cloud

Deploying to the Cloud

In this session, we will cover the challenges and easy wins you can have when you plan to deploy your application to the cloud.

This goes from unit testing to development strategies to how AWS will be nasty to your domain name.

Included in this presentation (more info to come if voted!) is what and how to add to ant, ways of building servers from scratch with your application in under three minutes and getting jenkins to be the main controller of things.

Mark Drew

June 06, 2014
Tweet

Other Decks in Technology

Transcript

  1. @MarkDrew [email protected] http://charliemikedelta.com CFML developer
 Into web dev since ‘96


    Worked on many open source projects such as CFEclipse, AOP/1, Model Glue and Railo Now I work at CMD
  2. CMD CMD is a UK based web development consultancy How

    do you pronounce it? “Command” (better for puns)
  3. CMD develop Develop web applications with a variety of technologies

    such as ColdFusion, Railo, Tomcat, Java, JQuery amongst others
  4. CMD develop • deploy Consult on the issues of deployment

    of applications including cloud options as well as performance, CDN, high availability and provisioning
  5. CMD develop • deploy • deliver Monitoring of the results

    and success rate of both technology and “message” of applications we have out there.
  6. What We Will Cover Version ! Deploy ! Automate Deploying

    to the cloud isn't hard The requisites are: Versioning, deployment options and being able to let *something* else do it rather than you ! Things that get in the way are: Bad Practices Lack of clarity on the application domain Lack of confidence in the stack “Next, Next, Next, Ok” mentality
  7. Version Control • What is it? • Why do you

    need it? • “But there is only me?” • Isn’t it complicated
  8. Version Control: Git • Problems with DVCS’s • Git: best

    of both worlds • Local, and Distributed • Cooperative • GitFlow for workflow
  9. *Obligatory image of a cloud WHAT IS THE CLOUD? Distributed

    computing. Your servers are “out there” and you can move them and create new ones What the cloud isn’t It is being used as a term for everything “on the internet”
  10. Provide a range of services: Compute (virtual servers) EC2 Storage

    S3 - static assets Glacier - backups Database RDS, NoSQL Deployment and management AWS Elastic Beanstalk : AWS Application Container AWS CloudFormation : Templates for AWS Resource Creation AWS OpsWorks: DevOps Application Management Services
  11. AWS Deployment Options http://www.slideshare.net/AmazonWebServices/aws-summit-london-2014-deployment-done-right-300 Application Container Application Automation Templated Provisioning

    Roll your own! AWS Elastic Beanstalk AWS OpsWorks
 (beta) AWS CloudFormation Code
 +Tools
 +SDKs Convenient Control
  12. Elastic Beanstalk Commands • git init : Initialise your project

    as a git project • eb init : Initialise your project and answer location information questions (zone, size, loadbalancing) • eb start : Start the instance in the cloud • git aws.push : Push your local files up to Elastic Beanstalk (after committing!) • subl ./elasticbeanstalk/.optionsettings : Settings are stored in config files • eb update : Re upload the settings • eb status : Check the status of EB • eb stop : Stop your instance of your project • eb delete : Delete the instance of your project in EB
  13. Cloudbees http://www.cloudbees.com/ Another ops cloud. Mainly designed at continuous delivery

    (Now) Has a great (and similar easy way as EB) to deploy to cloud. Use their infrastructure or deploy to your AWS account
  14. Cloudbees Commands Demo • bees create sotrdemo : Creates a

    folder called sotrdemo with all the settings • cd sotrdemo • bees run : runs a local copy (on tomcat) of your application • bees deploy : deploys the delta up to a running instance of your application
  15. –Edwin Star “WAR! What is it good for?” Actually they

    are great for deploying to cloud stuff like cloud bees and elastic beanstalk. Also you can keep all your configs inside it!
  16. Problems • Managing keys and SSL certs (self signed is

    ok) • Getting used to NginX • Concept shift: Your app isn’t *that* important, you should be able to destroy it • API’s do not need sessions • User Created assets: off to CDNs • Assets: versioning and separation
  17. Exit • Q & A • Thank you, you are

    super awesome. • [email protected] • http://charliemikedelta.com • http://markdrew.co.uk