This project is a cloud-native web application that focuses on managing user accounts efficiently and securely. It leverages advanced cloud technologies and follows best practices in software development, deployment, and operations, demonstrating a deep understanding of cloud-native architecture and DevOps methodologies.
- Automating Infrastructure as Code: Terraform to orchestrate a secure and scalable cloud-native application deployment on Google Cloud Platform.
- Serverless Cloud Function
- User Account Management: Provides functionalities for creating, updating, and retrieving user account details with full security measures and data validation.
- Automated User Verification: Integrates with Google Cloud Pub/Sub to handle events such as sending verification emails upon account creation.
- Structured Logging: Utilizes JSON format for logging, ensuring that logs are easy to analyze and are systematically managed through Google Cloud Logging.
- Event-Driven Architecture: Makes use of Google Cloud Pub/Sub for decoupling services, which enhances the application's scalability and responsiveness.
- CentOS Stream 8: Chosen for its stability and robustness as a server operating system.
- Programming Language: NodeJS.
- Database: PostgreSQL, integrated within the application through TypeORM for robust data management.
- Google Cloud Services: Including but not limited to Google Cloud Pub/Sub, Google Cloud Functions, Google Cloud IAM, and Google Cloud Logging for comprehensive cloud functionality.
The project incorporates continuous integration and continuous deployment (CI/CD) pipelines that facilitate automated testing, building, and deployment processes:
- CI Workflows: Automate the execution of unit and integration tests, security checks, and build processes upon each commit, ensuring that all changes meet quality standards before merging.
- CD Workflows: Manage the automated deployment of the application to different environments, ensuring reliable and consistent deployment practices.
- Packer: Used for building custom machine images that include the application and all necessary configurations, ensuring that environments are reproducible and consistent across deployments.
- Name: Dhruv Parthasarathy
- Email: parthasarathy.d@northeastern.edu
- LinkedIn: linkedin.com/in/parthasarathydhruv