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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
Sponsored Content
The State of Cybersecurity: Defeating Cybercrime with Better Security Strategies

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的更多相关文章

  1. On cloud, be cloud native

    本来不想起一个英文名,但是想来想去都没能想出一个简洁地表述该意思的中文释义,所以就用了一个英文名称,望见谅. Cloud Native是一个刚刚由VMware所提出一年左右的名词.其表示在设计并实现一 ...

  2. 一篇文章带你了解Cloud Native

    背景 Cloud Native表面看起来比较容易理解,但是细思好像又有些模糊不清:Cloud Native和Cloud关系是啥?它用来解决什么问题?它是一个新技术还是一个新的方法?什么样的APP符合“ ...

  3. 程序员如何让自己 Be Cloud Native - 配置篇

    前言 这是<程序员如何让自己 Be Cloud Native>系列文章的第二篇,从第一篇的反馈来看,有些同学反馈十二要素太形式主义,不建议盲目跟从.作者认为任何理论和技术都需要有自己的观点 ...

  4. 微软推出了Cloud Native Application Bundles和开源ONNX Runtime

    微软的Microsoft Connect(); 2018年的开发者大会 对Azure和IoT Edge服务进行了大量更新; Windows Presentation Foundation,Window ...

  5. Cloud Native 云化架构阅读笔记

    一• Cloud Native CloudNative是什么? Cloud Native翻译为云原生,是Matt Stine提出的一个概念,它是一个思想的集合,包括DevOps.持续交付(Contin ...

  6. 微服务浪潮中,程序猿如何让自己 Be Cloud Native

    前言 CNCF 与 Cloud Native 这两个技术词汇最近频频走进了程序员的视野,一切和他能搭上边的软件意味着标准.开放.时尚,也更能俘获技术哥哥们的心:这篇文章不想去带大家重温这个词汇后面的软 ...

  7. Dubbo x Cloud Native 服务架构长文总结(很全)

    Dubbo x Cloud Native 服务架构长文总结(很全) mercyblitz SpringForAll社区 3天前 分享简介 Cloud Native 应用架构随着云技术的发展受到业界特别 ...

  8. Cloud Native Weekly | Kubernetes 1.13发布

    云原生一周精选 1——Kubernetes 1.13发布 2——Kubernetes首次出现重大安全漏洞 3——Docker和微软公司推出云原生应用的部署规范 4——谷歌推出beta版本的Cloud ...

  9. 聊一聊 Cloud Native 与12-Factor

    12-Factor(twelve-factor),也称为“十二要素”,是一套流行的应用程序开发原则.Cloud Native架构中使用12-Factor作为设计准则. 12-Factor 的目标在于: ...

随机推荐

  1. DevOps - DevOps精要 - 溯源

    1 - DevOps的含义 DevOps涉及领域广泛,其含义因人而异,在不同的理解和需求场景下,有着不同的实践形式. DevOps可以理解为是一个职位.一套工具集合.一组过程与方法.一种组织形式与文化 ...

  2. C语言中malloc、free和new、delete的用法和区别

    很多学过C的人对malloc都不是很了解,知道使用malloc要加头文件,知道malloc是分配一块连续的内存,知道和free函数是一起用的.但是但是: 一部分人还是将:malloc当作系统所提供的或 ...

  3. BJFU——205基于顺序存储结构的图书信息表的排序

    #include<stdio.h> #include<stdlib.h> #define MAX 1000 typedef struct{ double no; char na ...

  4. Python基础 — 八种数据类型

    Python 3.x 的八种数据类型 八种数据类型分别是: number(数字).string(字符串).Boolean(布尔值).None(空值) list(列表).tuple(元组).dict(字 ...

  5. Maven学习存档(2)——settings.xml配置

    二.settings.xml配置 2.1 原文 <?xml version="1.0" encoding="UTF-8"?> <!-- Lic ...

  6. spring源码学习(一)--AOP初探

    LZ以前一直觉得,学习spring源码,起码要把人家的代码整体上通读一遍,现在想想这是很愚蠢的,spring作为一个应用平台,不是那么好研究透彻的,而且也不太可能有人把spring的源码全部清楚的过上 ...

  7. centos可选的安装类型

    Desktop :基本的桌面系统,包括常用的桌面软件,如文档查看工具. Minimal Desktop :基本的桌面系统,包含的软件更少. Minimal :基本的系统,不含有任何可选的软件包. Ba ...

  8. hdu 2555

    Problem Description 杭州师范大学第29届田径运动会圆满的闭幕了,本届运动会是我校规模最大,参赛人数最多的一次运动会.在两天半时间里,由学生.教工组成的61支代表队共2664名运动员 ...

  9. TCP(上)

    tcp头格式: TCP状态位: SYN表示建立连接, FIN表示关闭连接, ACK表示响应, PSH表示有 DATA数据传输, RST表示连接重置. TCP窗口: TCP 要做流量控制,通信双方各声明 ...

  10. .netCore 简易Web 项目

    static async Task Main(string[] args) { var _httpListener = new HttpListener(); _httpListener.Prefix ...