Microservices
What are Microservices?
Decomposition patterns
Sub Domains
Steps
Architecture Styles
Microservices
Benefits:
Microservices on AWS
Input -> Lambda -> DynamoDB -> Batch Job -> Database
AWS Microservices
Monolithic vs. Microservices Architecture
Cloud Services
Compute
Containers
Serverless
Storage & Databases
Caching
Object Storage
NoSQL Databases
Relational Databases
Networking
Service Discovery
Service Mesh
Elastic Load Balancing
API Proxy
DNS
Messaging
Message Publishing & Subscription
Message Queuing
Logging and Monitoring
API Monitoring
Application and Resource Monitoring
Distributed Tracing
DevOps
Container Image Repository
Continuous Delivery
MMR Microservices Expectations
AWS Microservcies
MMR Integration Patterns
Source
Target
Method
Upstream App
MMR
Read
Upstream App
MMR
Write
MMR
Downstream App
Read
MMR
Downstream App
Write
Implementing Microservices on AWS (Web)
Implementing Microservices on AWS (PDF)
AWS Cloud Map service discovery for serverless applications
Guide to Implementing Microservices On AWS [With Examples]
Service connectivity inside and outside the mesh using AWS App Mesh (EC2/Fargate)
Implementing Microservices on AWS
Contents
There are three common patterns that we observe when our customers build microservices: API driven, event driven, and data streaming.
Microservices architectures are not a completely new approach to software engineering, but rather a combination of various successful and proven concepts such as:
SOA, Service Oriented Architecture
XaaS, Everything as a Service
IaaS, Infrastructure as a Service
PaaS, Platform as a Service
SaaS, Software as a Service
Microservices
How to choose the right data store for your miceroservices?
Performance
Reliability
Data modeling
For read/write operations-per-second
For latency
Data Modeling Requirements
Nature of Data
Transient data
Ephemeral data
Operational data
Transactional data
Vendor
Service Domain
Product Certification
Status
Current Availability
AWS
Database Services
ElastiCache
--
GA 1.0
[Choosing the Right Database for Microservices Solutions](file:///C:/Users/chikun.cui/Downloads/MMateev-SQLSat823Israel-Choosing-the-Right-Database-for-Microservices-Solutions.pdf)
Effective Microservices: 10 Best Practices
10 Microservices Best Practices for the Optimal Architecture Design
Adopting Microservices at Netflix: Lessons for Architectural Design
Creating Cross Tab Queries and Pivot Tables in SQL
Crosstab queries using PIVOT in SQL Server
Use SQL Server to Create a Cross Tab Query
SQL Server Hardware Performance Tuning
How Monitoring Query Performance Can Help You Save SQL Memory Usage
Ten Common Database Design Mistakes
SQL Server database design best practices and tips for DBAs
Best Practice - An Introduction To Domain-Driven Design
martinFowler.com tagged by: domain driven design
Compute
Vendor
Service Domain
Product
Certification Status
Current Availability
AWS
Compute Services
Elastic Container Service (ECS)
Blueprint In Progress 1.0
Not Available
AWS
Compute Services
Lambda
--
GA1.0
Microservices Approches
Vendor
Service Domain
Product
Certification Status
Current Availability
Azure
Compute Services
Service Fabric Clusters
--
Beta 1.0
Azure
Compute Services
Function Apps
--
GA 1.0
Azure
Enterprise Integration
API Management Services
--
GA 1.0
GCP Microservices
Vendor
Service Domain
Product
Certification Status
Current Availability
GCP
Compute Services
Google Kubernetes Engine (GKE)
--
GA 2.0
GCP
App Services
App Engine
--
Beta 2.0
MMR Technical Pain Points
Performance Issues
High volume of data updates have impact on MMR performance.
Data Gap on Opportunity data
Opportunity Data in MMR are from Sales ODS with 24 to 48 hours of delay from source application (MMS). If the Opportunity is not yet available in MMR, users would not be able to perform Opportunity submissions.
Moreover, Sales ODS does not deliver updates for Opportunities that are not active in the current fiscal year. This impacts company code mapping for AIL reports.
Security Model
Security Implementation in MMR is very granular.
Vendor Limitations and Product Maintenance
Requires VM with desktop experience (does not support CORE). App teams need to raise exception requests
since the vendor does not support cloud native offerings yet.Time to upgrade product version would take 3-6 months.
Data Replication
MMR Data (both metadata and actual documents) are now replicated on other apps like SEAL and ALICE (like everything).
What are microservices?
Microservices - also known as the microservice architecture - is an architectural style that structures an application as a collection of services that are:
The microservice architecture enables the rapid, frequent and reliable delivery of large, complex applications. It also enables an organization to evolve its technology stack.
The pattern language is your guide
The microservice architecture is not a silver bullet. It has several drawbacks. Moreover, when using this architecture there are numerous issues that you must address.
The microservice architecture pattern language is a collection of patterns for applying the microservice architecture. It has two goals:
A good starting point is the Monolithic Architecture pattern, which is the traditional architectural style that is still a good choice for many applications. It does, however, have numerous limitations and issues and so a better choice for large/complex applications is the Microservice architecture pattern.
Avoid the potholes
Thinking of migrating to the microservice architecture? If so, you should look at this presentation about the potholes in the road from monolithic hell and read this series of blog posts about anti-patterns and how to avoid them.
Assess your architecture
If you have built an application with the microservice architecture then take a look at the Microservices Assessment Platform. The platform assesses what you have built and identifies what needs to be improved. It reduce architectural and organizational risk and maximizes the benefits of the microservice architecture.
.NET Microservices Architecture Guidance
Key software delivery outcomes
Service design
A service is an independently deployable, loosely coupled, component with well-defined and focussed responsibilities.
Externalized configuration
Inter-service communication
Services must communicate securely using IPC mechanisms that allow the API to evolve. In addition, a service that uses RPC must use a service discovery mechanism.
Service reliability
Deployment/Release
Observability
Documentation
Automated testing
Organization and process
Microsoft Microservices Architecture
API Gateway
演化路线
1 - 所有容器都在一台机器上使用不同端口利用Nginx映射
2 - 部分容器在单独的机器上,UI使用静态对象
手机扫一扫
移动阅读更方便
你可能感兴趣的文章