No-code Microservices Platform on Kubernetes in Multi-cloud

What is Microservice+ Platform

Microservice architecture is about decomposing a software system into autonomous modules which are independently deployable, maintainable, and testable. These loosely coupled and independently deployable can communicates via lightweight, language-agnostic way, and together they fulfill the business goal.

Microservice+ Platform provides the full lifecycle management of your microservice modules on Kubernetes.  This allows a user using snapblocs dashboard UI to provision/pause/resume/monitor/teardown microservice on Kubernetes+ platform. Therefore you can focus on the development of your microservice applications without managing Microservice infrastructure.


‚Äč


Microservice+ Platform includes the following software components:
  1. AWS EKS is used to provision stacks of Microservice+ Platform using the customer's AWS account.
    Google GKE is used to provision stacks of Microservice+ Platform using the customer's Google account.
    snapblocs provisions Microservice Platform following cloud provider guides (i.e., AWS Well-Architected, GKE Best Practices) for provisioning and configuring production-grade Kubernetes clusters and deploying workloads into the clusters. It provides benefits from patterns that worked for many customers who have gone to production. Also, snapblocs make it easy to get started and easy to do the right thing. 
  2. Kubernetes is an open-source container-orchestration system for automating application deployment, scaling, and management. It is used to deploy selected Components. 
  3. Kafka is used to building asynchronous messaging in a Kafka-centric architecture by decoupling senders from receivers. Kafka-centric microservice architectures are often more scalable, reliable, and secure than traditional monolithic application architectures. In Kafka-centric microservice architectures, each microservice publishes an event when something notable happens, i.e. Order Service would publish a new event when the order has been created or modified. The other microservices subscribe to the events, which they are interested in (for example Inventory Service would subscribe to new order events because it needs to reduce the appropriate goods count in the inventory database).
  4. Istio is an open platform for providing a uniform way to integrate microservices, manage traffic flow across microservices, enforce policies, and aggregate telemetry data. Istio's control plane provides an abstraction layer over the underlying cluster management platform, such as Kubernetes.
  5. Jaeger is a distributed tracing system released as open source by Uber Technologies. It is used for monitoring and troubleshooting microservices-based distributed systems, including Distributed transaction monitoring. Performance and latency optimization.
  6. kiali is an observability console for Istio with service mesh configuration and validation capabilities. It visualizes the service mesh topology and provides visibility into features like request routing, circuit breakers, request rates, latency, and more. Kiali offers insights about the mesh components at different levels, from abstract Applications to Services and Workloads.
  7. Elastic is used to provide observability (monitoring, alerting, APM) for answering questions about what's happening inside the system just by observing the outside of the system.
  8. Grafana is used to build visualization and analytics. It allows you to query, visualize, and explore your metrics and to set an alert for quickly identifying problems in your system moments so that you can minimize disruption to your services.
  9. Microservices - is the microservice object deployment component that snapblocs develops for helping customers to manage highly maintainable, loosely coupled, independently deployable customers' microservice objects on the Kubernetes platform.

Advantages
There are many known common benefits from Microservice architecture such as:
  1. Offers low coupling due to a high degree of isolation
  2. Enhance modularity
  3. Failure in one service does not impact the whole system as they are isolated
  4. Offers high flexibility
  5. Offers a very high degree of scalability
  6. Ease of modification can result in faster evolutionary iterations
  7. Better error handling can be implemented

Disadvantages
While much of the development process is simplified with microservices, there are a few areas where microservices can actually cause new complexity.
  1. Higher chance of failure during communication between different services.
  2. Difficult to manage a large number of services.
  3. Needs to solve new problems, such as network latency and load balancing, and other issues similar to a distributed architecture
  4. Complex testing over a distributed environment
  5. Implementation requires much more time

    • Related Articles

    • How to configure Microservice+ Platform

      You can initiate configuring a new stack from a few different places: On the Home page, "Configure stack" button on the Stacks statistics block. On the Stacks page, the "Configure new stack" button on the top page On the Projects page, select Project ...
    • How to customize Microservice+ Platform

      You can configure a new stack for Microservice+ Platform by following this. Test / Proof of Concept (POC) Stack To create a simple test Microservice+ Platform stack, set the following parameters. On AWS & K8S component: Provider Key Name: Choose the ...
    • What are common use cases for Microservice+ Platform

      Example use cases for Microservice+ Platform: Legacy applications refactoring Enterprises often decide to rebuild their IT capabilities to change the functionality, add some new features, move to the Cloud, or conduct global system modernization. ...
    • How to configure a Microservice component

      Istio is an open platform for providing a uniform way to integrate microservices, manage traffic flow, enforce policies, and aggregate telemetry data. Istio's control plane provides an abstraction layer over the underlying cluster management ...
    • What is Kafka+ Platform

      Kafka+ Platform provides a SaaS-managed event streaming platform using Confluent Kafka on Kubernetes for moving data from various input data sources to target data destinations in the stream. This allows a user to use snapblocs dashboard UI to create ...