Reflective Technical Report

You will now write a reflective report documenting your development journey throughout this
POE, summarising your experience with Azure Web App, SQL Database, and Azure Storage, and explaining how each service contributed to your design, development, and architectural decisions when building the Event Ease application....Discuss which Azure services were used for each part of the project and why they were used. You may also include some potential alternatives to the tools you used that you feel could have better fit the implementation.

1 answer

Reflective Technical Report on the Development Journey with Azure Services for Event Ease Application

Introduction

The development of the Event Ease application was a transformative experience, allowing me to delve into various Azure services, including Azure Web Apps, SQL Database, and Azure Storage. This report encapsulates my journey, the architectural decisions made, the services employed, and a reflection on potential alternatives.

Project Overview

Event Ease is designed to streamline event planning by providing users with tools to create, manage, and promote events. The application required a robust backend, an intuitive frontend, and efficient data storage solutions to ensure a seamless user experience.

Azure Web Apps

For hosting the Event Ease application, Azure Web Apps was chosen due to its ease of integration, scalability, and enterprise-level performance. This Platform as a Service (PaaS) allowed me to focus on building the application rather than managing the underlying infrastructure.

Contributions to Design and Development:

  • Continuous Deployment: The integration with GitHub for CI/CD pipelines facilitated rapid updates and testing. This streamlined development process increased my productivity as changes could be deployed seamlessly.
  • Scalability: Azure Web Apps offered an autoscaling feature, which ensured that the application could handle varying loads effectively. This was crucial for periods of high activity, such as event launches.
  • Security: It provided built-in security features including authentication options (Azure Active Directory, OAuth), which were vital for managing user accounts safely.

Potential Alternatives:

While Azure Web Apps was a robust choice, alternatives such as Amazon Elastic Beanstalk or Google App Engine could also have been considered. These platforms offer similar PaaS features, but given my familiarity with Azure and its integration with other Azure services, sticking with Azure was beneficial.

SQL Database

The application's data management needs were handled using Azure SQL Database. The relational database service met the requirements for structured data, particularly for storing user information, event details, and analytics.

Contributions to Design and Development:

  • Managed Service: As a fully managed service, Azure SQL Database eliminated the need for me to handle maintenance tasks like backups and updates, allowing me to focus on application features.
  • Scalable Performance: Built-in scaling capabilities helped accommodate increasing data without performance degradation, vital for a growing user base.
  • Security and Compliance: The database came with built-in security features such as encryption at rest and in transit, which were essential for protecting sensitive user data.

Potential Alternatives:

An alternative could have been Cosmos DB if I had anticipated massive horizontal scalability or needed to handle unstructured data. However, given the structured nature of the Event Ease application, Azure SQL Database was a more fitting choice.

Azure Storage

For file storage, I leveraged Azure Blob Storage. It was employed to handle various media uploads, such as event images and PDFs, efficiently.

Contributions to Design and Development:

  • Cost-Effectiveness: Azure Blob Storage allowed me to scale storage cost-efficiently as the application expanded, without incurring high costs for storage features I didn’t need.
  • Integration with Other Services: It seamlessly integrated with Azure Functions for serverless operations, allowing me to process files as they were uploaded.
  • Geography: The ability to store data in multiple regions improved accessibility and performance for users around the globe.

Potential Alternatives:

While Azure Blob Storage excelled for the application’s requirements, other options such as Amazon S3 or Google Cloud Storage were also available. These alternatives provide similar functionalities, but my expertise in Azure and its pricing structure swayed my choice.

Conclusion

Overall, the integration and utilization of Azure services for the Event Ease application significantly influenced its design, development, and architecture. The seamless combination of Azure Web Apps, SQL Database, and Azure Storage not only streamlined many development processes but also provided a robust framework for scalability and security, resulting in a reliable application.

Future projects may explore alternative services if scalability or different data handling requirements emerge. However, the lessons learned and the skills acquired during this project will be invaluable as I continue to develop and expand upon the Event Ease application.