当前位置:网站首页>Several key tools for cloud native implementation
Several key tools for cloud native implementation
2022-06-24 03:29:00 【Common_ youmen】
1 brief introduction
Cloud native technology can help us deliver software products faster , At the same time reduce IT Operating costs . This article describes how to implement cloud native , And some cloud native projects that can be used .
In the past decade , There has been a huge growth in Cloud Computing . according to Gartner forecast ,2020 The global public cloud service market will grow in 17%, The total amount will reach 2664 Billion dollars , Far above 2019 Year of 2278 Billion dollars . Cloud computing has enabled some of the world's largest companies to reshape and dominate their industries . The products of these companies are based on cloud services , And use cloud native technology to be faster than competitors , More adaptable . Many enterprises adopt cloud native technology , And introduce the concept into its on-site deployment application .
Understanding and choosing the right cloud native technology can improve the development speed 、 Reducing development and maintenance tools and infrastructure is critical . This article describes cloud native technologies that are worth learning about , It also recommends cloud native tools that can be used .
1.1 What is Yunyuan ?
Cloud native is about speed and agility , It's about the advantages of the cloud , Address business challenges faster and reduce IT cost .CNCF Provides an official definition of :
Cloud native technology is good for organizations in the public cloud 、 In new dynamic environments such as private and hybrid clouds , Build and run scalable applications . Representative technologies of cloud Nativity include containers 、 Service Grid 、 Microservices 、 Immutable infrastructure and declarative API.
These technologies can build good fault tolerance 、 A loosely coupled system that is easy to manage and easy to observe . Combined with reliable automation means , Cloud native technology makes it easy for engineers to make frequent and predictable major changes to the system .
In short , The goal of cloud native is based on business needs , Deliver software products quickly to users or customers .
Cloud native technology has the following advantages :
- Speed : Rapid development and deployment of cloud native applications , Shorten time to market . Many clouds use cloud native components , To easily host applications .
- Scalability and availability : Handle 100 Cloud native applications for customers can be seamlessly extended to serve millions of customers . Resources can always adapt to the needs , Compared with traditional static extension resources , This undoubtedly saves money . Besides , Technologies such as automatic fail over and blue-green deployment have also been embedded in cloud native tools .
- quality : Keep immutability in mind when developing cloud native applications (immutability) And decoupling , This improves application robustness and ease of maintenance , So as to improve the software quality . Because cloud native technology is open source , And by the CNCF Support , Therefore, the company can avoid supplier lock-in , And benefit from community maintenance and development .
2 How to realize cloud native
To migrate to the cloud native system , We need a structured approach like this :
- The longitudinal : Choose a service that is not critical , Then turn it on , Move to cloud native technology .
- The transverse : Focus on a single cloud native function , For example, continuous integration (CI) Or continuous delivery (CD), And deploy it in all existing services .
Choosing non mission critical systems reduces risk , At the same time, maximize the probability of successful migration .
3 Cloud native tools
Here is a list of cloud native tools , Companies that use a full range of tools usually have faster 、 Less resistance and lower development and maintenance costs ;
3.1 Microservices (Microservice)
Microservices divide product functions into units that can be deployed separately ;
for example , In traditional deployment , Usually there is only one website service to manage API Interact with customers . Using microservices , We can break down the site into multiple services , Such as checkout service and user service , And then develop separately 、 Deploy and extend these services .
Besides , Microservices are usually stateless , Use twelve factors to apply (twelve-factor application) Take advantage of the flexibility provided by cloud native tools .
Recommended technology : Node.js
Alternative technology : Kotlin,Golang
3.2 Continuous integration , Continuous deployment (CI/CD)
CI/CD It's the infrastructure component , It supports automatic test execution ( And optional deployment ), In response to version control events ( For example, pull requests and merge );
CI/CD To enable the company to carry out quality inspection , For example, unit testing 、 Static analysis or safety analysis .CI/CD It's the basic tool in the cloud native ecosystem , It can improve engineering efficiency and reduce errors .
Recommended technology : Gitlab CI/CD
Alternative technology : Github Actions
3.3 Containers
The core of the cloud is the cloud ecosystem , Speed and quality can be improved by simplifying the operation of developers ;
By linking the container with something like Docker Use them together , Teams can specify their system dependencies , At the same time, it provides a unified and universal execution layer . This layer enables the infrastructure team to operate on a single infrastructure , For example, container choreographer ( Such as Kubernetes). The team can store the container image in the container registry , Most of the time , The registry also provides vulnerability analysis and fine-grained access control .
Recommended technology : Docker
Alternative technology : Podmain,LXD
3.4 Container arrangement
Container choreography tools are used to start and manage a large number of containers and eliminate deployment strategies for a specific language or team ;
They allow the user to specify the container image 、 Mirror group and some configuration . The choreographer takes these specifications and transforms them into a running workload . Container choreography tools enable infrastructure teams to maintain a single infrastructure component , This component can perform any compliance with OCI Standard containers .
Recommended technology : kubernetes
Alternative technology : Google Cloud Run
3.5 Infrastructure is code (Infrastructure as Code)
Infrastructure as code is a strategy to put cloud configuration under version control ;
Companies usually manually manage cloud resources through the management panel , But manually configured tracking changes is very difficult . Infrastructure is code, which solves this problem by defining cloud resources as code and putting them under version control . Make changes to the infrastructure configuration in your code , And make changes through the company's deployment process , This can include peer review (peer review)、CI/CD. Version control provides an audit log , The log shows who changed the resource 、 What resources have been changed and when .
Recommended technology : Terraform
Alternative technology : Pulumi
3.6 Secret
Secret Management is critical to cloud native solutions , But it's often overlooked when it's small .
Secret It can be anything private , For example, password 、 Private key and API voucher .Secret It should be encrypted and stored in the configuration .
The mature solution is to issue temporary database credentials or rotation certificates , So that Secret Management is safer . Find the right one Secret Management solutions are critical for cloud native applications , Because containerized services can scale horizontally , And scheduling on many different machines .
Ignore Secret Managed organizations increase the risk of credential leakage .
Recommended technology :Vault
Alternative technology :Sealed Secrets
3.7 certificate
adopt TLS Secure communication is an essential best practice , This is particularly important in container based solutions , Because many different services may run on the same physical computer , If you don't encrypt , An attacker can gain access to the host network , Read all traffic between services . in addition , Manually updating certificates for cloud native deployment is not feasible , That's one reason automation solutions are needed ;
Recommended technology : cert-manager
Alternative technology : Google Escrow Certificate
3.8 API gateway
API Turn off is a reverse proxy , With a reverse agent that goes beyond the traditional ( for example Apache and Nginx) The function of ;
API Gateway support :
Such as gRPC,HTTP/2 and Websockets agreement ;
Dynamic configuration ;
mutual TLS;
route ;
Elastic primitives (Resiliency primitive), For example, speed limit and open circuit ;
Indicator visibility ;
Recommended technology : Kong
Alternative technology : Ambassador
3.9 journal
The journal is the foundation of observability .
The log is a place that the team is very familiar with and often visits , It's the key to observability . Logging is essential to understand what's going on in the system . Cloud native tools emphasize time series of metrics , Because they are more cost-effective than storing logs .
Recommended technology : EFK
Alternative technology : Loki
3.10 monitor
The monitoring system will store important events in time series . Monitoring data is aggregated , This means it doesn't store all the events , This makes the cloud native system need to consider the cost-effectiveness . in addition , Understanding the state of cloud native systems requires understanding the following issues :
How many operations are in progress ?
Results of operation ( success , Failure or status code ) What is it? ?
Operation How long does it take? ?
Important resources ( For example, queue depth or thread pool ) What's the count of ?
We can assign different dimensions to monitoring indicators , To learn more about individual computers , operating system , Version, etc ;
Recommended technology : Prometheus,Grafana
Alternative technology : Datadog
3.11 The alarm
Alarms make logs and metrics operational , System problems can be notified to the Administrator , And it can be paired with time series index . for example , When HTTP 500 When the status code increases or the request duration increases , The alarm function can inform the team of . Alerts are critical for cloud native systems , If there is no warning , We will not be informed of the incident , Then the company can't know that there's a problem ;
Recommended technology : Prometheus Alertmanager
Alternative technology : Grafana Alerts
3.12 track
Cloud native technology reduces the cost of starting and extending services , In this way, the team usually publishes more services than before the cloud . Tracking enables teams to monitor communication between services , And it can simply visualize the communication of the whole end-user and each stage of communication . When there is a performance problem , The team can see what service errors have occurred and how long each phase of the transaction took . Tracking is the next level of observation and debugging tool , Downtime can be significantly reduced by allowing the team to debug problems faster .
Recommended technology : Jaeger
Alternative technology : Zipkin
3.13 Service Grid
Service grid is like a powerful tool for cloud network management , They can provide dynamic routing , Dynamic load , Service discovery , Network strategy and resilience primitives , For example, circuit breaker , Retries and deadlines (deadline), Service grid is an extension of cloud native architecture in terms of load convergence ;
Recommended technology : istio
Alternative technology : Consul
author :Kentaro Wakayama translate :Bach
proofreading : Wenzai under the starry sky 、bot , source :K8sMeetup Community
边栏推荐
- Grpc: how to add API Prometheus monitoring interceptors / Middleware?
- Independent innovation and localization technology: SMT production line monitoring and management visualization of intelligent manufacturing
- Community pycharm installation visual database
- How do I check the trademark registration number? Where do I need to check?
- Process kill problem
- How to install the cloud desktop security server certificate? What can cloud desktops do?
- Liaoyuan social cloud primary actual combat camp test environment script
- ClickHouse Buffer
- Interpreting Tencent cloud product experience through user experience elements
- Why do cloud desktops use rack servers? Why choose cloud desktop?
猜你喜欢
![[summary of interview questions] zj5](/img/d8/ece82f8b2479adb948ba706f6f5039.jpg)
[summary of interview questions] zj5
![[summary of interview questions] zj6 redis](/img/4b/eadf66ca8d834f049f3546d348fa32.jpg)
[summary of interview questions] zj6 redis

