• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Continuous Delivery in the AWS Cloud
 

Continuous Delivery in the AWS Cloud

on

  • 3,163 views

A presentation on Continuous Delivery by Fabio Lessa and Nigel Fernandes at the Amazon Web Services summit in Melbourne and in Sydney

A presentation on Continuous Delivery by Fabio Lessa and Nigel Fernandes at the Amazon Web Services summit in Melbourne and in Sydney

Statistics

Views

Total Views
3,163
Views on SlideShare
3,151
Embed Views
12

Actions

Likes
4
Downloads
63
Comments
0

5 Embeds 12

http://wiki.maned.com 7
http://www.docshut.com 2
https://si0.twimg.com 1
https://twitter.com 1
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • About TW - global consulting, 10 countries, custom software development. know more? go to booth
  • Bulleted list for the talk. Highlight as we progress
  • They look after scripts sitting in VCS
  • deployment process, environment configurationAOL example of cost of inconsistencyQTP licensing as an antipattern
  • Before you had automation for builds and maybe deployments, now you have code manage the whole lifecycle
  • Second characteristic : Embrace failure
  •  - Multi-tenancy: variability across the whole stack (disk, network, cpu)
  • Point is that developers can’t afford to be ignorant about the env. no more throwing war files over the fence  - Design to make proper use of the services (as)
  • DevOps
  • So what are we left with?Automation of build, test, and deployment processEverything lives in version controlClose collaboration from everyone working on the systemReducing cycle timeAnd this is what we’re here to demonstrate. How Continuous Deilvery works in practice, by showing the workflow of a simple system
  • move away from a model where releases go out monthly or quarterly or whatever. To a model where you are constantly delivering value to production from the beginning of the project.2 beneficial effects of fast, automated feedback - your software is always production ready. you should be able to press a button and release your software to production at any time - and crucially, when you press that button, it should be a decision of the business, we shouldn’t be constrained by thinking you have to wait for the next release window in a month. it should be possible for the business to say they want a feature, it gets built in a week or two and then they can push it into production. and this is a big change, a strategic benefit for the business. if you are the business and you see a market opportunity and can react and get something out in a couple weeks, then you have incredible strategic advantage over your competitors. requires big changes in an organization. so how do we approach this?So what is the first step?
  • Bulleted list for the talk. Highlight as we progress
  • Application Diagram
  • Switch to terminal Review the time of the job. Switch to AWS console. Check the instances. Ssh into the box. Cat the puppet log.
  • Time to CI. Be good to your team. Integrate often. Fail fast.
  • back to the year 2000. non-techies don’t worry this is the only code quiz in my presentation. TW’s most important 4 lines of code – what is it?It says that every 60 seconds check source control for changes and if they exist then build and test
  • Puppet uses a declarative, model-based approach to IT automation.
  • Switch to terminal Review the time of the job. Switch to AWS console. Check the instances. Ssh into the box. Cat the puppet log.
  • Switch to Go. Explain the pipeline.
  • Switch to terminal Review the time of the job. Switch to AWS console. Check the instances. Ssh into the box. Cat the puppet log.
  • Switch to terminal Review the time of the job. Switch to AWS console. Check the instances. Ssh into the box. Cat the puppet log.
  • In summary: visibleops Common characteristics - Server to sys admin ratios greater than 100:1 (automation!) - Collaborative working relationships between functions - Higher investment early in the IT lifecycle - High throughput of effective change
  • to everyone in delivery process: dev, tester, dba, sysadmin, ba, etcfrom: compilation, unit tests, functional tests, integration tests, performance tests, etcfast feedback turns out to be the secret. When you achieve that you start winning.

