DevOps transformation goals can be defined as: Heightened Release Agility Improved Software Quality Or simply: Delivering Better Software Faster Therefore measurable DevOps success criteria would be: Being able to release versions faster and more often. Having less defects and failures. Measurement is one of the cornerstones of DevOps. But how do we measure flow? In order to track the flow (the amount of change getting pushed through our pipeline in a given unit of time) we’ve developed the 12 DevOps Flow Metrics. They are based on our industry experience and ideas from other DevOps practitioners and are a result of 10 years of implementing DevOps and CI/CD in large organisations. The metrics were initially publicly presented by Anton Weiss at a DevOpsDays TLV 2016 ignite talk. The talk got a lot of people interested and that’s why we decided to share the metrics with the community. We’ve created a github pages based…

Read more

“The codebase is a minefield —there will be casualties” – JAXenter https://jaxenter.com/continuous-delivery-interview-anton-weiss-128491.html

Are you optimistic when you look into the future and try to see what it brings? Do you believe in robot apocalypse or the utopia of singularity? Do you think the world will change to the better or to the worse? Or are you just too busy fixing bugs in production and making sure all your systems are running smoothly? Ant Weiss of Otomato describing the bright future of software delivery at Jenkins User Conference Israel 2016.

Watch Ant Weiss of Otomato provide an overview of the OpenStack CI – probably one of the most advanced Jenkins-based CI infrastructures in the world.

So I recently talked to a release engineering team leader at a very well-known american software+hardware company located in California. They contacted me looking for top-notch build infrastructure engineers and we spent a very interesting hour discussing their technological stack and people processes. On the surface – they are moving in the right direction – automating all the things, using Chef for config management, codifying the infrastructure, using Artifactory for binaries… But one thing struck me in our conversation. The team leader (clearly a very smart and talented guy) said : “I’ve been trying to hire for two years. Good professionals are so hard to find…” I agreed at first – we all know the market is starving for technical talent. But reflecting on our conversation afterwards I realized that he in fact showed me the number one symptom of how far their team is from ‘doing devops’. Yes –…

Read more

Hi! I’m Ilya Sher. This guest post will describe the deploy process at Utab, one of my clients. Background – system architecture summary Utab uses the services architecture. Some services are written in Java, others in NodeJS. Each server has either one Java application or one NodeJS application. The production environment uses (with the exception of load balancing configuration) the immutable server approach. Requirements for the deploy process The client specified the following requirements: Support for staging and production environments Manually triggered deploy for each of the environments Health check before adding a server to load balancing in production environment Option to easily and quickly rollback to previous version in production environment Simple custom tools are to be used ( no Chef/Puppet/… )   Solution background The Utab’s deploy and other scripts were made specifically for the client. Such custom scripts are usually simpler than any ready-made solution. It means they…

Read more

I was recently asked by a customer to outline the pros and cons of using git submodules vs. google repo tool to manage multi-repository integrations in git. There are a lot of articles on the internet bashing each of the tools, but in our opinion – most of it comes from misunderstanding the tool’s design or trying to apply it in an unappropriate context. This post summarizes the general rules of thumb we at Otomato follow when choosing a solution for this admittedly non-trivial situation. First of all – whenever possible – we recommend integrating your components on binary package level rather than compiling everything from source each time. I.e. : packaging components to jars, npms, eggs, rpms or docker images, uploading to a binary repo and pulling in as versioned dependencies during the build.  Still – sometimes this is not an optimal solution, especially if you do a lot…

Read more

Hi all! We really hope you’ve already registered to the Jenkins User Conference Israel which was SOLD OUT yesterday. But even if you haven’t – there’s still a chance to hang out with Kohsuke Kawaguchi – the father of Jenkins himself – and other Jenkins fans at a meetup the good people at JFrog are organising the day after the conference. Here is the link: http://meetu.ps/e/BHkfn/jvVGM/d Right now there are still 22 slots available. Go grab yours. Keep delivering!

We are happy to announce that @antweiss will be speaking about the future of software delivery at JUC Israel 2016 We have a couple of 100 NIS discount tickets to the conference and ticket sale is closing tomorrow! The first two folks to comment on this post will get the discount code. Type them comments!!!

Otomato is happy to announce we’re collaborating with Codefresh on their great continuous delivery for docker containers solution. (If you’re using docker in your development/production or only thinking of doing it – go check out http://codefresh.io. ) Our collaboration is mostly focused on industry analysis and docker development ecosystem research with the goal of identifying pain points and providing effective solutions. With quite a bit of evangelism on top. The linked post is the first fruit of that. https://codefresh.io/microservice-development-workflow-otto/  

30/59