This document summarizes a workshop about DevOps practices like continuous integration, infrastructure as code, and automated deployment. It discusses:
1. Using continuous integration to automatically build and test code changes.
2. Defining infrastructure using configuration files to enable consistent and automated environments from development to production.
3. Automating deployment through tools that rebuild servers from code and data to enable rapid, repeatable releases with minimal downtime.
The document provides examples using tools like Puppet, AWS, and CloudFormation to demonstrate these practices on a sample Twitter application. It emphasizes how automation enables faster delivery of features while maintaining production stability.
12. consistency from development to
production
accidental necessary
>> inconsistency
inconsistency
deployment process
environment configuration
testing tools
21. continuous delivery
small feature chunks
time
software always production ready
releases tied to business needs, not IT constraints
minimize the lead time from idea to live
concept to cash
22. Agenda
Ideas behind this workshop
Ideas in practice
Continuous integration
System integration
Production deployment
Summary
Questions
33. Puppet is IT automation software that helps system
administrators manage infrastructure
throughout its lifecycle, from
provisioning and configuration
to patch management and compliance.
40. AWS CloudFormation gives developers
and systems administrators an easy way to
create and manage a collection of
related AWS resources.
41. Once deployed, you can modify and update the AWS resources in a
controlled and predictable way allowing
you to version
control your AWS infrastructure in the same way
as you version control your software
69. “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
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.