当前位置:网站首页>Talk about go language and cloud native technology
Talk about go language and cloud native technology
2022-06-27 12:02:00 【Hua Weiyun】
What is cloud origin
Cloud native (Cloud Native) The concept is created by Pivotal Of Matt Stine stay 2013 First proposed in .
On Cloud native , Always give people a kind of ambiguity , The feeling of not knowing what to say . But actually , Cloud primordial has an official definition :
according to Cloud native Computing Foundation (CNCF, The famous Linux A sub foundation of the foundation ) That's what I'm saying :
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 .
Here we refine this definition .
Definition : Cloud native software is highly distributed , Must operate in a constantly changing environment , And the application itself is changing .
in other words , Cloud native technology is facing the uncertainty of the environment 、 Under the changing demand , They are extensible .
The origin of cloud primordial
The root cause of all this may be the pressure brought about by the development of the network .
In the early days ,1950 The introduction of mainframe computers in the late s . at that time , Every program and data block is stored in a giant machine , Users can access... Through stupid terminals , Without their own computing power . All logic and all data live together as a big happy whole .
With cheap Internet connections PC The arrival of the , Everything is in 1980 The age has changed . Unlike stupid terminals ,PC You can do some calculations by yourself , Thus, some application logic can be unloaded onto them . This new multi tier architecture ( Separate presentation logic , Business logic and data ( chart 1-1)) For the first time, the components of a web application can be modified or replaced with components that are independent of other web applications .
stay 1990 years , The popularity of the world wide web and the subsequent “ Internet ” The gold rush introduced the world to software as a service (SaaS). The whole industry is built on SaaS On the model , Driving the development of more complex and resource hungry applications , These applications, in turn, work harder to develop , Maintenance and deployment . All of a sudden , Classic multi-storey buildings are not enough . As a response to , Business logic began to decompose into independent development , Maintenance and deployment of sub components , And ushered in the era of micro services .
2006 year , Amazon launched Amazon Web Services(AWS), These include Elastic Compute Cloud(EC2) service . Even though AWS Not as a service (IAAS) The first infrastructure provided , But it completely changes the on-demand availability of data storage and computing resources , Thus enabling cloud computing and rapid expansion - It has promoted the large-scale migration of the masses and the entry of resources ” cloud ”.
Cloud native software is designed to predict failures and remain stable , Even if the infrastructure it operates on is experiencing failures or other changes .
Yunyuansheng now includes DevOps(Development and Operations The combination of )、 Continuous delivery ( Continuous Delivery,CD)、 Microservices ( MicroServices )、 Agile infrastructure ( Agile Infrastructure ) And the twelve elements ( The Twelve-Factor App ) Wait for a few major themes .
Cloud Nativity
Cloud native applications are designed and built to take advantage of what the cloud provides scale (scale), elastic (resiliency), Applicability (resiliency) and flexibility (flexibility).
The characteristics of today's complex applications ( Users expect continuous innovation and unparalleled responsiveness ) Make the business system more strategic and more flexible . Cloud native is to respond quickly , While staying agile .
The benefits of cloud native applications
Cloud native application (Native cloud applications,NCAs) It is a program designed for cloud computing architecture . They have many advantages :
independence : Their architecture makes it possible to build cloud native applications independently of each other . This means that you can also manage and deploy them separately .
elastic : Well designed cloud native applications can survive and be online even when the infrastructure is interrupted .
Based on standards : For interoperability and workload portability , Cloud native application services are usually based on open source and standard technologies . This helps reduce vendor lock-in , And increase portability .
Business agility : Cloud native applications enable flexible deployment options across the network , And smaller than traditional applications , This makes them easier to develop , Deployment and iteration .
automation : Cloud native applications use DevOps Automation , And enable continuous delivery and deployment of regularly released software changes . Besides , Developers can use tools such as Blue-green deployment and Canary Deployment To improve the application , Without damaging the user experience .
Zero downtime : Because of Kubernetes And so on , You can deploy software updates with basic zero downtime .
Go Advantages in the cloud native era
Go Cloud native development has natural advantages , Cloud native systems need to be scalable 、 coupling 、 Elastic manageable .Go The design of is a language built for the cloud native era , A simple and efficient 、 Quick compilation 、 Support modern networks and Multicore Computing 、 Support High concurrency 、 Memory safety , Help users focus on solving problems rather than being limited by the complexity of the language .
For example, the following famous applications all use Go Realization :

