English version 🇺🇸
Service developed as part of the Phase 2 Tech Challenge — FIAP Postgraduate in .NET Software Architecture with Azure.
✨ Key Features • 🧠 Technical Requirements • 🚀 How to Use
- Scalability and Resilience: Infrastructure chosen to support a high number of users.
- Application Containerization (Docker): Creation of a simple and small Docker image for easy deployments.
- Automated CI/CD: Pipelines for continuous integration and continuous delivery.
- Cloud Deployment: Application published and updated via pipeline in a chosen cloud provider (AWS, Azure, or others).
- Application Monitoring: Metrics collected to understand resource issues and application behavior.
- Monolithic Architecture: Continued use of a monolithic architecture for agile development and cloud implementation focus.
- CI/CD Configuration:
- CI pipeline: Executed on PR opening/commit.
- CD pipeline: Executed when merge occurs in the main branch.
- (Optional) Multistage pipeline: Can combine CI/CD into one pipeline.
- Dockerization:
- Dockerfile creation for FCG image publication to the cloud.
- Docker image pushed and stored in a repository (e.g., Dockerhub, ECR, ACR).
- Cloud Publication:
- Application updated via pipeline.
- Choice of cloud provider: AWS (Free tier/AWS Academy), Azure Cloud (student license), or other preferred cloud.
- Monitoring:
- Use of a monitoring stack (e.g., Prometheus, Zabbix, Datadog, New Relic, Grafana) to collect application metrics.
(Note: Specific instructions for running the deployed application will depend on the chosen cloud provider and monitoring tools. This section should be updated with actual steps once the infrastructure is in place.)
- Clone the repository:
git clone https://github.com/Net-Vanguard/fase-02.git cd fase-02 - Review CI/CD Pipelines: Inspect the CI/CD pipeline files (e.g.,
pipeline-ci.yml,pipeline-cd.ymlor a singlemultistage-pipeline.yml) to understand the automation flow. - Docker Image: Build the Docker image using the provided
Dockerfileand push it to your chosen Docker repository. - Deploy to Cloud: The CD pipeline will handle the deployment to the selected cloud provider. Ensure your cloud environment is configured correctly.
- Access the Deployed Application: Once deployed, access the application via the provided URL from your cloud provider.
- Monitor the Application: Use the chosen monitoring stack to observe application metrics and infrastructure health.
- Review Documentation: Refer to the
README.mdfor comprehensive usage instructions and objectives.
Aplicativo desenvolvido como parte do Tech Challenge da Fase 2 — Pós-graduação FIAP em Arquitetura de Software .NET com Azure.
✨ Principais Características • 🧠 Requisitos Técnicos • 🚀 Como Usar
- Escalabilidade e Resiliência: Infraestrutura escolhida para suportar um alto número de usuários.
- Conteinerização da Aplicação (Docker): Criação de uma imagem Docker simples e pequena para facilitar novos deploys.
- CI/CD Automatizado: Pipelines para integração contínua e entrega contínua.
- Publicação na Cloud: Aplicação publicada e atualizada por meio da pipeline em uma provedora de cloud de livre escolha (AWS, Azure ou outras).
- Monitoramento da Aplicação: Coleta de métricas para entender possíveis problemas de recursos e compreender o comportamento da aplicação.
- Arquitetura Monolítica: Manutenção da arquitetura monolítica para facilitar o desenvolvimento ágil e focar na implementação na cloud.
- Configuração de CI/CD:
- Pipeline CI: Deverá ser executada na abertura de PR/Commit.
- Pipeline CD: Deverá ser executada quando o merge ocorrer na branch principal.
- (Opcional) Multistage: Se utilizada, será considerada a união das pipelines CI/CD; uma pipeline basta.
- Dockerização:
- Criação de um Dockerfile para a elaboração de imagem do FCG relacionada à publicação na cloud.
- Envio e armazenamento de uma imagem Docker em algum repositório (ex.: Dockerhub, ECR, ACR).
- Publicação na Cloud:
- A aplicação deve ser atualizada por meio da pipeline.
- Livre escolha da provedora de cloud: AWS (Free tier ou AWS Academy), Azure cloud (licença de estudante) ou qualquer outra cloud de preferência.
- Monitoramento:
- Utilizar alguma Stack de monitoramento (ex.: Prometheus, Zabbix, Datadog, New Relic, Grafana) para coletar métricas da aplicação a fim de garantir que a infraestrutura não esteja sofrendo com alto tráfego.
(Nota: As instruções específicas para rodar a aplicação após o deploy dependerão da provedora de cloud e das ferramentas de monitoramento escolhidas. Esta seção deve ser atualizada com os passos reais assim que a infraestrutura estiver configurada.)
- Clone o repositório:
git clone https://github.com/Net-Vanguard/fase-02.git cd fase-02 - Verifique as Pipelines CI/CD: Inspecione os arquivos das pipelines CI/CD (ex:
pipeline-ci.yml,pipeline-cd.ymlou um únicomultistage-pipeline.yml) para entender o fluxo de automação. - Imagem Docker: Construa a imagem Docker usando o
Dockerfilefornecido e envie-a para o seu repositório Docker escolhido. - Deploy para a Cloud: A pipeline de CD será responsável pelo deploy para a provedora de cloud selecionada. Certifique-se de que seu ambiente na cloud esteja configurado corretamente.
- Acesse a Aplicação Deployed: Uma vez que a aplicação esteja deployed, acesse-a através da URL fornecida pela sua provedora de cloud.
- Monitore a Aplicação: Utilize a Stack de monitoramento escolhida para observar as métricas da aplicação e a saúde da infraestrutura.
- Consulte a Documentação: Consulte o
README.mdpara instruções de uso e objetivos completos.
