Implementing Microservices on AWS
Implementing
Microservices on AWS
d
e
v
i
h
First Published December 1, 2016
Updated November 9, 2021
c
r
A
This version has been archived.
For the latest version of this document, refer to
microservices-on-aws/microservices-on-aws.pdf
Notices
Customers are responsible for making their own independent assessment of the
information in this document. This document: (a) is for informational purposes only, (b)
represents current AWS product offerings and practices, which are subject to change
without notice, and (c) does not create any commitments or assurances from AWS and
its affiliates, suppliers or licensors.AWS products or services are provided ¡°as is¡± without
warranties, representations, or conditions of any kind, whether express or implied. The
responsibilities and liabilities of AWS to its customers are controlled by AWS
agreements, and this document is not part of, nor does it modify, any agreement
between AWS and its customers.
v
i
h
d
e
? 2021 Amazon Web Services, Inc. or its affiliates. All rights reserved.
c
r
A
Contents
Introduction ..........................................................................................................................5
Microservices architecture on AWS ....................................................................................6
User interface ...................................................................................................................6
Microservices....................................................................................................................7
Data store .........................................................................................................................9
d
e
Reducing operational complexity ......................................................................................10
API implementation ........................................................................................................11
Serverless microservices ...............................................................................................12
v
i
h
Disaster recovery ...........................................................................................................14
Deploying Lambda-based applications..........................................................................15
Distributed systems components ......................................................................................16
c
r
A
Service discovery ...........................................................................................................16
Distributed data management........................................................................................18
Configuration management............................................................................................21
Asynchronous communication and lightweight messaging ..........................................21
Distributed monitoring ....................................................................................................26
Chattiness.......................................................................................................................33
Auditing ...........................................................................................................................34
Resources ..........................................................................................................................37
Conclusion .........................................................................................................................38
Document Revisions..........................................................................................................39
Contributors .......................................................................................................................39
Abstract
Microservices are an architectural and organizational approach to software
development created to speed up deployment cycles, foster innovation and ownership,
improve maintainability and scalability of software applications, and scale organizations
delivering software and services by using an agile approach that helps teams work
independently. With a microservices approach, software is composed of small services
that communicate over well-defined application programming interfaces (APIs) that can
be deployed independently. These services are owned by small autonomous teams.
This agile approach is key to successfully scale your organization.
d
e
Three common patterns have been observed when AWS customers build
microservices: API driven, event driven, and data streaming. This whitepaper introduces
all three approaches and summarizes the common characteristics of microservices,
discusses the main challenges of building microservices, and describes how product
teams can use Amazon Web Services (AWS) to overcome these challenges.
v
i
h
Due to the rather involved nature of various topics discussed in this whitepaper,
including data store, asynchronous communication, and service discovery, the reader is
encouraged to consider specific requirements and use cases of their applications, in
addition to the provided guidance, prior to making architectural choices.
c
r
A
Amazon Web Services
Implementing Microservices on AWS
Introduction
Microservices architectures are not a completely new approach to software engineering,
but rather a combination of various successful and proven concepts such as:
?
Agile software development
?
Service-oriented architectures
?
API-first design
?
Continuous integration/continuous delivery (CI/CD)
d
e
v
i
h
In many cases, design patterns of the Twelve-Factor App are used for
microservices.
This whitepaper first describes different aspects of a highly scalable, fault-tolerant
microservices architecture (user interface, microservices implementation, and data
store) and how to build it on AWS using container technologies. It then recommends
the AWS services for implementing a typical serverless microservices architecture to
reduce operational complexity.
c
r
A
Serverless is defined as an operational model by the following tenets:
?
No infrastructure to provision or manage
?
Automatically scaling by unit of consumption
?
Pay for value billing model
?
Built-in availability and fault tolerance
Finally, this whitepaper covers the overall system and discusses the cross-service
aspects of a microservices architecture, such as distributed monitoring and auditing,
data consistency, and asynchronous communication.
This whitepaper only focuses on workloads running in the AWS Cloud. It doesn¡¯t
cover hybrid scenarios or migration strategies. For more information about
migration, refer to the Container Migration Methodology whitepaper.
5
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- alter table mariadb
- databases through python flask and mariadb
- creating a database
- mariadb temporal tables
- query optimization with mysql 8 0 and mariadb
- a gentler introduction to mariadb database programming
- mariadb tutorialspoint
- about the tutorial
- using microsoft power bi with the aws cloud aws
- implementing microservices on aws