'Cloud Native': What It Means, Why It Matters
When HP announced July 28 that it was acquiring ActiveState's PaaS business, senior vice president Bill Hilf said it was doing so in part to bridge the gap between traditional IT and "cloud-native applications."
The term "cloud-native applications" is not only finding its way more frequently into announcements, it's also gaining currency as a phrase that sums up where a lot of enterprise developers and operations staff think they are headed. "Cloud native" is not merely a buzzword; it's also enshrined in its own foundation -- the Cloud Native Computing Foundation, launched July 21.
For those unsure of what the term means, here's a primer on why it's the term du jour and why it's often used to sum up a set of goals and priorities that used to be the province of a Google or Facebook.
(Image: Andrey Prokhorov/iStockphoto)
At the heart of "cloud-native" lie Linux, Linux containers, and the concept of applications assembled as microservices in containers. Indeed, the Linux Foundation launched the Cloud Native Computing Foundation. But cloud-native means a lot more than implementing Linux clusters and running containers. It's a term that recognizes that getting software to work in the cloud requires a broad set of components that work together. It also requires an architecture that departs from traditional enterprise application design. The Cloud Native Computing Foundation is going to try to make it simpler to assemble these moving parts.
[Want to learn more about containers? See Docker Adds Container Networking, Deployment Options.]
That task is daunting enough that Sam Ramji, CEO of the Cloud Foundry Foundation, gave a talk on the meaning of "cloud-native" during the annual Open Source Convention (OSCON) held July 20-24. Ramji is a veteran of fitting dissimilar parts together, having once lead Microsoft's internal efforts at coordinating its code base with open source code and contributing to open source projects. If nothing else, that qualifies him to explain how to avoid some of the pitfalls of what constitutes cloud native.
The Cloud Native Computing Foundation was launched on the heels of the Open Container Initiative, announced June 22, a seemingly overlapping group. Ramji kept hearing people ask why there are so many foundations and how the technologies work together, so he rewrote his OSCON address to answer those questions. And as a result, he said, "I've gotten some of the most positive feedback of any talk I've ever given."
Here are some of the points he made.
- Cloud computing relies heavily on open source code; open source has won out over commercial code for next-generation applications, even inside the enterprise. Promising open source projects attract venture capital which encourages a project to form a company that wraps itself around the code and starts to monetize it. "We used to share code, improve it, and build it for reputation's sake," Ramji said in his OSCON keynote. Now an open source project can be an element of competition between startup companies and contributing companies who want to be able to adopt it for their own advantage. Foundations are formed when a project becomes so important that multiple vendors are willing to back it, provided no single one of them controls it. All participants want to move the code to a neutral plane, where they can share in it without one gaining control or competitive advantage. The growth of open source foundations is a result of the larger, direct role that startup economics tends to play in a project without multiple vendors, said Ramji.
- One example is Docker, the Linux container company. "Docker has taken over the world," and its success generated unease among developers with other ideas for containers, leading to the well-known competition between Docker and CoreOS's Rocket. IT managers told Ramji they would have to conduct a nine-month project to figure out which one to use. He responded, "that doesn't sound fast" in a business world that has to constantly adjust to changing conditions. "Sometimes competition leads to innovation and sometimes it gets destructive," he told the OSCON attendees. Companies don't want to get bogged down in deciding between competing open source projects. On June 22, Docker and CoreOS both got behind the Open Container Initiative and agreed to adhere to a common container file format and a common runtime to simplify future tasks for enterprise container adopters.
- The drive of open source projects today is not simply to create an alternative to commercial code. It's now driven by the need for "continuous innovation," by business needs that can be adapted with frequent software adjustments in any week or even through the space of a day. "Zynga used to say they deployed code 40 times a day. Now Amazon says it deploys code every seven seconds. Why do we do it? We do it to run in the cloud, to connect to any device," to constantly update applications in the cloud to adjust to business needs, Ramji said. There can't be continuous innovation if developers and operations staffs spend much of their time trying to figure out how open source code components will work together. Cloud Foundry, Docker, Kubernetes (the Google-spawned container orchestration system), Mesos (container cluster management used by Twitter, Apple, and Airbnb) and other container projects have continuous innovation as their underlying goal. "If we can bring it all together, if we can work to harmonize Kubernetes and Mesos together, we can re-imagine schedulers as plug-ins," Ramji continued, and use them as they're needed.
- Single-vendor open source projects won't behave in this fashion. They'll be run by developers who have been given stock options by venture capitalists to press their momentary advantage. Only multi-vendor projects that are creating a new platform or set of components that work together will have the chance to grow into both a major project and a major force for change in cloud usage, he predicted.
- Cloud-native applications are meant to function "in a world of cloud computing that is ubiquitous and flexible." Applications can be developed on a cloud platform, then deployed to different clouds where supporting software stacks will help them run at scale.
- Cloud-native applications amount to "prescriptive software stacks" designed to work together for enterprises that are too busy to assemble components themselves, Ramji concluded. To get there, companies will build microservices -- discrete application services -- each running in its own container, then connect them via a network to build the application they want. Cloud native means "rebalancing the roadmap toward user-driven systems" that use standardized parts and follow standardized deployment and operational procedures.
The motivation behind cyberattacks is becoming more varied, with disinformation and disruption joining the regulars: data theft, extortion, and vandalism.
Brought to you by Ivanti
Its proponents will still need to provide more examples of how this set of ideas works in practice, but "cloud native" will enable a constantly shifting software infrastructure that keeps companies oriented toward their customers and able to compete. Since 2000, 52% of the Fortune 500 has turned over, Ramji noted. Continuous innovation and deployment of fresh software is one of the few measures that will keep a company from becoming the next to drop off the list.
'Cloud Native': What It Means, Why It Matters的更多相关文章
- On cloud, be cloud native
本来不想起一个英文名,但是想来想去都没能想出一个简洁地表述该意思的中文释义,所以就用了一个英文名称,望见谅. Cloud Native是一个刚刚由VMware所提出一年左右的名词.其表示在设计并实现一 ...
- 一篇文章带你了解Cloud Native
背景 Cloud Native表面看起来比较容易理解,但是细思好像又有些模糊不清:Cloud Native和Cloud关系是啥?它用来解决什么问题?它是一个新技术还是一个新的方法?什么样的APP符合“ ...
- 程序员如何让自己 Be Cloud Native - 配置篇
前言 这是<程序员如何让自己 Be Cloud Native>系列文章的第二篇,从第一篇的反馈来看,有些同学反馈十二要素太形式主义,不建议盲目跟从.作者认为任何理论和技术都需要有自己的观点 ...
- 微软推出了Cloud Native Application Bundles和开源ONNX Runtime
微软的Microsoft Connect(); 2018年的开发者大会 对Azure和IoT Edge服务进行了大量更新; Windows Presentation Foundation,Window ...
- Cloud Native 云化架构阅读笔记
一• Cloud Native CloudNative是什么? Cloud Native翻译为云原生,是Matt Stine提出的一个概念,它是一个思想的集合,包括DevOps.持续交付(Contin ...
- 微服务浪潮中,程序猿如何让自己 Be Cloud Native
前言 CNCF 与 Cloud Native 这两个技术词汇最近频频走进了程序员的视野,一切和他能搭上边的软件意味着标准.开放.时尚,也更能俘获技术哥哥们的心:这篇文章不想去带大家重温这个词汇后面的软 ...
- Dubbo x Cloud Native 服务架构长文总结(很全)
Dubbo x Cloud Native 服务架构长文总结(很全) mercyblitz SpringForAll社区 3天前 分享简介 Cloud Native 应用架构随着云技术的发展受到业界特别 ...
- Cloud Native Weekly | Kubernetes 1.13发布
云原生一周精选 1——Kubernetes 1.13发布 2——Kubernetes首次出现重大安全漏洞 3——Docker和微软公司推出云原生应用的部署规范 4——谷歌推出beta版本的Cloud ...
- 聊一聊 Cloud Native 与12-Factor
12-Factor(twelve-factor),也称为“十二要素”,是一套流行的应用程序开发原则.Cloud Native架构中使用12-Factor作为设计准则. 12-Factor 的目标在于: ...
随机推荐
- Python3 IO编程之操作文件和目录
如果我们要操作文件,目录,可以在命令行下面输入操作系统提供的各种命令来完成.比如ls,cp等命令 如果要在python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令指示简单地调用了操作系 ...
- C++标准模板库Stand Template Library(STL)简介与STL string类
参考<21天学通C++>第15和16章节,在对宏和模板学习之后,开启对C++实现的标准模板类STL进行简介,同时介绍简单的string类.虽然前面对于vector.deque.list等进 ...
- 钩子(hook)
钩子(hook)编程 钩子(hook)编程 一.钩子介绍 1.1钩子的实现机制 钩子英文名叫Hook,是一种截获windows系统中某应用程序或者所有进程的消息的一种技术.下图是windows ...
- js判断json对象是否为空
if("{}" == JSON.stringify(json对象)) { // 满足条件就是空 }
- PHP与Memcached服务器交互的分布式实现源码分析
转自: http://blog.csdn.net/hguisu/article/details/7353595 前段时间,因为一个项目的关系,研究了php通过调用memcache和memcached ...
- RocketMQ之一:RocketMQ整体介绍
常用MQ介绍及对比--<MQ详解及四大MQ比较> RocketMQ环境搭建--<RocketMQ之三:RocketMQ集群环境搭建> RocketMQ物理部署结构 Rocket ...
- Python之匿名函数使用示例
#!/usr/bin/env python # -*- coding:utf8 -*- # #匿名函数 # y = lambda x:x+1 # print(y(10)) name = 'AK' #一 ...
- Mysql 定时备份(mysqldump)
#!/bin/bash today=`date +%Y-%m-%d` deleday=`date -d '7 day ago' +%Y-%m-%d` path=/home/data/mysqlback ...
- PAT(B) 1028 人口普查(C)字符串
题目链接:1028 人口普查 (20 point(s)) 题目描述 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是 ...
- springboot整合druid、mybatis
目的: 1.springboot配置数据库连接池druid 测试druid中url监控 2.springboot整合mybatis 测试查删案例 3.springboot整合pagehelper sp ...