Continuous Delivery in the AWS Cloud Continuous Delivery in the AWS Cloud Presentation Transcript

  • @flessa github.com/flessa
  • @nigelfds github.com/nigelfds
  • BIG IDEAS
  • Real World Tested
  • What are we talking about?
  • AgendaIdeas behind this workshop Ideas in practice Continuous integration System integration Production deployment Summary Questions
  • Infrastructure as code
  • ApplicationEnvironmentInfrastructure
  • consistency from development to production accidental necessary >> inconsistencyinconsistency deployment process environment configuration testing tools
  • Automation
  • Rebuild from code + data
  • Disk CPUNetwork Memory
  • Dev OpsOps Dev
  • In short.
  • 1 2 3Infrastructure Automate DevOps as code
  • continuous delivery small feature chunks timesoftware always production ready releases tied to business needs, not IT constraintsminimize the lead time from idea to live concept to cash
  • AgendaIdeas behind this workshop Ideas in practice Continuous integration System integration Production deployment Summary Questions
  • Sample Application for #AWS TweetsSample App
  • github.com/nigelfds/aws-twitter-feed
  • WebApp Java/JVM Executable War ~ 30 lines of code Unix ServiceNative Packaging/RPM
  • Lets see this working
  • I win with Continuous Integration
  • while (true) { if (change checked into vcs) then build & test sleep 60}
  • aws-twitter-feed repositorywhile (true) { if (change checked into vcs) then build & test sleep 60} RPM
  • Building Useful Servers
  • ApplicationEnvironmentInfrastructure
  • Puppet is IT automation software that helps systemadministrators manage infrastructurethroughout its lifecycle, fromprovisioning and configurationto patch management and compliance.
  • Puppet definition for our GO machine
  • Puppet definition continued…
  • Don’t make the Version Control Sad
  • github.com/nigelfds/configuration- masterPuppet definitionsand AWS scripts
  • To keep things moving, lets kick it off
  • S3 Bucket Self Configured Puppet & AWS Build scripts Server Packaged Scripts Cloud Formation APIs Create MachineBehind the scenes Nigel’s Laptop
  • AWS CloudFormation gives developersand systems administrators an easy way tocreate and manage a collection ofrelated AWS resources.
  • Once deployed, you can modify and update the AWS resources in acontrolled and predictable way allowing you to versioncontrol your AWS infrastructure in the same wayas you version control your software
  • Cloud Formation Template…… "Resources" : { "Ec2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "InstanceType" : "c1.medium", "SecurityGroups" : [ { "Ref" : "InstanceSecurityGroup" } ], "KeyName" : { "Ref" : "KeyName" }, "ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "AMI" ]}, "UserData": { "Ref": "BootScript" } } },……
  • Creating the stack with CloudFormationName of the stack Create the stack Self configuration scripts (Invokes Puppet)
  • Lets see how we’re doing
  • Repeatable & Continuous
  • Puppet definition for our GO machine Server Monitoring
  • In Short
  • Packaging for the target ( Using PMs)Continuous Integration (Using )Declarative Env. Conf. (Using )Infrastructure as Code (Using )
  • AgendaIdeas behind this workshop Ideas in practice Continuous integrationSystem integration Production deployment Summary Questions
  • Everything works by itself
  • But they need to work together
  • Bring in the conductor =
  • Complex !
  • How does this look in
  • Self Configured GO Server App Server Cloud Formation APIsBehind the scenes
  • Creating the AMI Create an AMI from the running instace Save a reference to the Image IdDelete the running instance
  • Lets see this on AWS
  • Snapshot -> AMIs are awesome
  • Boot Test QA =Speed Prod Instances
  • Agenda Ideas behind this workshop Ideas in practice Continuous integration System integrationProduction deployment Summary Questions
  • To keep things moving, lets kick it off
  • ELB Remove ZERO DOWNTIME ! ID-1 ID-2 AutoscalingTerminateInstance APP APPID-1ID-2 V2.0 V1.0 V2.0 V1.0 ID-3 ID-1 ID-2 ID-4
  • Lets see this working
  • AgendaIdeas behind this workshop Ideas in practice Continuous integration System integration Production deployment Summary Questions
  • 1 2 3Infrastructure Automate DevOps as code
  • Thank you and …
  • “How? By fast, automated of your on the production readiness feedback applications every time there is a change whether code, infrastructure, configuration or database ” Jez Humble Author Continuous Delivery
  • Ps. We’re hiring ;-)