容器领域软件栈与学习建议路线

容器技术软件堆栈

右边表格标红粗的是相比较最火的,其次是标蓝粗的需要多加关注

  • 生态圈最核心的控制点实际在编排调度层(kubernetes,openstack,mesos,swarm)这其实是PaaS,IaaS的核心点。其属于基础设施层,以此开放能力(Cloud Service),构筑面向行业的SaaS的基础能力。
  • 容器管理这一层分化为两类:面向资源的和面向应用的,CloudServce时代,微服务化架构应用雨后春笋,所以从长期看终会是面向应用的。
  • libcontainer是docker提供的namespace/CGroup的抽象层,面向的是docker的模型,lxc也是抽象层,其诞生于2008,已经被linux os集成到内核。
  • 所以对于容器领域学习建议从上至下会更有感觉:了解vm vs 容器的优缺点,为什么vm了还要容器,面向的场景是哪些,vm架构有哪些弊端,容器有哪些弊端,此外了解微服务化架构应用,了解了这些现状后,再按编排层,以当前火热程度和潮流趋势看,kubernetes重点学习,其次在容器管理这一层重点通过其中一个了解容器的模型,api,技术实现,附带的就会涉及linux namespace/cgroup,apparmor,sellinux以linux内核的一些知识,之后再横向比较docker,rkt,lxd的差异点(如果无差异则也就没存在的必要的)。
时间: 2024-08-02 05:19:26

容器领域软件栈与学习建议路线的相关文章

Java-web-j2e学习建议路线【转】

首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA).J2SE,Java 2 Platform Standard Edition,我们经常说到的JDK,就主要指的这个,它是三者的基础,属于桌面级应用开发,这部分如果学得好很容易拓展J2EE和J2ME.J2ME,The Micro Edition of the Java 2 Platform.主要用于嵌入式Java,如手机,PDA等等.J2EE,Java 2 Platform,Enterprise Edition,就是

java-web-j2e学习建议路线

首 先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA).J2SE,Java 2 Platform Standard Edition,我们经常说到的JDK,就主要指的这个,它是三者的基础,属于桌面级应用开发,这部分如果学得好很容易拓展J2EE和J2ME. J2ME,The Micro Edition of the Java 2 Platform.主要用于嵌入式Java,如手机,PDA等等.J2EE,Java 2 Platform,Enterprise Edition,

大牛分享C++学习建议,从入门到精通速学的干货,学到就是赚发了

C++学习建议 大牛分享C++学习建议,从入门到精通速学的干货,学到就是赚发了C++缺点之一,是相对许多语言复杂,而且难学难精.许多人说学习C语言只需一本K&R<C程序设计语言>即可,但C++书籍却是多不胜数.我是从C进入C++,皆是靠阅读自学.在此分享一点学习心得.个人认为,学习C++可分为4个层次:创一个小群,供大家学习交流聊天如果有对学C++方面有什么疑惑问题的,或者有什么想说的想聊的大家可以一起交流学习一起进步呀.也希望大家对学C++能够持之以恒C++爱好群,如果你想要学好C+

(转)C++学习建议

原文:http://www.cnblogs.com/xilentz/archive/2010/05/01/1725460.html 博主传达了大量的去其糟粕的思想,所以,我只取了他对如何学习C++的建议,我还标记那些我觉得重要的话,方便以后提醒自己. C++是一门强大的语言,我们没有任何理由不学习他,领略其中的风采. 建议1:有辨别力地阅读(包括那些被广泛称为"经典"的)C++书籍. 如果书中介绍的某块内容你认为在日常编程中基本不会用到(属于20%场景),那么也许最好的做法是非常大概的

一位资深程序员大牛给予Java初学者的学习建议(转)

一位资深程序员大牛给予Java初学者的学习建议 这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议? 今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内容, 同样适用于一些希望转行到Java的同学. 在大家看之前,我要先声明两点. 1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线, 非Java Web和Java后

详解C语言和C++最大的区别,附带新手学习建议

首先,我们来看看C语言与C++的概念: C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点.它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大.中.小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序.它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入

【华为云技术分享】昇腾AI处理器软件栈--总览

昇腾AI软件栈提供了计算资源.性能调优的运行框架以及功能多样的配套工具,是一套完整的解决方案,可以使昇腾AI处理器发挥出极佳的性能. 昇腾AI软件栈可以分为神经网络相关软件模块.工具链以及其它软件模块. · 神经网络软件主要包含了流程编排器(Matrix),框架管理器(Framework),运行管理器(Runtime).数字视觉预处理模块(Digital Vision Pre-Processing,DVPP).张量加速引擎(Tensor Boost Engine,TBE)以及任务调度器(Task

50条大牛C++编程开发学习建议

每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少.本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真的理解了这些建议,相信能够在学习时准确的抓住侧重点,少走弯路.下面列出这50条建议: 1.把C++当成一门新的语言学习(和C没啥关系!).2.看<Thinking In C++>,不要看<C++编程思想>.3.看<The C++ Programming Language>和

转载:堆和栈的学习

堆和栈的区别一.预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分1.栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈.2.堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 .注意它与数据结构中的堆是两回事,分配方式倒是类似于链表.3.全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初