docker as engitor及云构建devops选型

简介: 本文关键字:docker as engitor,云构建devops

本文关键字:docker as engitor,云构建devops

在发布《engitor as demo show engine,applet container》时,我们谈到engitor是一种延续langsys,独立于开发,但对接开发增强开发,及负责整个发布和部署,甚至运行(除了xaas层次的那部分运行)的综合过程统称,解决开发完成后,增强开发环境,问题域demo组装及发布至上线的一系列后续工作。类似应用服务器,但不止这些。比如vs appserver,an engitor可以是强化语言系统之后可视化的开发增强支持(engitor=app engine as editor)甚至提供baas,paas这样的运行增强支持,而传统appserver仅负责特定的部分。

我们总把整个软件工程分为xaas,langsys,engitorx(appdomain),apps四个层次。越到最后规模越小,程序逻辑越片断化具体领域化,最终,它使源码形式的语言系统写出的源码片断程序,可以以可视化的形式开发,碎片化发布/累积的方式运行,使得练习和演示可以向最终应用逐步无痛地迭代。。我们一直在为这些领域选型。如上所述,appdomain的engitor承上启下是规模较大的一块,其选型也就越复杂。

在那里,我们主要选取了jupyter和openresty来说明engitor:

1)在用jupyter充当这个engitor时它同时是enginx,它的特点是.ipynb,技术上这实际上是一种web脚本和各种语言后端的服务环境"web engitor"(但是它支持cs app化engitor),.pynb可以欠在webviewer中也可以欠在其它支持jupyter cs协议(类似cgi)的clientview中,由于engitor是支持多语言的。所以,它实际上是将多种语言源码片断(a note)统一发布成web应用的服务端脚本的形式并将执行结果返回。这其实就是动态web脚本的理念。但是它第一次实现了将不同的语言统一化为服务端脚本,且提供了一个在线IDE(以开发一段note测试一段note的行为)。而实际上足够复杂的ipynb是可以开发app的,也不限于用在线IDE的教育工具的形式去展现,其前后端一个是语言一个是应用就像普通WEB一样。

2)而openresty的enginx是纯运行方面的engitor选型,我们在《发布enginx中》,提到组件服务器环境,它使服务性程序的协议部分,变成组件的交互。将lamp,lnnp,lnmp结构扩展到可配置的通用组件化服务器程序的结构(实际上是利用lua为nginx写脚本),而kbengine这样的结构就演示了如何用openresty来充当通用程序的enginx-game app

legacy engitor和devops云构建

以上选型都有几个共同的特点,1,在这种engitor是一个组装运行环境,这种语言环境“在线收集合成了”用户碎片化方式提交的源码逻辑,是个云构建化的开发环境类程序。2,且形成的engitor app要在这个engitor辅助下运行,因为它要面向源码片断输出这种源码下的应用。这此都符合我们对engitor选型的一惯要求和标准。

那么是否能构建一个engitor,它依然能够面向对一端是语言src逻辑输出另一端是应用输出而不局限仅用于要求输入端必须是源码,输出端必须是APP?(一言以蔽之通用化构建任意程序),且不要求运行在以上具体engitor下?那么这还叫engitor吗?还有意义吗?

毕竟,我们想得到一个万用的engitor,将传统上从(linux的生态开始处,CUI处,那个时候仅有os kernel和toolchain),将任何复杂应用的开发涉及到的多种语言源程序/二进制的编译过程,多种语言vm的打包过程自动化起来,将这些在传统上是构建脚本的编排技术,和OS的包管理技术考虑进来,甚至使构建本身云化和构建服务外部化云化,喂给远程构建-云构建,。形成自动化,云端脚本化编译的结果,并以此为运行目标,仅负责书写最终APP上的事。

这实际上就是输入端接受任意构建,输出端产生任意程序的单一要求而已。这样的engitor实际上以os为enginx运行,以能运行上其上的所有可能语言系统为engitor中的langsys。而engitor也不必是个jupyter+web执行环境式的“云构建”和中间件打包。比如,它可以是任何程序(非源码形式的某语言源码片断,二进制也可,非IDE类产出过程也可)构成的“云构建”和中间件打包。它可以没有任何关乎engitor意义上的输入输出。但是依然可以适用于engitor特例。

那么如何整合这些,这实际就是devops做的事。传统我们在PC上用各种开发用的虚拟机vagrant,那么我们现在有docker和devops

docker as engitor和云IDE。

在那文中我们讲到jupyter也有jupyter hub。实际上它相当于docker版本的github+dockerhub组成的devops。

