Should there really be such a thing as a “DevOps Engineer”? Probably not, but we’re far too late to stop it, and trying to stop it seems a bit of a waste of energy to me. Eventually “DevOps Engineer” will come to mean something more specific, but for now we’re just going to have to read a few more lines on CVs.
Why are programs so poorly structured?
DevOps is a marriage between tools and culture. If you are just using the tools that you heard about at a recent DevOps Days and not also embracing the culture (or at least working towards it) then you're not really "doing DevOps".
How do we know, we know what DevOps is? For episode 46, we sit down with Praxisflow’s Kevin Behr (whom you might recognize as one of the authors of the Phoenix Project) and Jabe Bloom to talk about these and other heady questions, including: what can we learn from the Agile community?
There are those people that have a strong, dogmatic belief in what they call “Free” or “Standard” or “Open” software.
The objectives of Test Driven Development and unit testing are generally misunderstood. The problem is the word ‘test’, it is much less about testing and much more about specification of requirements, showing your working – as in maths, and the impact it has on design.
Environment config, isn’t the same as “infrastructure as code”. This is the stuff that’s potentially live-tunable in an application stack that subsumes feature toggles, but goes further – application specific things not limited to rectangles of web-pages appearing or disappearing.
This week, DZone released its latest Checklist: Unit Testing. If you're interested in learning more about Unit Testing or sharpening your skills, we decided to dig into the DZone archives and find some of the most popular posts we've had on the topic over the past two years.
I keep hammering on trust and how it’s crucial that we trust our tests. If a test is deterministic, it raises the level of our trust. If it isn’t, we may question its result, which will be followed by questioning other tests as well.
I’ve just upgraded to Vagrant version 1.6, and vagrant global-status is possibly my favourite new feature. This command lists all currently up Vagrant environments wherever they may be on your computer
The goal of Continuous Delivery is to optimise cycle time in order to increase product revenues, and cycle time is measured as the average lead time of the value stream from code checkin to production release. This was memorably summarised by Mary and Tom Poppendieck as the Poppendieck Question.
The value stream associated with software development typically goes something like this: analysis, design, build, test, and deploy. That’s pretty much everything you need to develop a working tested increment of the product… and therefore what defines the basic requirements for a Scrum team.
Feature flags or config flags aka feature toggles aka flippers are an important part of Devops practices like dark launching (releasing features immediately and incrementally), A/B testing, and branching in code or branching by abstraction.
Shortly after you start building docker containers you will realize that you need some place to publish your images. You could push to the central docker registry. However, the central registry is public. Not a great idea if you are working on a private project.
In this article, I would like to discuss the opportunity to collect user behaviour and measure user happiness when building information system. I also want to share my idea on how to improve user experience based on data collected.
I have published new versions of librarian-puppet and puppet-blacksmith gems that handle the new Puppet metadata.json format for module data and dependencies.
Tests are about trust. We expect them to be reliable. Reliable tests tell us everything is ok when they pass, and that something is wrong when they fail. Tests can give false positive (fail when they shouldn’t) or false negative (pass when they shouldn’t) results.
Validation is one thing that’s missing from the core javafx framework. To fill in this gap there is already a 3rd party validation library that’s present in controlsfx.
Releasing the new version of GitHub Issues and the Deployment API is a step in the right direction. I am aware of the fact that there are a lot of projects using GitHub Issues as main issue tracker and even more just trying it.
The article presents some of the frequently asked interview questions in relation with unit testing with Java code. Please suggest other questions tthat you came across and I shall include in the list below.
A microservice is similiar to the “S” in the SOLID design principals. It is a service that has only one single responsibility. These small services are then composed together to make a cohesive system. The small services are independently deployable and distributable. In the new “cloud” world, elasticity is the game.
I once again had the pleasure of presenting a lightning talk at the London Software Craftsmanship Community #LSCCtalks series. This time I presented a new talk I’m working on – “Crafting DevOps: Applying software craftsmanship to DevOps”.
As your DevOps team grows, scaling efficiencies across the group is imperative to maintaining a well-oiled unit. A small team of smart engineers can function well without much effort, but as your team gets bigger, you need to make sure you invest in the right tools and practices to help keep everyone on the same page.
The question is – what if the test fails? Since you’ve allowed the tests to mark their territory, you now have tests that are hard to reproduce. That will cost you in debugging, and maybe in even resolving the problem. As always, it’s an ROI balance of risk analysis and mitigation.
Developers – and their managers – will need to get used to being part of the bigger picture of running IT, which is about much more than designing apps and writing and delivering code. This might be the future of software development. But not all developers will like it, or be good at it.