当前位置:网站首页>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 :
边栏推荐
- Go Web 编程入门:验证器
- Wait, how do I use setmemorylimit?
- Jerry's constant feeding of dogs will cause frequent switch interruptions leading to timer [chapter]
- 杰理之睡眠以后定时唤醒系统继续跑不复位【篇】
- 深入理解 happens-before 原则
- Summary of qstype class usage (III)
- MapReduce实战小案例(自定义排序、二次排序、分组、分区)
- Fork/Join 框架基本使用和原理
- Precautions for use of IO interface interrupt of Jerry [chapter]
- Safe landing practice of software supply chain under salesforce containerized ISV scenario
猜你喜欢

Unity Shader学习(一)认识unity shader基本结构

面试突击60:什么情况会导致 MySQL 索引失效?

StarCraft's Bug King ia retired for 2 years to engage in AI, and lamented that it was inferior

AUTOCAD——三种修剪方式

Shell script learning notes

MQTT协议栈原理及交互流程图

AutoCAD - three pruning methods

如何修改 node_modules 裏的文件

【TcaplusDB知识库】Tmonitor系统升级介绍

pull request
随机推荐
Jerry's DAC output mode setting [chapter]
[tcapulusdb knowledge base] Introduction to tcapulusdb data structure
如何修改 node_modules 里的文件
1. Mx6ull startup mode
Redis distributed lock 15 ask, what have you mastered?
After Jerry's sleep, the regular wake-up system continues to run without resetting [chapter]
FileOutputStream
Jerry added an input capture channel [chapter]
After Jerry's sleep, the regular wake-up system continues to run without resetting [chapter]
Jerry's serial port communication serial port receiving IO needs to set digital function [chapter]
Four memory areas (stack, heap, global, code area)
Popular science of device review: popular science of innovative medical device series - sternum plate products
[tcapulusdb knowledge base] tcapulusdb system user group introduction
Maximum path and problem (cherry picking problem)
How to modify a node_ Files in modules
Matlab exercises - create 50 rows and 50 columns of all zero matrix, all 1 matrix, identity matrix, diagonal matrix, and output the 135 element of the matrix.
Prevent being rectified after 00? I. The company's recruitment requires that employees cannot sue the company
Usage of rxjs mergemap
master公式
杰理之串口通信 串口接收IO需要设置数字功能【篇】