Stephen Downes's E-Learning L2

Image by Tumisu from Pixabay


恢复学习 e-learning 3.0 MOOC. 这节课 Stephen Downes 和我们讨论有关 Cloud 的内容。我的学习笔记会翻译课程概述,摘取视频中的主要概念和观点,再延伸一些自己感兴趣的阅读材料。

本节课课程链接:https://el30.mooc.ca/cgi-bin/page.cgi?module=6


概要

有个笑话是这样说的:「云」只是「别人的电脑」的简称。这个概念的挑战性在于,它是谁的电脑并不重要,关键在于它随时都可能发生变化,我们应该开始把「计算」、「存储」当作商品,更像「水」或者「电」,而不是作为你桌面上一类设备的特性。

以云为基础的计算技术始于服务虚拟化的概念、VMWare 和 Parallels 这样的应用程序,并通过使用 Docker 这样的程序创建的一系列日益复杂的计算容器,并使用 AWS、Digital Ocean 这类服务运行。

分布式、去中心化的计算技术允许 Coursera 和 EdX 这样的慕课(MOOC)同时为成千上万的学生服务。然而,今天,这种能力对每个人来说都是可行的。

这些服务通过一系列 Dockerfile、Vagtantfile、YAML 这样的新类型文件创建和提供。因此,我们现在能够把整个计算环境看作我们可以相互来回交换的情境。

这方面的一个例子是 Jupyter 笔记本,它基本上是一个文本文档——一个笔记本,里面有可以实时运行的计算机代码,你可以随时修改和运行它。换言之,整个网站很容易下载和部署到你的容器里,和你点击一个超链接或者打开一个幻灯片一样简单。

这些新的资源允许我们重新定义我们的概念,比如教科书、学习主体。通过把强大的应用程序交到学生的手中,我们为操作、可视化、创新创造了新的可能。

现在,学生们不仅能够创作剧本、音乐和艺术,还可以编辑和建立新的工具用于创作剧、音乐和艺术。他们将能够直接体验算法和结果之间的关系,活着数学和音乐之间的关系。

更重要的是,每个有自己专门的功能、建立了分布式数据网络和服务的网络容器,将使老师和学生能协同工作。学习像「负载平衡」这样简单的概念-将对单个网页的请求发送到不同的计算机以分散负载的机制-是能够想象、理解深层和复杂服务网络的门道。


Downes 和 Tony Hirst 对话讨论了服务器虚拟化,深入探讨了使用 Docker 在短短几分钟内启动整个网站程序,以及在 Jupyter 笔记本 中查看嵌入式程序。

视频:https://el30.mooc.ca/course_activity_centre.htm

the issues that we face particularly computing on the database of course we have quite a complicated software environment, we want students to run, we have got the teaching environment, we have run several made several database servers. We need to find ways of deliverint software to students that we can manage and we know will run. One of the things that I have been looking at using virtual machines to deliver software environment. These virtual machines the one we deliver for the database course I work on but it is actually quite a large physical virtual machine the students can download and run on my computer, whatever computer it is using an application called VirtualBox. We give them a virtual machine which is essentially box that contains its own operating systems and applications that we've installed onto that. But let's the students run this environment on their machine. Potentially we could also run those environments on our servers, so the idea that I'm working towards is finding ways of packaging software up that we can give it to students to run on their own computers if they can, if not, we should be able to host those self same environments and allow students access them and the software applications aren't particularly interested in a one that expose interfaces through a web browser so in HTML interface over HTTP, so you can just log in on the local network or over the internet. So for me, it's a way of providing software to students it's in the data world, it's also useful in search the data world it's also useful in research if people working in a research environment I've got a complicated scientific software stack that they're working with they may well be able to write pieces of code that they could share with other people but other people can't necessarily run that code, because the environment isn't set up, you can't just install you've got to install lots of other bits of software, so virtual machines and running things in the cloud allows us to build pre-built environments within which code can run and we'll know it and run it doesn't require an individual to set up an installation or configure software themselves.

Q: what kind of setup would they need to run one of these things on their own computers they're not gonna do it on a Chromebook obviously?

A: nobody moving Chromebook you can I think start to sleep with two things we there's an application called VirtualBox. This is a free software you can download it running on most platforms originally published by Oracle. So that allows you to install like a big virtual machine so this is something that runs a complete operating system and then you can store software on that or we provide virtual machines that can contain the operating system and the software we package, there is also a lighter sort of way of packaging up applications which is using something called Linux containers and the most popular environment fot that at the moment is something called docker and then docker allows you to run applications within this docker virtual environment. There is an issue with docker on Windows computers that Windows has got its own virtualization system called Hyper-V which allows you to run virtual machines and that has to be disabled when you are working with, maybe not with docker you definitely have to disable that when working with VirtualBox virtual machine. And I think one of the things that new Chromebooks will support the ability to launch docker containers. I had a chance to play with that yet I don't have a brain book that is powerful enough to explore that onion in it.

that would be pretty pretty nice, my experience with Hyper-V is of it is that it's the opposite for docker and VirtualBox. So of course figures right because it means you are either running docker, you are running VirtualBox, but if you are running both of them you are always switching on and off in between very annoying. It is interesting to see docker gloating docker.

I generally there is an application you can use to run docker from a virtual environment but most of the time you run it from the command line.

https://hub.docker.com

https://www.docker.com

Jupyter Notebook

colaboratory: https://colab.research.google.com