0.WHAT IS CLOUD n Dev team roles
what is cloud computing
on demand delivery of compute services
servers, storage, databases, networking, software, analytics, and intelligence—over the internet (“the cloud”)
Traditional Model relies on owning and maintaining physical servers and infrastructure, while the Cloud Model delivers scalable, on-demand resources over the internet, eliminating the need for physical hardware ownership.
cloud service models

IaaS (Infrastructure as a Service):
- Explanation: Provides basic infrastructure (virtual machines, storage), and you manage everything else.
- Analogy: Like driving your own car—full control but you manage everything yourself.
PaaS (Platform as a Service):
- Explanation: Offers a platform to build and manage applications without managing infrastructure.
- Analogy: Like taking a cab—no worries about fuel or the route, but you follow the driver’s path.
SaaS (Software as a Service):
- Explanation: Provides fully functional software over the internet with no maintenance needed.
- Analogy: Like a guided tour—everything is taken care of for you, you just enjoy the ride.
Development Team Roles
The sources outline various roles within a software development team, emphasising their specific responsibilities and how they contribute to a successful software development lifecycle (SDLC):
- Project Manager:
- The project manager is responsible for overseeing the entire project.
- Their tasks include creating the project plan, recruiting team members, assigning tasks, establishing timelines, and providing updates to upper management.
- Analyst (Business Analyst or Requirements Analyst):
- The analyst plays a critical role in understanding the project's purpose and gathering requirements from stakeholders, such as leadership, clients, and users.
- They then translate these requirements into actionable tasks for the development and quality assurance teams.
- Quality Assurance:
- The quality assurance role focuses on ensuring the software's quality.
- This involves creating and maintaining a comprehensive list of tests to verify functionality, usability, efficiency, maintainability, and portability.
- They run these tests, investigate any failures, document steps to reproduce bugs, and assist in defining acceptance criteria.
- Software Developer:
- The software developer is responsible for writing the code that makes up the application based on the specifications provided by the analyst.
- They also maintain previous versions of the application, conduct initial test cases, and fix bugs or issues reported to them.
- Database Administrator:
- The database administrator manages the data required for the application.
- This includes planning, maintaining, configuring data access, ensuring sufficient computing resources, securing the data, and performing data backups and restorations.