This past September, I gave a talk in PyCon India 2016 titled “Python in Red Hat World”. The talk described the use cases of Python programming language inside of Red Hat.
I started the talk with an introduction to Red Hat--what we do and our main products are. Because the room had many students, this was new information for many of them. But almost all knew Red Hat for our flagship operating system, Red Hat Enterprise Linux (RHEL). When installing RHEL or Fedora (the upstream Linux distribution of RHEL), we use the project known as Anaconda to do so. Anaconda is written in Python. If you are trying to learn how to use Python Mock module and write better unittest cases, you should go through the source code of the Anaconda project.
After the installation of a new operating system, our next step is changing the state of the operating system through configuration. The tools under system-config- help us here. Most of these tools are, again, written in Python. Among them, a few are GUI tools, so we can use them to learn about simple GUI application development.
Firewall is one major component used for configuration in nearly every Linux system. Firewalld is a new tool that provides support for network/firewall zones, and also enables dynamic management of the firewall. Fedora Project has a wiki page with many examples for users. This tool is also written in Python.
Installation of new software is another big step while configuring a new computer. One can use the yum or dnf tool to install any packaged application from preferred repositories. Both of the tools are written using Python.
In the modern software world we all use various forms of cloud services. OpenStack is a well-known project in this sector. RDO technology provides the open source foundation for your organization to build a private or public Infrastructure-as-a-Service (IaaS) cloud. RDO also enables you to leverage OpenStack, the fastest-growing open cloud infrastructure project, technology, and community while maintaining the security, stability, and cloud-readiness of platforms like CentOS and RHEL.
When we work in a datacenter or big cloud environment, we generally do not manually configure thousands of servers, we use some sort configuration management system to get it done. Ansible is one such tool that can help anyone with different use cases, like provisioning, configuration management, app deployment, and continuous delivery.
The aforementioned Fedora Project is a free and open source software community project that produces a complete Linux-based operating system ready for cloud instances, server platforms, or workstation environments. This distribution incorporates leading-edge technologies built by free software developers and serves as the basis for RHEL and CentOS. With a few exceptions, most of the Fedora Infrastructure applications are written in Python.
The Fedora community chose to use the language not just because someone said to. It was more because Python is easy to learn, and provides a much lower barrier into contribution with code patches. All of the Fedora Project infrastructure is also managed using Ansible. We have a public Ansible repository that contains all playbooks/roles from the production servers. Any new contributor to the Fedora Infrastructure team generally starts with reading these. We also have weekly IRC meeting on every Thursday at 18:00 UTC in the #fedora-meeting channel on Freenode.
The list of projects goes on. To name a few:
The Software page on this very site contains details of many other projects to which Red Hat contributes.
Pagure is a new project from Fedora Infrastructure, a lightweight, git-centered forge that you can install in your server if you want. Many upstream projects already hosting their code in this project. It is written in Flask web framework. It had a special presence in my talk, as two student GSoC contributors to Pagure were also present in the conference. Now it is a starting point for many newcomers in Fedora Infrastructure application development.
I also introduced OpenShift, Red Hat's Platform-as-a-Service (PaaS) that enables developers to quickly develop, host, and scale applications in a cloud environment. With OpenShift you have a choice of offerings, including online, on-premise, and open source project options. One can deploy their Python applications in OpenShift using the latest container technologies.
For any company or project, people are much more valuable than code. In Red Hat no one can count how many people actually use Python (because way too many people use it). The number of internal projects using Python, or scripts which people use to generate different kinds of reports, is something we cannot count. But if we still want to talk about some numbers, we have two current Python Software Foundation directors in the company. We also have five core developers of CPython, the Python programming language.
At the end of my talk I stressed upon two points that help us to form our core values:
- Contributing to Open Source projects does not constitute a conflict of interest
- Choosing what is best for the project is good
There are not many companies out there who empowers their employees with such values. People choose to work for Red Hat for many different reasons, but the above mentioned statements are of course among the best reasons for any open source contributor.
À propos de l'auteur
Contenu similaire
Parcourir par canal
Automatisation
Les dernières nouveautés en matière d'automatisation informatique pour les technologies, les équipes et les environnements
Intelligence artificielle
Actualité sur les plateformes qui permettent aux clients d'exécuter des charges de travail d'IA sur tout type d'environnement
Cloud hybride ouvert
Découvrez comment créer un avenir flexible grâce au cloud hybride
Sécurité
Les dernières actualités sur la façon dont nous réduisons les risques dans tous les environnements et technologies
Edge computing
Actualité sur les plateformes qui simplifient les opérations en périphérie
Infrastructure
Les dernières nouveautés sur la plateforme Linux d'entreprise leader au monde
Applications
À l’intérieur de nos solutions aux défis d’application les plus difficiles
Programmes originaux
Histoires passionnantes de créateurs et de leaders de technologies d'entreprise
Produits
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Services cloud
- Voir tous les produits
Outils
- Formation et certification
- Mon compte
- Assistance client
- Ressources développeurs
- Rechercher un partenaire
- Red Hat Ecosystem Catalog
- Calculateur de valeur Red Hat
- Documentation
Essayer, acheter et vendre
Communication
- Contacter le service commercial
- Contactez notre service clientèle
- Contacter le service de formation
- Réseaux sociaux
À propos de Red Hat
Premier éditeur mondial de solutions Open Source pour les entreprises, nous fournissons des technologies Linux, cloud, de conteneurs et Kubernetes. Nous proposons des solutions stables qui aident les entreprises à jongler avec les divers environnements et plateformes, du cœur du datacenter à la périphérie du réseau.
Sélectionner une langue
Red Hat legal and privacy links
- À propos de Red Hat
- Carrières
- Événements
- Bureaux
- Contacter Red Hat
- Lire le blog Red Hat
- Diversité, équité et inclusion
- Cool Stuff Store
- Red Hat Summit