docker as 通用构建技术和容器的情况下,实际上docker与docker-compose是二个独立的过程,docker只负责run,而github相当于ide中收集源码的工程环境,那么我们还可以得到什么呢?
比如结合前面的ellie,我们可以在结合docker和gitlab cl for elmlang的情况下,把这个ellie ide放进去。做一个云IDE。

自由大开脑洞去吧。


(此处不设回复,扫码到微信参与留言,或直接点击到原文)

qrcode.png

相关文章
|
1月前
|
运维 Kubernetes Docker
利用Docker和Kubernetes构建微服务架构
利用Docker和Kubernetes构建微服务架构
|
19天前
|
数据库 Docker 容器
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。Dockerfile定义了构建镜像所需的所有指令,包括基础镜像选择、软件安装、文件复制等,极大提高了开发和部署的灵活性与一致性。掌握Dockerfile的编写,对于提升软件开发效率和环境管理具有重要意义。
41 9
|
1月前
|
机器学习/深度学习 数据采集 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用
|
1月前
|
存储 监控 Linux
docker构建镜像详解!!!
本文回顾了Docker的基本命令和管理技巧,包括容器和镜像的增删改查操作,容器的生命周期管理,以及如何通过端口映射和数据卷实现容器与宿主机之间的网络通信和数据持久化。文章还详细介绍了如何使用Docker部署一个简单的Web应用,并通过数据卷映射实现配置文件和日志的管理。最后,文章总结了如何制作自定义镜像,包括Nginx、Python3和CentOS镜像,以及如何制作私有云盘镜像。
150 2
|
2月前
|
Kubernetes 负载均衡 Docker
构建高效微服务架构:Docker与Kubernetes的完美搭档
本文介绍了Docker和Kubernetes在构建高效微服务架构中的应用,涵盖基本概念、在微服务架构中的作用及其实现方法。通过具体实例,如用户服务、商品服务和订单服务,展示了如何利用Docker和Kubernetes实现服务的打包、部署、扩展及管理,确保微服务架构的稳定性和可靠性。
102 7
|
1月前
|
Kubernetes 负载均衡 Docker
构建高效微服务架构:Docker与Kubernetes的完美搭档
【10月更文挑战第22天】随着云计算和容器技术的快速发展,微服务架构逐渐成为现代企业级应用的首选架构。微服务架构将一个大型应用程序拆分为多个小型、独立的服务,每个服务负责完成一个特定的功能。这种架构具有灵活性、可扩展性和易于维护的特点。在构建微服务架构时,Docker和Kubernetes是两个不可或缺的工具,它们可以完美搭档,为微服务架构提供高效的支持。本文将从三个方面探讨Docker和Kubernetes在构建高效微服务架构中的应用:一是Docker和Kubernetes的基本概念;二是它们在微服务架构中的作用;三是通过实例讲解如何使用Docker和Kubernetes构建微服务架构。
65 6
|
1月前
|
运维 监控 Devops
DevOps文化:持续交付与持续反馈的文化构建与实践
【10月更文挑战第26天】DevOps作为一种将开发与运维紧密结合的文化和实践,通过促进团队协作与自动化流程,实现快速、稳定且高质量的软件交付。本文重点探讨持续交付与持续反馈两大支柱,通过实际案例和示例代码,展示其构建与实践过程。例如,使用Jenkins构建CI/CD流水线,通过Grafana和Prometheus实现实时监控,确保软件质量和快速响应。
42 1
|
1月前
|
负载均衡 应用服务中间件 nginx
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
通过使用Nginx和Consul构建自动发现的Docker服务架构,可以显著提高服务的可用性、扩展性和管理效率。Consul实现了服务的自动注册与发现,而Nginx则通过动态配置实现了高效的反向代理与负载均衡。这种架构非常适合需要高可用性和弹性扩展的分布式系统。
31 4
|
1月前
|
负载均衡 应用服务中间件 nginx
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
通过使用Nginx和Consul构建自动发现的Docker服务架构,可以显著提高服务的可用性、扩展性和管理效率。Consul实现了服务的自动注册与发现,而Nginx则通过动态配置实现了高效的反向代理与负载均衡。这种架构非常适合需要高可用性和弹性扩展的分布式系统。
55 3
|
2月前
|
jenkins 测试技术 持续交付
Docker最佳实践:构建高效的CI/CD流水线
【10月更文挑战第17天】在现代软件开发实践中,持续集成(Continuous Integration, CI)和持续部署(Continuous Deployment, CD)已成为提高开发效率和软件质量的重要手段。Docker作为一种容器技术,为构建一致且隔离的开发环境提供了强有力的支撑。本文将探讨如何利用Docker来优化CI/CD流程,包括构建环境的标准化、镜像管理以及与CI/CD工具(如Jenkins、GitLab CI)的集成。
75 5
下一篇
DataWorks