1. The service network is heating up.
Service grid is an infrastructure layer that focuses on communication between services, and it is also a topic related to cloud nativity. With the popularization of containers, the business topology is becoming more and more dynamic, which puts forward more requirements for network functions. Service grid manages traffic through service discovery, routing, load balancing, health detection and observability, which simplifies the inherent complexity of containers.
With HAProxy, traefik and NGINX positioning themselves as data planes, service grids are becoming more and more popular. Although the service grid has not been deployed on a large scale, some enterprises have already run the service grid in production environment. In addition, service grid can be used not only in micro-service or Kubernetes environment, but also in VM and serverless architecture environment. For example, the National Biotechnology Information Center of the United States doesn't use containers, but they use Linkerd.
2. The rise of event-driven architecture
With the constant change of business scenarios, we see that push or event-based architecture is becoming a trend. The service sends an event to the observer container that subscribes to the event, and the container responds asynchronously, and the event sender may not know anything about it. Different from the request-response architecture, in the event-based system architecture, the container that initiates the event does not depend on the downstream container, and the transactions it processes and loads have nothing to do with the availability or completion of the downstream container. Another advantage of this architecture is that developers can design their own services more independently.
3. Changes in security mode
Due to the restriction of kernel access, applications deployed in containers are relatively safe. In the VM environment, the virtual device driver is the place where visibility is exposed. In the container environment, the operating system provides system calls, and the signal sources become more abundant. Previously, administrators needed to install agents in virtual machines, but it was too complicated and needed to manage too many things. Containers provide clearer visibility, and integration with containers will be easier than VM.
4. from REST to GraphQL
GraphQL is a set of query language API specifications created by Facebook in 20 12, and it was open source in 20 15. GraphQL's type system allows developers to define their own data schema, add new fields or delete old fields, which will not affect existing queries and do not need to modify the client. GraphQL is very powerful because it does not depend on a specific database or storage engine.