With a fresh installation of Ansible, like every other software, it ships with a default configuration file. This is the brain and the heart of Ansible, the file that governs the behavior of all interactions performed by the control node. In Ansible’s case that default configuration file is (ansible.cfg) located in /etc/ansible/ansible.cfg.
“A [person] thinks that by mouthing hard words he or she understands hard things.” – Herman Melville
How many times have you met with a team of engineers, architects, or even clients to talk about the designs of a software feature, and a single word used caused mass confusion because everyone had a slightly different definition? (Ugh, why are words so hard?!)
I have never found a more challenging concept to talk about than Representational State Transfer (REST). What does REST and being RESTful mean? Are resources the same thing as entities? Where do representations come into the mix? This blog post will answer these questions and describe the RESTful architectural style.
The coronavirus pandemic has created much more than a global health emergency. COVID-19 has forced important changes in the daily lives of individuals and companies worldwide.
More than two billion people in the four corners of the planet have been quarantined to curb the spread of the disease. Many industries stopped their production lines, stores have closed their doors, and companies had to adapt their ways of working. Many people needed to relearn how to organize their routines.
But, if everything has a good side, the unprecedented situation created by the pandemic gave birth to good ideas. It helped to accelerate business changes that have been under discussion for a long time. Business agility is now a must to survive. Technology and collaboration, which are gaining more and more space in the construction of a “new normal” is essential to support the new routine of individuals and organizations.
Long after leaving, the pandemic will leave some positive points to be incorporated into the routines, helping to transform visions, optimize resources, and improve the day to day for employees and managers. In a post-coronavirus era, it will be essential to:
“I don’t have permission to do this!” That’s one of many phrases that I used to hear from a couple of developers when trying to introduce them to a Configuration Management tool. This barrier was, and still is in some cases, a major obstacle in companies that didn’t adhere to the DevOps movement and practices, a problem that I like to call as “The Wall”. If you are questioning, yes, I am a huge Pink Floyd fan!
“The Wall” is characterized when, for some reason(s), developers, and operations don’t find a middle ground and share the responsibilities. What it will probably result in is a rigid and unreliable application. In a world, where requirements are constantly modified due to customer behavior, these teams will likely fail, when trying to achieve a stable, resilient, and flexible platform. It’s not easy to deal with this cultural problem, and one of the main pillars that support this is technical complexity. All sides have their own specifics, problems, architecture, languages… If we just throw packages from one side to the other, we are just adding “another brick in the wall”. There is a necessity to translate this entanglement and meet halfway, working with platforms like Kubernetes, a container orchestrator that can provide a smooth approach when introducing teams to areas that they didn’t know before.
Kogito is a cloud-native business automation framework for building intelligent business applications. It is based on battle-tested runtime components (like Drools, jBPM, OptaPlanner), and it allows the development of process and business rules centric cloud-native applications for orchestrating distributed microservices and container-native applications. It takes advantage of the many benefits of the container-native platforms (like Kubernetes, OpenShift) as it was designed from the ground up for those platforms.
Some of the distinguishing characteristics of Kogito are as follows:
Container-native applications are becoming more and more complex, consisting of various services and features, each component with its own security constraints and complex network policy rules. This makes it more difficult to perform day two operations once the cloud-native applications are deployed.
While upgrades, patches, and provisioning can be done using Ansible playbooks or Helm Charts, application lifecycle, storage lifecycle, and other deeper analysis cannot be done and requires application support team intervention.
Operator Framework initiative introduced Operator-SDK framework several years ago to standardize Kubernetes Operators development and make it easier for the Kubernetes community to create Operators and control container-native applications lifecycle.
Ansible Tower is a powerful system for managing and running Ansible tasks. But the process of configuring projects, jobs, and inventories can often be an arduous and manual process. Using some simple tools, we can automate the automation and begin to embrace GitOps fully.