3
respostas

Dúvidas básica, não tão "básicas" sobre OCI

Aprendendo OpenAPI e Desenvolvendo no Projeto Doguito PetShop!

Fala, pessoal!

Quero compartilhar com vocês que comecei a estudar OCI e estou colocando em prática no projeto Doguito PetShop. Nele, estou conectando front-end e back-end, além de aprimorar minhas habilidades em desenvolvimento full stack.

Como estou nessa fase de aprendizado, gostaria de contar com a ajuda de vocês da comunidade para trocar ideias e aprender mais com quem já tem experiência no assunto.

Algumas dúvidas que surgiram e adoraria ouvir a opinião de vocês:

*Como vocês fazem a integração entre front e back-end de forma mais eficiente com OCI? *Para projetos menores, vocês acham que vale a pena focar em microserviços ou uma abordagem monolítica é mais adequada? *Quais dicas vocês têm para melhorar a escalabilidade de uma aplicação como essa sem ficar caro? Tipo Balance com compute? *Existe algum passo a passo que vocês seguem na hora de implementar uma API?

Se você já passou por algo parecido ou tem boas práticas pra compartilhar, comenta aqui! Estou sempre aberto a aprender com quem já trilhou esse caminho.

Vamos trocar experiências e nos conectar! Se você trabalha com desenvolvimento web, devops, APIs, escalabilidade ou microserviços, ficarei feliz em trocar ideias.

https://www.linkedin.com/in/leandrovgoulart/

3 respostas

Olá, Leandro!

Que legal ver você se aventurando no mundo do OCI e aplicando seus conhecimentos no projeto Doguito PetShop! Vou tentar ajudar com suas dúvidas:

  1. Integração entre front-end e back-end com OCI: Uma forma eficiente de integrar é utilizando APIs RESTful, que são bem suportadas pelo OCI. Você pode usar o Oracle API Gateway para gerenciar suas APIs, que oferece segurança, monitoramento e escalabilidade. Além disso, o uso de WebSockets pode ser uma boa opção para aplicações que necessitam de comunicação em tempo real.

  2. Microserviços vs. Monolítico para projetos menores: Para projetos menores, uma abordagem monolítica pode ser mais simples e fácil de gerenciar. No entanto, se você planeja escalar o projeto ou adicionar funcionalidades complexas no futuro, começar com microserviços pode ser vantajoso. Microserviços permitem que você escale partes específicas do seu aplicativo e facilite a manutenção de código.

  3. Escalabilidade sem altos custos: Para melhorar a escalabilidade sem gastar muito, considere usar o Oracle Cloud Infrastructure Auto Scaling, que ajusta automaticamente os recursos com base na demanda. Além disso, o uso de instâncias de computação flexíveis e regionais pode ajudar a otimizar custos. O uso de caches, como o Oracle Coherence, também pode melhorar o desempenho sem aumentar significativamente os custos.

  4. Passo a passo para implementar uma API:

    • Planejamento: Defina os requisitos da API e desenhe o contrato (por exemplo, usando OpenAPI/Swagger).
    • Design: Estruture a API de forma que seja fácil de usar e mantenha boas práticas, como versionamento e uso de verbos HTTP adequados.
    • Implementação: Desenvolva a API usando uma linguagem e framework de sua escolha, garantindo que siga o contrato definido.
    • Testes: Realize testes unitários e de integração para garantir que a API funcione conforme esperado.
    • Deploy: Use ferramentas de CI/CD para automatizar o processo de deploy no OCI.
    • Monitoramento e Manutenção: Utilize ferramentas de monitoramento para acompanhar o desempenho e erros da API.

Espero que essas dicas ajudem você a avançar no seu projeto! É sempre bom trocar experiências e aprender com a comunidade. Bons estudos e sucesso no seu projeto!

Obrigado pela resposta lucão.

Quais ferramentas vocês recomendam para gerenciar projetos ágeis e facilitar a colaboração da equipe? Quero dizer, para que esta começando, quais são as ferramentas de menor complexidade comumente usadas pelo mercado?? Você sabe me dizer??

outra coisa...

estava lendo um livro sobre Desig patterns,

Como os design patterns podem ajudar na escalabilidade e manutenção de uma aplicação? Você poderia dar exemplos práticos de como implementar um design pattern específico em um projeto real? Deve ser decidido antes do início do projeto, ou é possível aplicar em um projeto legado??

Olá, Leandro!

Costumo usar boards no Trello ou Click-Up (esse tem umas automatizações bem legais) na abordagem de trabalho e plataformas para CI/CD e controle versionamento como o GitHub.