Remote/Pair-Programming in-the-cloud

DL Neil PythonList at DancesWithMice.info
Mon Aug 5 02:52:14 EDT 2019


Herewith a progress-report, and an attempt to respond to (interposed) 
questions:-


I've managed to utilise Cloud9 successfully. (finally!) The bulk of the 
work was in wending my way through the process of setting-up the "team" 
(or in this application: the PUG). Starting in Cloud9 itself is 
straight-forward.

- I started an "environment" as me/Cloud9_Admin
- Ran a one-line program
- Shared the environment
- logged-in (another m/c) as PUG/Cloud9_User
- Applied to the shared environment
- Added a second line to the code
(and as I did, both editor windows updated).
- Ran it
- Went back to being 'me'/on the first m/c
- reviewed the screen
- and ran it (again) from there

Identical!


(will try a more realistic interchange, in due course)


AWS Cloud9 appears to fulfil criteria to support our PUG Coding Evening 
(and as discussed during this thread):

- shared IDE
- ability to observe
- ability to develop
- ability to switch rôles
- collaboration facilities (haven't tried these yet)
[and a more formal 'class' mode/option - not reviewed]


On 4/08/19 3:45 AM, Dennis Lee Bieber wrote:
> On Sat, 3 Aug 2019 11:20:20 +1200, DL Neil <PythonList at DancesWithMice.info>
> declaimed the following:
>> Thanks wlfraed - will be checking the AWS version...
>> (they claim it will even work on a 'free' server, which presumably means
>> it would last for a whole year!)
> 
> 	Unfortunately, I think that "free server" is still an Amazon server --
> and still needs one to register for some level of AWS service (I wouldn't
> be surprised if they want every "collaborator" to register -- as I think it
> is the Cloud9 "workspace" that becomes shared, you have to invite the
> collaborators into the shared workspace... be hard to do that if they were
> all using one registration).
> 
> https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/free-tier-limits.html
> https://aws.amazon.com/cloud9/pricing/
> https://aws.amazon.com/ec2/pricing/
> https://aws.amazon.com/free/


Service:
There are/were two: the original Cloud9/C9, and the newer/bigger/better 
version since Amazon took-over. There are differences!

Amazon:
Yes, there are folk who prefer not to deal with such service providers 
as a matter of principle. I am wary. However, this application is for a 
PUG meeting, so I'm not too worried if the system falls-over and all is 
lost (for example). Privacy is still an issue, however I have 
constructed a generic ID, which the PUG members could share - as you 
say, one presumes only a single user/log-in at a time; but I could 
multiply these (equally generic) as needed. Thus, my identity (and 
CrCard) is the only one 'exposed'.

I was able to establish my account on behalf of my 'team'. Thus I am 
root user, if you will. Thereafter other userIDs could be established, 
together with permissions and access control. So, each individual has a 
separate Cloud9 identity, but it is not necessary for everyone to have 
an Amazon account, ability to set-up servers, etc, etc.

Sharing/Inviting:
As per above, a suitably-qualified user can open an "environment", and 
then share it with specific members of the 'team'. I was pleased to see 
that the docs then instructed me to go away and let 'the other person' 
know of his/her good fortune (cf demanding an email addr and all that 
might entail 'behind the curtain'). Pleasantly easy!


> 	It's not quite clear exactly what
> 
> "You have the flexibility to run AWS Cloud9 development environments on a
> managed Amazon EC2 Linux instance or any Linux server that you are using
> today. You can just choose the SSH connectivity option during Cloud9 setup
> when connecting to your own Linux server that could be running anywhere
> including AWS, on-premises, or any other cloud provider."
> 
> really means. There IS a download of an installer for one's own server but
> does it run the IDE, or just interface to AWS?


Server:
In order to use the Cloud9 system it must be able to access a 
file-store. I've taken a (free) t2.micro EC2 instance. As described 
(above), instead one may set-up an SSH link to a VPS or other 
addressable m/c - didn't try that.

There's no "installer" or any software to download (excepting private 
key credentials). Access (both admin and user) is through a web browser. 
The multi-tabbed IDE opens within the browser and there is a "runner" 
process which opens in another (BASH) panel (below) quite similar in 
appearance to a number of the popular editor/IDES (eg PyCharm, 
SublimeText, Codium).

NB I chose an AmazonLinux EC2 instance, and thus don't know if there is 
an MS-Win choice or if it might present differently!

Another question which has just occurred to me, is that it may be 
possible to have multiple "environments" and thus multiple 'backing 
store' target machines - AWS or one's own/SSH-connected???


 > 	At least they have a fairly complete documentation set
 > https://docs.aws.amazon.com/cloud9/latest/user-guide


The documentation is voluminous and consumes a chunk of time to 
work-through - much of which is ascertaining what is relevant to one's 
own application.
[?fortunately I became inured to this as a young-pup, 'sitting at the 
feet' of IBM!]


 > 	Now... a bit of bad news...
 > https://docs.aws.amazon.com/cloud9/latest/user-guide/ssh-settings.html
 > "It must have Python installed, and the version must be 2.7."
 > 	I didn't see anything to support running your code with 3.x -- it might
 > be possible (I've not read all the documentation)


Not so - fortunately!

When pulling-down the Run menu for the first time, one must select the 
type of "runner" (relevant to the source code in the editor). There is a 
choice of Python2 or Python3.

Indeed BASH did respond to "python --version" with 2.7.n. However, I had 
no problems using the 3.6.8 "runner". I recollect this being the pattern 
a few?several versions of Linux 'back'.

NB I have not tried updating the VM's software (assuming it is possible 
in this configuration), so maybe a v3.7 update experiment is on-the-cards...


My next task (food first!) is to investigate comms options...


Thanks (all) for the helpful advice and research!

If you (wlfraed, or you: not wlfraed) would like to 'have a go', I'll be 
happy to facilitate - time and time-zones permitting. However, I suppose 
I should first spend a bit more time studying the fearsome security 
warnings before inviting too many (highly competent) 'team members'...
-- 
Regards =dn



More information about the Python-list mailing list