Setor: Desenvolvimento de software

Produtos da JetBrains usados: PyCharm

Tamanho da organização: 500+

País: Internacional

OpenStack

O OpenStack é um dos softwares em nuvem de código aberto mais amplamente implantados no mundo. Ele é desenvolvido pela comunidade e para a comunidade, com mais de 200 projetos ativamente incluídos como contribuição no ecossistema espalhado por 187 países. O OpenStack foi eleito o "Projeto PyCharm da Década".

“O PyCharm tem toneladas de vantagens quando comparado aos editores de texto em termos de funcionalidade com suporte. Com relação ao desenvolvimento em Python, o PyCharm definitivamente se destaca com recursos como depuração remota, verificações de qualidade de código e integrações com softwares de terceiros, como o Docker e o Kubernetes.”

— Swapnil Kulkarni, Colaborador ativo de tecnologia, OpenStack

Você poderia nos contar um pouco sobre você e sua jornada de colaboração para o OpenStack?

Tenho mais de 12 anos de experiência em desenvolvimento de software. Trabalhado com a equipe de contêineres na comunidade OpenStack há mais de 4 anos e trabalhei em vários casos de uso para utilizar o ecossistema de contêiner no OpenStack, como toda a implantação em contêiner do OpenStack com o projeto Kolla. Também trabalho como revisor principal com a equipe de requisitos do OpenStack.

Você poderia descrever o OpenStack para aqueles que ainda não o conhecem?

O OpenStack começou como um sistema operacional em nuvem de código aberto com contribuições iniciais da NASA e da Rackspace. Ele forneceu uma plataforma alternativa muito necessária para empresas que buscam uma nuvem privada open source. Tudo começou com apenas um componente Compute (Nova) e Object Storage (Swift) e, desde então, adquiriu mais de 250 parceiros de tecnologia ativos, com desenvolvedores ativos contribuindo com diferentes recursos para torná-lo um protagonista viável para a implantação da nuvem privada.

Onde o OpenStack opera?

O OpenStack opera em mais de 187 países e tem uma comunidade de desenvolvedores e uma base de operadores em todos os continentes. Também há uma base de usuários diversificada, desde pequenos clusters de desenvolvimento com nós de um único dígito até clusters em grande escala com milhares de nós, como um dos maiores laboratórios do CERN.

Conte-nos como o OpenStack está organizado como um projeto open source?

Os diferentes projetos, iniciativas e eventos no ecossistema OpenStack são regidos pela OpenStack Foundation. O código-fonte é espelhado no Github a partir do código-fonte gerenciado no repositório OpenDev, e tudo é revisado com o Gerrit. As decisões técnicas relacionadas aos projetos e à comunidade são feitas pelo Comitê Técnico, formado por um processo eleitoral aberto em toda a comunidade de todos os colaboradores ativos.

Existem mais de 200 projetos que estão recebendo colaboração ativa no ecossistema. Esses projetos podem ser categorizados em vários streams, como Computação, Armazenamento, Rede, Controle de qualidade, Implantação, Segurança, IA/ML, etc. Com milhares de análises recebidas todas as semanas, a comunidade depende da infraestrutura fornecida por empresas como a Vexhost para realizar os trabalhos de integração e entrega contínuas.

Equipe OpenStack

Como as equipes do OpenStack estão organizadas?

Cada projeto OpenStack tem sua própria equipe principal. O tamanho depende do número de colaboradores e das revisões de projeto recebidas. Pode variar de uma pequena equipe principal de cerca de 5 membros até uma equipe de 50 membros ou mais para grupos de projeto maiores. Cada grupo de projeto faz parte de um fluxo mais amplo com objetivos que abrangem toda a comunidade. Além das equipes de desenvolvimento, existem grupos de interesses especiais, como o grupo Operators, que colaboram e se concentram nos requisitos e problemas com as implantações do OpenStack. Temos um comitê de usuários para obter feedback dos usuários do OpenStack e um Comitê Técnico que funciona como um catalisador entre os usuários, desenvolvedores, operadores e os membros do conselho da OpenStack Foundation.

Quais são as principais linguagens e tecnologias geralmente usadas no OpenStack?

Mais de 95% de toda a base de código do OpenStack está em Python. Para quaisquer requisitos relacionados ao desenvolvimento Web, usamos a framework Django.

O que há de tão especial no Python e por que você o escolheu como linguagem principal?

Em primeiro lugar, o Python é ótimo para desenvolvimento rápido. É muito mais rápido desenvolver um novo recurso com o Python do que com qualquer uma das outras linguagens por aí. OK, ele não é o único, mas o ponto é: capacidade de entrega. O OpenStack tem um modelo de desenvolvimento em ritmo muito rápido e geralmente precisa trabalhar com subsistemas que requerem uma linguagem repleta de recursos técnicos ricos e bibliotecas robustas. A linguagem deve ser orientada a objetos e com tipo dinâmico. O Python atende 100% a essas necessidades. Ele também é limpo e fácil de ler e compreender, e é por isso que adoramos ele.

