Test to Trust technique is closely related to continuous deployment. In principle you should have complete trust in your test automation so you could release at any time the build is green. This does not necessarily mean very high test coverage but rather understanding the other quality measures that are in place and adjusting the level of testing based on that.
Nortal has a GitHub account and we have distributed some libraries. What we propose here tries to take this even a step further – why not publish your project on GitHub whenever (legally) possible. Not hiding your code in a private repository increases transparency and benefits the code quality. This mostly applies to public sector projects but there are possibilities for private sector projects as well. There are fears to be managed and myths to be busted but we believe the result is worth it.
We often see disconnection between Operations and Development. Even if development teams manage the deployments themselves, they rarely are responsible for production server operating system updates, monitoring or know thoroughly how that environment was set up. For a team with a certain size it makes sense to have a dedicated person for operations in the team. Someone who could share the knowledge from ops world and ensure that all these topics are in line with planned developments. Having operations in the same room helps to improve understanding between these two disciplines and spot any warning signs for issues early on. Many product companies follow a principle: “you build it, you deploy it”. This is a great way to share ownership but involving people specialized in operations leads to better results.
PostgreSQL support for semi-structured and unstructured data types has made it a very powerful choice for data storage. In addition, it has proven to have high performance as NoSQL data store. We have conducted some performance testing of our own and results have been positive even with a significant amount of data.
If you know nothing about Docker, now is the time to start looking into it. It has become primary tool for container management in the industry. Docker removes the overhead and complexities that come with virtualization. This allows to replicate environments with ease even in development. The community around Docker is vibrant and tooling is rapidly maturing. Now with macOS and Windows support Docker is becoming a must-use tool. In Nortal we truly admire the impact Docker has on the industry.
Some years back it was an even battlefield between Git and Mercurial. They had similar community size, tooling and adoption. For many companies Mercurial won, since it was slightly easier to learn. Today we see that Git has pushed to the front, increasing its community and growing tooling. Mercurial on the other hand has revealed some performance issues regarding repositories with many branches. Although Mercurial was a bit easier to learn when coming from SVN, switch from Mercurial to Git is much simpler one.
If Docker is creating contained environments from image then Ansible is for provisioning your existing servers. And you don’t need to have a huge cluster to get started. Even managing test environment Tomcat installation and doing deployments for two nodes are tasks that benefit from automation with Ansible.
We have automated Sonar server upgrades with Ansible and written a blog post about it. This technology is very suitable for many situations where Docker does not fit.
This initial snapshot in the form of Technology Radar has been interesting to build and hopefully is interesting to read as well. We are already planning the next event where we can add new technologies on the radar, remove some and change the positioning of existing ones. We will gather similar group of developers in January to review and improve what has been built.