Docker Create container
Kubernetes layout
Prometheus Event monitoring
Consul Service discovery
Jaeger End to end distributed tracing
today ,Go It has become a common language for cloud native development , from Docker To Harbor, from Kubernetes To Consul, from InfluxDB To CockroachDB And so on Go Compiling . And every day more projects appear .
summary
To make a long story short , In the traditional application system development process , Software developers like to focus on business systems , Focus on how the system is developed 、 How to close the source into an independent overall system .
Cloud native technology exists only to make use of “ cloud ”( Number ) The benefits of , At the same time, it makes up for its shortcomings ( Lack of reliability ).Go The language takes into account both development efficiency and running speed , Not only does it provide a high-performance runtime , It also reduces the development difficulty of large projects .
Go It has been more than ten years since the language was released , Develop together with cloud primitives , With a lot of tools and technical support , Have a good command of Go Language and then learn these cloud native tools , May have a different experience .
Last , Learn and understand Go And cloud native technology , Improve knowledge , Help us better grasp the opportunities of the industry , Time will not wait for me .
Reference link :
边栏推荐
- Wait, how do I use setmemorylimit?
- 杰理之添加定时器中断【篇】
- dried food! What problems will the intelligent management of retail industry encounter? It is enough to understand this article
- AUTOCAD——三种修剪方式
- 深入理解 happens-before 原则
- 最短编辑距离(线性dp写法)
- FileOutputStream
- pull request
- I.MX6ULL启动方式
- In 2021, the global professional liability insurance revenue was about USD 44740million, and it is expected to reach USD 55980million in 2028. From 2022 to 2028, the CAGR was 3.5%
猜你喜欢

57. The core principle of flutter - layout process

c/s 架构

In 2021, the global carbon graphite brush revenue is about US $2366million, and it is expected to reach US $2701.8 million in 2028

干货!零售业智能化管理会遇到哪些问题?看懂这篇文章就够了

QStyle实现自绘界面项目实战(一)

Qstype implementation of self drawing interface project practice (I)

优博讯出席OpenHarmony技术日,全新打造下一代安全支付终端
![[tcapulusdb knowledge base] tcapulusdb doc acceptance - transaction execution introduction](/img/d9/f6735906a130834c4b3e28de2b2617.png)
[tcapulusdb knowledge base] tcapulusdb doc acceptance - transaction execution introduction

Nvme2.0 protocol - new features

0基础了解电商系统如何对接支付渠道
随机推荐
R language uses GLM function to build Poisson logarithm linear regression model, processes three-dimensional contingency table data to build saturation model, uses step function to realize stepwise re
【On nacos】快速上手 Nacos
如何修改 node_modules 里的文件
Mqtt protocol stack principle and interaction flow chart
L'utilisation de C language 0 length Array
[tcapulusdb knowledge base] Introduction to tcapulusdb tcapsvrmgr tool (I)
.NET6接入Skywalking链路追踪完整流程
The R language uses the follow up The plot function visualizes the longitudinal follow-up map of multiple ID (case) monitoring indicators, and uses stress The labels parameter adds label information t
C语言0长度数组的妙用
Jerry's serial port communication serial port receiving IO needs to set digital function [chapter]
[tcapulusdb knowledge base] tcapulusdb doc acceptance - create business introduction
【面试高频题】难度 1.5/5,LCS 模板题
56. Core principle of flutter - flutter startup process and rendering pipeline
Detailed explanation of interprocess communication
Salesforce 容器化 ISV 场景下的软件供应链安全落地实践
57. The core principle of flutter - layout process
The GLM function of R language is used to build a binary logistic regression model (the family parameter is binomial), and the AIC function is used to compare the AIC values of the two models (simple
杰理之DAC输出方式设置【篇】
Build the Internet of things system from scratch
千万不要错过,新媒体运营15个宝藏公众号分享