Microservices Architecture Assignment: Application Of MSA On Amazon.com
Question
Task:
This proposal prepared within this microservices architecture assignment should be approximately 1500 words (+/- 10%) excluding cover page, references and appendix. This proposal must be typed and clearly set out (presented professionally). You need to pay special attention to principles and key concepts of Microservices Architecture (MSA), service design and DevOps. The purpose of this assessment is to give you an opportunity to contextualise and convey to learning facilitator relevant knowledge based on “real-world” application. Particularly, the aim of this assessment is to enhance your employability skills through providing hands-on education and opportunities to practice real life experience. As a result, this assessment item is developed not only to evaluate your understanding of MSA application, but also to assist you practicing and improving your research skills.
Context
MSA have been getting more and more popular over the last year, and several organisations are migrating monolithic applications to MSA. A MSA consists of a collection of small, autonomous services that each service is a separate codebase, which can be managed by a small development team. A team can update an existing service without rebuilding and redeploying the entire application.
Services are responsible for persisting their own data or external state. This differs from the traditional model, where a separate data layer handles data persistence.
More recently, with the development of cloud computing, new ways of software development have evolved with MSA recognised as a cloud-native software development approach. As a professional, your role will require that you understand the principles of software development, especially in the field of cloud-based platforms, which are rapidly becoming the preferred hosting solution for many organisations. Having a working understanding of these concepts will enable you to fulfil many roles and functions, and be informed as to what factors influence decision making when software development architecture has been selected. Whilst you may not be a developer, it will enable you to have meaningful conversations about the principles of MSA and why certain decisions may be made in a certain way. This will support you to manage the bridge between IT and the business.
Instructions
You are expected to address the following steps to fulfil this assessment task:
- From the list below, select an organisation that you are familiar with and / or have enough data and information.
- Comcast Cable
- Uber
- Hailo
- Netflix
- Zalando
- Amazon
- PayPal
- Ebay
- Sound Cloud
- Groupon
- Gilt
- Discuss how MSA has transformed or revolutionised the operations of the organisation. Identify and analyse at least three business or organisational reasons for justifying your discussion.
- Develop a business proposal to introduce the selected organisation, justify why you choose it and why microroservices is the best architecture in the selected organisation.
Here are list of organisations using microservices:
Answer
- Introduction
In an era where cloud computing has not only reached substantial heights of evolution but has also become a requirement of the fast-pacing world, Micro Services architecture (MSA) occupy a distinct dominion. The concept of MSA explored within the microservices architecture assignment represents a function of the cloud computing native architectural approach where a single application route is made up of several loosely coupled and independently deployable components and services that function as a whole (Carnell & Sanchez, 2021). The independent units of MSA consist of APIs, rules, routines, commands, protocols and guidelines that glue to integrate themselves into each MSA component thereby working as a single application (Raj & Sadam, 2021).
The MSA has provided the organisations with increased resistance due to the decentralisation of functional units, improved scalability of the performing units of the MSA circuits, the abundance of tools due to decentralisation and easier debugging (Rizki & Fajar, 2021).
On that note, the DevOps is responsible for the individual functioning of the component of the MSA that are built on the diverse form of service design that integrates the DevOps and the MSA.
In the study that follows, the organisational emphasis on using the MSA by Amazon.com will be studied. The reasons for justifying the use of MSA in organisations will be focussed by taking a cue from the Amazon.com model of integration. Each of these aforesaid is also expected to shed light on the underlying philosophy of using the MSA. Based on all the critical studies as mentioned hereby, a suitable business proposition will be pointed out towards developing the MSA in the real world and their applicability.
- Background for using Micro Services Architecture
As MSAs are architectural applications to cloud computing systems, it represents the act of developing applications into best practice since the last 20 years marking its inception (Muresu, 2021). The MSA encompasses an array of build systems made of JAR and WAR, all of which are connected to the individual elements as mentioned in the above section by communication protocols. Based on the applicability of cloud computing the background of MSA usage are as follows:
- More users followed by more amount of data leading to considerations in scalability and response time which could be managed as per the CAP theorem that includes the acronym for; Consistency, Availability and Partition tolerance.
- Multiple users that try to access the same piece of information at the same time emphasizing contention. All these aforesaid can only be solved by the elements of CQRS – Command, Query, Responsibility and Segregation that separate the readable and writable form of data.
- Addressing the aspects of data search, data logging, data function and web services in a single avenue.
- Reasons enabling Amazon.com to use Micro Services Architecture
To put it in a precise manner, the MSA has helped Amazon.com to automate its processes and scale the enlisted services based on traffic and business necessities. On that note, the reasons why Amazon.com utilises MSA are as follows (Sen & Skrobot, 2021):
- Faster time to market as there is no requirement to rewrite the entire code base or modify any feature.
- Better online business capability management including; product catalogue management, inventory information management, order information management, delivery information management, user information management, product recommendations information management, multiple end response management and feedback management using Amazon ECS, Elastic Kubernetes, S3, Elastic Cache and AWS Serverless Ecosystem (Gan et al, 2021).
- The MSA enables a better networking facility to Amazon.com via ECS Service discovery, AWS App Mesh, AWS elastic load balancing, Amazon API Gateway and API management.
- MSA enables Amazon.com to manage databases better with the help of Amazon RDS, cloud-native databases, Amazon aurora and Dynamo DB.
- Improved data quality monitoring with the help of AWS Cloud Trail, Amazon Code commit, CI/CD, ECR and Amazon Cloudwatch
- Use of Micro Services Architecture as a developmental ideology
As per (Lahtevanoja, 2021) the basic philosophical and ideological aspect that facilitates the incorporation of MSA by Amazon.com is the phasing in containers and Serverless for .net applications globally. They include the following aspects;
- Revolutionising user experience by the organisation and improved agility of integrated circuits into the AWS by MSA, independent yet collaborated structures to meet the demands for application feature that is present in the service framework.
- Easy deployment and decentralization facilitating the development of new ideas and rolling back as and when issues may arise.
- Phase based approaches involving life and shift of monolithic application into a cloud application via AWS Elastic beanstalk and Amazon EC2 easy recovery, evaluating the codebase to native cloud features via AS3, AWS Lambda and Aws Portability Analyser tool.
- Serverless and containerless environment utilizing Linux OS reducing Windows Licensing cost, better automation with application load balancers, AWS certificate manager and SSL/TLS Encryption.
- Involvement of blue, green or canary configurations and software solutions like; AWS Fargate and DevOps based automation.
- Microservices architecture application and its diversity in Amazon.com
As far as the Microservices architecture application and its diversity are considered, the diversity of the MSA is exampled in the following areas and applications as follows (Rajasekharaiah, 2021):
- Public sector summit – This sector encompasses stories and responses from customers, success stories with Amazon.com, learning about living and exploring Amzon.com, for business or personal interests.
- Public sector cloud resources – This sector encompasses case studies in different diverse demographics, whiteboards, hall of fame, e-Books, Videos and resource pages.
- AWS awareness and certifications – This section helps learners, business process practitioners or associates to upgrade their skill sets by utilizing the free digital courses.
Apart from that, the viewers can also check the blog sections and applications like; AWS cloud financial, AWS Partner Network, AWS Podcast, AWS market place and so many more.
The concrete data management system also enables the viewer to look for uninterrupted information leading to products, amenities, services, pricing, documentation, events, partner industries and customer handling guidelines wherever applicable without deterring the traffic.
- Approach towards utilizing the Micro Services Architecture
The most important aspect of the functionality of the MSA that can be utilised in any organizing encompasses the following foundation:
Image: A basic system of developing the MSA in organisations
Source: Medium, 2021
Based on the above notion, the steps of formulating the MSA in an organisation for business purposes include the following (Lin et al, 2021):
- Incessant delivery, deployment and decentralisation involving an organised team and their budget allocation.
- Comprehensively maintained an array of workflow in the data handling, programming and back-end teams.
- Substantially scalable positioning using minuscule segregated elements of the circuit.
- Isolation and remedy of fault set if any.
- Scope of adaptability to any new updates, modifications and technologies if any towards automation.
Based on all the above-mentioned points, instead of a single vast team, there can be the incorporation of small teams consisting of several 8 to 12 members each. Thus the team proportional to the number of elements of the MSA integrated is the first and last blueprint or requirement of developing the MSA in any organisation.
- Ethical and Legal implications
When it comes to discovery in the IT and software, the major legal and ethical implication that is always encountered is data theft and security (Antonio & Fredriksson, 2021). The ethical and legal complications that await MSA incorporation in an organisation are as follows (Seo et al, 2021):
- The organisations must include a separate team that will channelise the necessary legal implications and ethical backgrounds of data usage from all ends.
- Although there will be discrete units of the MSA system, yet no overall dependency should be broken by the team that is supposed to handle the integration of the individual components of the MSA.
- The companies should have an organised workforce towards re-platforming and re-architecting to augment the product or process security from bugs.
- Companies should remain strict in the matters of API compatibility at all levels of development.
- All the services of the company must be registered and licensed with relevant service identification numbers.
- Companies must put their special focus on putting automation in place before breaking down the components of diverse systems.
- Conclusion
Along with the vast array of advantages, also arise some negativities and disadvantages that one cannot avoid. Similarly, the MSA with its elements of DevOps and functional service design has some disadvantages. These disadvantages do not mark the end of evolution, rather they encompass the areas that comprise the points of development as a future scope. The major disadvantage lies in the fact that that MSA suffers from software, communication, interface and distribution complexity. It becomes a cumbersome task by an operator to manage a large number of components without deterring the application in the process although that is feasible.
Based on the difficulties mentioned above, the MSA allows its developers to facilitate codes more rapidly collaborating with the components and their maintainability. Naturally, the major requirement that awaits the evolution f MSA is betterment in the integration layers that ties the multiple components together. Apart from that co-evolution in the functional components of MSA foundation, containers, service mesh, discovery service, service design patterns and API components is also expected to advance the evolution of the MSA.
The MSA also shall continue in best disposition, once the organisations focus on developing a strategic team that can utilise asynchronous communication across internal services, exponential back-off services, network timeouts, utilizing the service breaker pattern, fall back resilience, transaction management (phase –protocols, XA, REST AT Standard Draft and compensation), standard and limit the number of requests that are queued.
Hence MSA is the future resolution to organisational concerns, debugging and tests.
- Reference List
Antonio, C., & Fredriksson, B. (2021). Message brokers in a microservice architecture.https://www.diva-portal.org/smash/record.jsf?pid=diva2:1585173
Carnell, J., & Sanchez, I. (2021). Spring microservices in action. Simon and Schuster. https://books.google.com/books?hl=en&lr=&id=_qUuEAAAQBAJ&oi=fnd&pg=PA1&dq=Micro+services+architecture&ots=cmaIZAk10Y&sig=ZD
8XZzlHlLZrpHaeQw4ps2a_eEM
Gan, Y., Liang, M., Dev, S., Lo, D., & Delimitrou, C. (2021). Sage: Using Unsupervised Learning for Scalable Performance Debugging in Microservices. arXiv preprint arXiv:2101.00267. https://arxiv.org/abs/2101.00267
Lähtevänoja, V. (2021). Communication Methods and Protocols Between Microservices on a Public Cloud Platform. https://aaltodoc.aalto.fi/handle/123456789/108243
Lin, Z., Hsieh, K. F., Sun, Y., Shin, S., & Lu, H. (2021, October). FlashCube: Fast Provisioning of Serverless Functions with Streamlined Container Runtimes. In Proceedings of the 11th Workshop on Programming Languages and Operating Systems (pp. 38-45). https://dl.acm.org/doi/abs/10.1145/3477113.3487273
Medium. 2021. Microservice:. [online] Available at:
Muresu, D. (2021). Investigating the security of a microservices architecture: A case study on microservice and Kubernetes Security. https://www.divaportal.org/smash/record.jsf?pid=diva2:1597972
Raj, V., & Sadam, R. (2021). Evaluation of SOA-Based Web Services and Microservices Architecture Using Complexity Metrics. Microservices architecture assignment SN Computer Science, 2(5), 1-10. https://link.springer.com/article/10.1007/s42979-021-00767-6
Rajasekharaiah, C. (2021). Securing Microservices on Cloud. In Cloud-Based Microservices (pp. 179-202). Apress, Berkeley, CA. https://link.springer.com/chapter/10.1007/978-1-4842-6564-2_9
Rizki, M., Fajar, A. N., & Retnowardhani, A. (2021, June). Designing Online Healthcare Using DDD in Microservices Architecture. In Journal of Physics: Conference Series (Vol. 1898, No. 1, p. 012010). IOP Publishing. https://iopscience.iop.org/article/10.1088/1742-6596/1898/1/012010/meta
Sen, A., & Skrobot, I. (2021). Implementation of DevOps paradigm to deployment and provisioning of microservices. Issues in Information Systems, 22(1). http://search.ebscohost.com/login.aspx?direct=true&profile=ehost&scope=site&authtype=crawler&jrnl=15297314&AN=150348006&h=r8J6SLuujCESiv
W4%2B0Gxq1VMFugXC04I%2F4V7HDkZhkwJ7vkqJLRnkBUUcCZ%2FYLduBRpRoqaVjgwGRmEAzHz0h
w%3D%3D&crl=c
Seo, S., Kim, M. H., Kwak, H. Y., & Gim, G. Y. (2021). The Optimal Use of Public Cloud Service Provider When Transforming Microservice Architecture. In Software Engineering in IoT, Big Data, Cloud and Mobile Computing (pp. 207-218). Springer, Cham. https://link.springer.com/chapter/10.1007/978-3-030-64773-5_17