Our highest priority is to satisfy the customer through early
and continuous delivery of valuable software. Principles behind the Agile Manifesto How long would it take your organization to deploy a change that involves just one single line of code? Do you do this on a repeatable, reliable basis? Mary & Tom Poppendieck Implementing Lean Software Development Done means "released". This implies ownership of a project right up until its in the hands of the user, and working properly. Theres none of this "Ive checked in my code so its done as far as Im concerned". James Betteley SOFTWARE DELIVERY MODELS #1: No model, or random delivery. #2: Let the operations guys figure out. #3: Defined and collaborative approach. DELIVERY PRACTICES Version everything Automate everything Tokenize configurations Use one-click deployments Deploy to a copy of production Deploy the same way to every environment Have always a rollback mechanism in place. Lock down the environments. Build only once Measure the delivery process 26 Optimizacin de despliegues 1 2 3 Weeks Provisioning new HW SW Install/ config QA Certif. On-premises Windows Azure From 1-3 weeks to 30 minutes Every machine certified separately Basic checks prior to switch from staging QA Certif. Bring the pain forward Practice DevOps! Build a release pipeline Virtual Networks (10.0.0.0/16) (10.2.0.0/16) (10.1.0.0/16) 10.0.0.10 10.0.0.11 131.57.23.120 10.2.2.0/24 10.2.3.0/24 10.2.2.0/24 10.2.3.0/24 65.52.249.22 10.1.0.4 10.1.1.4 Continuous Delivery Recipes and Cookbooks thatUSEE: Recipes and Cookbooks that describe and deliver code. Chef enables people to easily build & manage complex & dynamic applications at massive scale. New model for describing infrastructure that promotes reuse Programmatically provision and configure Reconstruct business from code repository, data backup, and bare metal resources What is Chef? Chef is an IT automation platformfor developers & systems engineers to continuously define, build, and manage infrastructure. CHEF USES: Organizations Environments Roles Nodes Recipes Resources Cookbooks Run-lists Chef Concepts Azure plugin for Chef Request new VM from Azure API Bootstrap it over WinRM Install and start Chef Register with Chef server Run through the run list Instant infrastructure with one command Provisioning with Chef Easy to configure, reproducible, and portable work environments VirtualBox, Hyper-V, VMware, AWS, or any other provider. Windows Azure is not supported now. Shell scripts, Chef, or Puppet, can be used to automatically install and configure software on the machine Vagrant uses a base images: Boxes This Vagrant plugin allows you to standup Windows guests using WinRM instead of SSH Why vagrant? Automate your OpenStack cloud infrastructure Juju Charms define applications as services An Ubuntu, OSX or Windows machine to install the client on GUI or command-line Ubuntu juju Charms for everything you need juju generate-config ALM your way A continuous deployment solution for .NET teams Automates the deployment process Simplifies managing multiple environments Improves collaboration throughout the process Provides release analytics and reporting History Originally launched in 2009 as InRelease by InCycle Software InRelease 2.0 launched in 2010, 3.0 in 2013 Acquired by Microsoft in 2013 Release Management Automation Collaboration Team Foundation Server integration Analytics & reporting What about your own patterns & practices? Think about some delivery practice not covered in the session. Thanks @jlsoriat! http://aka.ms/ReleasePipeline Thanks! Madrid 29 de Marzo http://spain.windowsazurebootcamp.org