AWS Microservices: Redesigning DTGOV's Monolithic Travel App

Verified

Added on  2023/01/12

|7
|1238
|62
Report
AI Summary
This report assesses the stability of modules within DTGOV's travel booking application, identifying the 'Cart' module as the most stable. It addresses the need for frequent modifications in the travel recommendation engine and workload peaks in the travel accommodation processing engine. The report then details a transition strategy from a monolithic architecture to a microservice approach, emphasizing refactoring, fault isolation, and technology flexibility. It outlines how this transition enhances DTGOV's ability to maintain high availability by extracting modules and converting them into standalone microservices, communicating via APIs, and scaling independently. The document concludes with a conceptual architecture of the travel booking application after the microservice transition.
Document Page
Running head: ALTERNATIVE APPLIED CLOUD CONCEPTS IN AWS
Alternative Applied Cloud Concepts in AWS
Name of the Student
Name of the University
Author’s Note
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
1
ALTERNATIVE APPLIED CLOUD CONCEPTS IN AWS
1. Module Assessment
1.1. Answer to Question 1
After the assessment of the above seven modules that represents the travel booking
application for DTGOV the “Cart” module is found as the most stable module because this
module deals with adding the items selected by the customer in cart and it can be combined
with the other modules (Guidi et al., 2017). An integration testing can be done for checking
the data communication between the modules.
1.2. Answer to Question 2
The travel recommendation engine requires frequent modification this is because the
recommendation is needed to be given after checking data from the travel requirement
module. The travel requirement are filled by the user and the accommodation engine
compares the data with the data available in DTGOV database such that passes the data to the
travel and accommodation processing engine for providing a recommendation to the user.
Document Page
2
ALTERNATIVE APPLIED CLOUD CONCEPTS IN AWS
1.3. Answer to Question 3:
The travel accommodation processing engine is likely to experience workload peaks
because it needs data to be processed and if more number of request comes at a time then the
user may have to wait for a longer period of time for getting their recommendation about the
travel plan.
2. Transition to Microservice Approach
2.1. For transforming from monolithic to microservice approach refactoring is done for
gradually building the new application with microservice. With further development the
monolithic application functionality shrinks and its gets disappeared to become microservice
(Butzin, Golatowski & Timmermann, 2016). The travel requirement module can be
refactored first since it is simple to design and can get user inputs and store in the database
and can be integrated with the legacy monolith.
2.2. Moving to the microservice approach would help in eliminating the problem of workload
peaks. The microservice can be used for improving the fault isolation and remain unaffected
with the failure of a single module. It also helps in eliminating the technology lock in and
provides flexibility for trying new technology for the service needed. The dependency
between the modules is reduced such that the changes made in the module can be rolled back
(Bloch et al., 2017). It adds simplicity and the functionality of the service can be better
understood by the developers. For the deployment of microservice containers are needed to
be used because it can isolate the processes and provide dedicated access to the hardware
resources. For the microservice deployment virtual machine available at AWS can be used
and the lightweight microservice packages cannot influence the VM and thus reduce the
effectiveness of cost. For the deployment of the codes Open Service Gateway Initiative can
be used and the services are configured to run in a Java virtual machine (van der Geest et al.,
2018). The existing module of the application is needed to be turned into a standalone
Document Page
3
ALTERNATIVE APPLIED CLOUD CONCEPTS IN AWS
microservice and converting most of the modules causes the monolith to disappear or become
a service.
3. Moving to microservice approach for improving DTGOV’s ability for maintaining
high availability for the application – The refactoring strategy is used for turning the
existing module of the monolith into the standalone microservice. The modules are extracted
and turned into a service for shrinking the monolith. Figuring the modules that is needed to
be extracted is a challenge and the approach of extracting the modules that can be easily
extracted is applied. The modules that can offer the greatest benefit to the application are
identified and extracted. The modules are ranked according to the benefit they can provide
and after the extraction of the module it is developed and deployed independently for
accelerating the development process (Cerny, Donahoo & Trnka, 2018). The modules whose
requirement of resources differs from the rest of the monolith modules can also be extracted
for increasing the scalability of the application. The existing coarse grain boundary is needed
to be identified such that which module is needed to be extracted. The monolith modules
needs the data owned by different services and it becomes a challenge for implementing as
there are tangled dependency and fine grained interaction pattern between the rest of the
application and the module. Significant changes in the codes is also needed for breaking the
dependency and turning the module into a standalone service (Kuo et al., 2017). Codes are
needed to be developed such that service to communicate and the monolith can communicate
using an API following the IPC (Inter Process Communication) mechanism. After the
completion of the extraction another service that is needed to be developed is identified and
scaled independently of the other service and monoliths.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
4
ALTERNATIVE APPLIED CLOUD CONCEPTS IN AWS
4. Architecture of Travel Booking Application after transition to microservice approach
Document Page
5
ALTERNATIVE APPLIED CLOUD CONCEPTS IN AWS
References
Bloch, H., Fay, A., Knohl, T., Hoernicke, M., Bernshausen, J., Hensel, S., ... & Urbas, L.
(2017, September). A microservice-based architecture approach for the automation of
modular process plants. In 2017 22nd IEEE International Conference on Emerging
Technologies and Factory Automation (ETFA)(pp. 1-8). IEEE.
Butzin, B., Golatowski, F., & Timmermann, D. (2016, September). Microservices approach
for the internet of things. In 2016 IEEE 21st International Conference on Emerging
Technologies and Factory Automation (ETFA) (pp. 1-6). IEEE.
Cerny, T., Donahoo, M. J., & Trnka, M. (2018). Contextual understanding of microservice
architecture: current and future directions. ACM SIGAPP Applied Computing
Review, 17(4), 29-45.
Guidi, C., Lanese, I., Mazzara, M., & Montesi, F. (2017). Microservices: a language-based
approach. In Present and Ulterior Software Engineering (pp. 217-225). Springer,
Cham.
Kuo, J. H., Ruan, H. M., Chan, C. Y., & Lei, C. L. (2017). Toward High Throughput
Backend Provision for Mobile Apps with A Microservice Approach. In Proceedings
on the International Conference on Internet Computing (ICOMP) (pp. 59-64). The
Steering Committee of The World Congress in Computer Science, Computer
Engineering and Applied Computing (WorldComp).
van der Geest, J., van den Broek, C. C., Bastiaansen, H. H., & Schenk, M. M. (2018).
Enabling a Big Data and AI Infrastructure with a Data Centric and Microservice
Approach: Challenges and Developments. In NATO STB IST-160 Specialists’
Meeting.
Document Page
6
ALTERNATIVE APPLIED CLOUD CONCEPTS IN AWS
chevron_up_icon
1 out of 7
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]