HW17-B: Chapter 17

17.10. Your company wishes to move from using desktop applications to accessing the same functionality remotely as services. Identify three risks that might arise and suggest how these risks may be reduced.

Three risks to consider when migrating from a desktop application to a remote service are security, decreased response time, and data management.

For security, the risks of going from a desktop application to a remote service are important to handle. Interception, interruption, modification, and fabrication are methods that attacks may use to disrupt a remote system. Depending on the architecture chosen these attacks on parts of the service may disrupt the entire service. Ensuring a standard security policy is used across the system is a way to help combat this risk but there may be issues getting different system managers to adhere to the same policies. If the architecture chosen is multi-tier client-server then there may be more control over the system and therefore the security policies implemented will be easier to comply with.

Decreased response time is another factor to consider. Where a desktop application is typically dealing with the processing of one user's interactions, a distributed system requires the system to deal with multiple user interactions at once. This may lead to delayed response time due to excessive loads. The solution to such a problem is scaling out as opposed to scaling up. Scaling out means adding resources to the system whereas scaling up is upgrading current systems. The cost of adding more systems will likely outweigh the costs of upgrading existing systems so overall the system costs will decrease. Again, depending on the system setup, this scaling out could be automatically handled through cloud server systems such as AWS or Azure.

The third risk I identified is data management. By this I mean that if the company chooses to implement a software as a service type model, then managing data becomes increasingly complex for a variety of reasons. Multi-tenancy will be something that will need to be dealt with. This is when multiple users access the same system at the same time which requires the system to be designed to separate system functionality and system data. Sommerville suggests one method to deal with the data management issues that arise is by creating "virtual, personal databases" for each user. This provides the user with the same experience while allowing for a single database to manage.


Comments

Popular posts from this blog

HW10: Chapter 5

HW11: Chapter 6

HW26:Chapter 24