Architecture
Architecture usually refers to the process of designing a software based on a set of requirements and constraints that can be related to business, technology, cost, etc. In the case of a web application where components are distributed over a network, it often encompasses the design of the hardware platform which plays an important role in the eyes of scalability.
Indeed, web applications are complex systems which deal with various technologies. They are commonly structured as a two-tiered application: the frontend is the part that interacts directly with the user and the backend comprises the components that process and store the data provided by the frontend.
Getting the right architecture is often crucial to the success of a web application.
While the frontend pertains only to the web browser, the backend might encompass different combinations of components: web server, application server, database server, external server (e.g. in the case of a web service), ...
As such, Architecture is responsible for understanding and translating business requirements into a highly technical solution. But it also includes some other activities like improving the quality of the deliverables, refining the development process, interacting with vendors or mentoring other team members.
How can I help?
If you are a startup, I can help you designing a bespoke web application by:
- Assisting you in your technology choices
- Assessing and recommending external vendors
- Defining the technical infrastructure
- Designing the software architecture
- Integrating open source and third party frameworks and libraries
- Providing advices regarding some technical and architecture issues
Why choose me?
I am a Senior Engineer with a Distributed Systems And Applications degree. Driven by a strong interest in Internet technologies, I am proficient in client-server architectures and has a strong understanding of object oriented design and design patterns. I already had the opportunity to design (and actually implement) a whole J2EE architecture from the ground up.
I have now a very good knowledge of web applications built on the LAMP1 stack and others open source technologies. Moreover, I have always been very interested in architectural issues and development methodologies (effective use of team collaboration tools, version control, build management, process automation, ...).
Footnotes
- LAMP refers to a solution stack of software composed of Linux, Apache, MySql and Php.