The System Of Continuous Migration
Introduction We live in a world where a commercial organization has to be in a state of constant flux. That is – if it wants to survive and prosper. This statement is even more accurate for IT companies. (And – as the popular saying goes – every company is an IT company today) One could of course argue that I’m suffering from a consultant worldview bias. After all – consultants are mostly brought in to help with organizational and technological changes. In the last couple of years we at Otomato have been involved in dozens of projects that all had ‘migration’ or ‘transformation’ in their title. So yes, definitely – change is all we see. But I’ve spent more than 15 years in IT companies small and large prior to becoming a consultant – and it’s always been like this. With ever accelerating speed. We’ve been changing languages, frameworks, architectural…
Dynamically spinning up Jenkins slaves on Docker clusters
Introduction: Being able to dynamically spin up slave containers is great. But if we want to support significant build volumes we need more than a few Docker hosts. Defining a separate Docker cloud instance for each new host is definitely not something we want to do – especially as we’d need to redefine the slave templates for each new host. A much nicer solution is combining our Docker hosts into a cluster managed by a so-called container orchestrator (or scheduler) and then define that whole cluster as one cloud instance in Jenkins.This way we can easily expand the cluster by adding new nodes into it without needing to update anything in Jenkins configuration. There are 4 leading container orchestration platforms today and they are: Kubernetes (open-sourced and maintained by Google) Docker Swarm (from Docker Inc. – the company behind Docker) Marathon (a part of the Mesos project) Nomad (from Hashicorp)…
Continuous Lifecycle London 2017
Last week I had the honour to speak about ChatOps at Continuous Lifecycle conference in London. The conference is organised by The Register and heise Developer and is dedicated to all things DevOps and Continuous Software Delivery. There were 2 days of talks and one day of workshops. Regretfully I couldn’t attend the last day, but I heard some of the workshops were really great. The Venue The venue was great! Situated right in the historical centre of London city, a few steps away from Big Ben, the QEII Center has a breathtaking view and a lot of space. The talks took place in 3 rooms : one large auditorium and 2 — smaller ones. It is quite hard to predict which talks will attract the most audience and it was hit and miss this time around too. Some talks were over-crowded while others felt a bit empty. Between the talks everybody gathered…
DevOps is a Myth
(Practitioner’s Reflections on The DevOps Handbook) The Holy Wars of DevOps Yet another argument explodes online around the ‘true nature of DevOps’, around ‘what DevOps really means’ or around ‘what DevOps is not’. At each conference I attend we talk about DevOps culture, DevOps mindset and DevOps ways. All confirming one single truth – DevOps is a myth. Now don’t get me wrong – in no way is this a negation of its validity or importance. As Y.N.Harrari shows so eloquently in his book ‘Sapiens’ – myths were the forming power in the development of humankind. It is in fact our ability to collectively believe in these non-objective, imagined realities that allows us to collaborate at large scale, to coordinate our actions, to build pyramids, temples, cities and roads. There’s a Handbook! I am writing this while finishing the exceptionally well written “DevOps Handbook”. If you really want to know…
Impressions from DevOpsDays Moscow 2017
The Russian Link I’m on my way back from the first ever DevOpsDays event in Russia where I had the privilege to share the stage with shockingly gifted and knowledgeable speakers. This may sound like just another DevOpsDays to you, but for me it was a big deal. As some of you may know I was born in Russia and lived in St.Petersburg until the age of 15. I am a native russian speaker, and though I’ve spent almost two thirds of my life in Israel – the link to russian culture has never been broken. So when I saw the event planned on the official DevOpsDays community site – I applied to give a talk and was happy to get accepted. During my 17 years in the industry I never had a chance to work with russian software engineers (not counting the Israeli Russians – these I’ve seen…
Thank you Intel Sports!
Mission completed! We’ve done a full month of getting the #Intel Sports developers up to speed with git. It’s always fun to train bright folks – and the engineers at Intel are certainly among the brighthest we ‘ve had the privilege to preach git to. While providing the training we’ve also developed a few ideas regarding git subtree and the plan is to share these ideas in a follow-up post to this one (which compares submodules to repo) Have a great weekend!
CI/CD for Microservices – Challenges and Best Practices
Introduction: Microservice Software Architecture is a software system architecture pattern whereas an application or a system is composed of a number of smaller interconnected services. This is in opposite to the previously popular monolith architectures in which, even if having a logically modular, component-based structure the application is packaged and deployed as a monolith. The Microservice architectural pattern while having many benefits (which we’ll briefly outline in the following paragraph) also presents new challenges all along our software delivery pipeline. This whitepaper strives to map out these challenges and define the best practices for tackling them to ensure a streamlined and quality-oriented delivery process. Microservice Architecture Benefits: Smaller Application Footprint (per Service) The ‘Micro’ notion of the concept has been getting some justified critic – as it’s not really about the size of the codebase, but more about correct logical separation of concerns. Still once we do split our existing…
DevOps Flow Metrics – http://devopsflowmetrics.org
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…
Continuous Delivery as a Necessity – Anton Weiss interviewed for JAXenter.com
“The codebase is a minefield —there will be casualties” – JAXenter https://jaxenter.com/continuous-delivery-interview-anton-weiss-128491.html
Jenkins and the Future of Software Delivery
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.