Que tipo de desenvolvimento Python você e sua equipe estão fazendo?

Existem vários fluxos de desenvolvimento Python nas equipes OpenStack. Temos APIs para cada módulo, os algoritmos de planejamento, os componentes para fornecer chamadas nativas a diferentes componentes de hardware, como hipervisores e subsistemas de armazenamento. O Python também é usado para diferentes requisitos no desenvolvimento de dashboards da Web com a framework Django.

Na sua opinião, quais são os principais desafios de desenvolvimento para os desenvolvedores OpenStack?

Trabalhar com um grande projeto como o OpenStack requer pontos de integração em vários projetos internos, bem como componentes de suporte externos. Isso exige depuração única e também entre projetos, integração com Git/Gerrit, gerenciamento de requisitos, depuração em tempo real, uso de integrações como Vagrant, Docker, Ansible e Kubernetes, e estes são apenas alguns dos principais desafios. Uma ferramenta como o PyCharm, que possui pontos de integração ou plug-ins disponíveis para tais requisitos, definitivamente ajuda os desenvolvedores a superar muitos desses desafios.

200 desenvolvedores principais no OpenStack usam o PyCharm. Como ele os ajuda a serem mais produtivos?

O PyCharm tem toneladas de vantagens quando comparado aos editores de texto em termos de funcionalidade com suporte. Com relação ao desenvolvimento em Python, o PyCharm definitivamente se destaca com recursos como depuração remota, verificações de qualidade de código e integrações com softwares de terceiros, como o Docker e o Kubernetes. Os recursos mais usados com o PyCharm na minha equipe são a depuração remota e a integração com o Docker.

PyCharm funciona muito bem para a maioria dos usuários. Ele fornece suporte para conformidade de estilo de código em todo o projeto e controle de versão. Muitos desenvolvedores também acham as correções rápidas bastante úteis e economizam muito tempo ao corrigir pequenos bugs e fazer reformatação de código. Além disso, o suporte para depuração torna mais fácil para as equipes de desenvolvimento verificarem o desenvolvimento de recursos. Você também pode usar os plug-ins do Gerrit para gerenciar suas revisões de código a partir do próprio IDE.

Na sua opinião, quais recursos do PyCharm aumentam mais a sua produtividade?

Para começar, sou colaborador em vários projetos de conteinerização dentro do OpenStack. Ter um IDE com suporte para integração com o Docker realmente torna isso muito mais fácil para mim. Também me ajuda a fazer alguns testes adicionais com contêineres para projetos que ainda não estão em contêiner.

Você já incentivou amigos ou colegas a usar o PyCharm? Quais são os três principais recursos que você menciona ao recomendar o PyCharm?

Sim. Sempre incentivo meus amigos ou colegas a usarem não só o PyCharm, mas todo o conjunto de produtos JetBrains de acordo com seus requisitos. Como mencionei antes, seja você novato ou desenvolvedor experiente, recursos como editores de código inteligentes, navegação de código inteligente, suporte para integrações com ferramentas compatíveis, como o Git, o Docker e assim por diante irão ajudar. Os desenvolvedores têm uma ferramenta confiável que lhes dá o suporte de que precisam para realizar suas atividades e podem se concentrar em suas atividades de desenvolvimento.

Contatos

Swapnil Kulkarni, Colaborador ativo de tecnologia, OpenStack

twitter.com/coolsvap
www.openstack.org

Histórias de clientes semelhantes

RoadBotics

Matt Lucas, Chefe de produtos, RoadBotics

Migramos para o WebStorm em parte porque muitos dos recursos Premium estão incluídos no pacote, o que nos permite começar rapidamente, reduzindo nossa dependência por ferramentas de terceiros. Além disso, ter todas as nossas licenças de software em um só lugar facilitou o acesso às nossas ferramentas de desenvolvimento.

Instil

Garth Gilmour, Chefe de Aprendizagem, Instil

Quando as restrições de distanciamento social foram introduzidas em março de 2020, precisávamos de uma ferramenta que nos permitisse colaborar online com os alunos como parte de entregas virtuais, e o Space foi nossa escolha óbvia.

Autodesk

Ben Asher, Desenvolvedor iOS, Autodesk

Com o Kotlin Multiplatform, um engenheiro pode criar um novo recurso, testá-lo em uma plataforma e depois as outras plataformas podem simplesmente conectar os modelos de dados e a lógica de negócios às suas UIs e reutilizar a maior parte do trabalho de base. Agora que estamos trabalhando em uma base de código compartilhada, colaboramos mais entre plataformas.

Mais histórias de clientes