Community pycharm installation visual database

Simple and beautiful weather code

Ar 3D map technology

Get to know MySQL database

On Sunday, I rolled up the uni app "uview excellent UI framework"

QT creator tips

Sorting out of key vulnerabilities identified by CMS in the peripheral management of red team (I)
随机推荐
Grp: how to add Prometheus monitoring in GRP service?
What does elastic public IP mean? The advantages of elastic public IP
Sinclair radio stopped broadcasting many TV stations, suspected of being attacked by blackmail software
How to install CentOS 6.5 PHP extension
How to design a hybrid system
What are the configuration requirements for cloud desktop servers? What are the main characteristics of the three points?
JD Logistics: from giant baby to mainstay
Grp: how to gracefully shutdown a process?
The importance of the computer room to the stable operation of the server
Grp: how to automatically add requestid in GRP service?
Why should I change my PC to a cloud desktop server? What are the characteristics of this server?
Does the user need a code signing certificate? What is the use of a code signing certificate
Grpc: how to implement distributed log tracing?
How to set up a cloud desktop server? Is there a charge for cloud desktop server setup?
Community pycharm installation visual database
Chapter 4: LED flash case of PS bare metal and FreeRTOS case development
How do I check the trademark registration number? Where do I need to check?
Clickhouse optimize table comprehensive analysis
What does cloud computing elasticity mean? What are its functions?
How to use elastic scaling in cloud computing? What are the functions?