Introduce Microservice & Infrastructure on Cloud
This article will introduce Microservice & Infrastructure on Cloud.
- Iaas & Paas & Saas
- Virtual Machine & Container
- Docker & Kubernetes
- Most Basic Architecture
- Iaas & Paas & Saas
- Virtual Machine & Container
- Docker & Kubernetes
- Most Basic Architecture
- Azure Kubernets Service -AKS
Iaas & Paas & Saas
- Infrastructure-as-a-service
- Platform-as-a-service
- Software-as-a-service
https://www.sherweb.com/blog/cloud-server/what-is-azure-paas/
Virtual Machine & Container
Virtual Machine: Traditional development & deployment,such as IIS & tomcat
Container:
- Platform independence: Build it once, run it anywhere
- Resource efficiency and density
- Effective isolation and resource sharing
- Speed: Start, create, replicate or destroy containers in seconds
- Immense and smooth scaling
- Operational simplicity
- Improved developer productivity and development pipeline
- Language independence
Docker & Kubernetes
Docker is the popular way which implement container. Other way ex. Azure Service Fabric, Amazon Elastic Container Service
Why use k8s:
- Container orchestration
- Great for multi-cloud adoption
- Deploy and update applications at scale for faster time-to-market (Horizontal auto scaling,Rolling updates,Canary deployments)
- Laying the foundation for cloud-native apps
- Lower infrastructure costs
- It can run on-premise or in a hybrid environment.
- You can move a Kubernetes cluster from one hosting vendor to another without changing (almost) any of the deployment and management processes.
- Zero-downtime deployments, fault tolerance, high availability, scaling, scheduling, and self-healing add significant value in Kubernetes.
Most Basic Architecture
- Service Registration
- Service Discovery
- Monitoring
- Traffic Limit
- Routing
- Load Balance
- Timeout/Retry
- Circuit Breaking (熔断)
- Service Downgrade
- Failover
Azure Kubernets Service -AKS
1. The First Stage
Build application as normal way - Introduce Cloud Native Information
Pod, Node, Replication Controller, Service, Namespace, Ingress, Gateway(Nginx)...
2. Use Third Party Components to Improve The System
- Helm,
- Traefik,
- Kubeapps,
- Prometheus,
- Grafana,
3. Use Service Mesh (Istio) for Micro Service Management
- Gateway & Virtual Service
- Cert
- Kiali & Grafana
-
Use CI/CD to deploy your apps.
- Azure DevOps
- Scaling
- Intelligent Routing and Canary Releases
https://docs.microsoft.com/en-us/azure/aks/servicemesh-istio-scenario-routing?pivots=client-operating-system-linux