Re: VCL Experimental Architecture

2009-05-18 Thread Andy Kurth
I agree.  There are much larger issues that need to be resolved before 
discussing implementation details in this forum.


I think it's great that the folks discussing the experimental architecture have 
identified areas where VCL can be improved and I would like to find a way for 
the community to efficiently and prudently incorporate them into VCL.


I would like to understand why these ideas can't be incrementally incorporated 
and tested into the current VCL codebase.  I think this approach would have a 
much higher chance of success, no?  Was this approach considered?  If so, what 
were the barriers to this approach which couldn't be resolved?


It will be counterproductive if a developer has to choose one version or the 
other as the basis of his or her contributions.  This will result in a split 
community.  In addition, having 2 vastly different architectures under the VCL 
project will cause significant confusion.  Agree?


Regards,
Andy



Josh Thompson wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Sunday May 17, 2009, Michael Brown wrote:

The wiki document for the experimental branch now suggests the use of a
database abstraction layer.  I propose the use of an object relational
mapper to accomplish this abstraction.  This has the advantage of being
extremely easy to use,  less code needs to be written, therefore fewer
errors will result.  The con to an object relational mapper is performence
during bulk database operations.  This should not be an issue because vcl
performs no large transactions.

Does the community agree that any future major proposals should include a
database abstraction layer using an object relational mapper because of the
above advantages?


This part of the community (me) doesn't agree with any implementation details 
of the so called "experimental branch" until we've had good discussion about 
problems with VCL in its current form and seriously looked at how those 
problems could be fixed without doing a complete rewrite.  (I 
put "experimental branch" in quotes because a branch implies being a 
derivative work of trunk, but in this case it is a completely separate 
architecture designed without the input of those that developed the existing 
codebase.)


I suggest work on this "experimental branch"  halt until the community can 
come together on this issue instead of being fractured any further.


Josh
- -- 
- ---

Josh Thompson
Systems Programmer
Virtual Computing Lab (VCL)
North Carolina State University

josh_thomp...@ncsu.edu
919-515-5323

my GPG/PGP key can be found at pgp.mit.edu
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFKEW2TV/LQcNdtPQMRAsREAJ9bcdCZRlgqaUR410njudbKln5YRQCbBEtt
PWAY2YWVpxc1qBmhKctwR/0=
=dapR
-END PGP SIGNATURE-


--
Andy Kurth
Virtual Computing Lab
Office of Information Technology
North Carolina State University
andy_ku...@ncsu.edu
919.513.4090


Re: VCL Experimental Architecture

2009-05-18 Thread aaron_peeler
I agree with Josh.

To date there has only been a list of "problems" and a diagram. There as
not been much(if any) discussion on the details of the problems mentioned.

The current code base is proven and is doing what it is tasked to do.
Currently it is managing close to a 1000 nodes and supporting over 10,000
users, and has served over 72,000 desktops(requests) since Jan 1, 2009 at
NCSU and for NCSU's partners.

So if we can, lets start a discussion which is focused on the set of tasks
that others in the community need (or would like) VCL to handle.

Aaron

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> On Sunday May 17, 2009, Michael Brown wrote:
>> The wiki document for the experimental branch now suggests the use of a
>> database abstraction layer.  I propose the use of an object relational
>> mapper to accomplish this abstraction.  This has the advantage of being
>> extremely easy to use,  less code needs to be written, therefore fewer
>> errors will result.  The con to an object relational mapper is
>> performence
>> during bulk database operations.  This should not be an issue because
>> vcl
>> performs no large transactions.
>>
>> Does the community agree that any future major proposals should include
>> a
>> database abstraction layer using an object relational mapper because of
>> the
>> above advantages?
>
> This part of the community (me) doesn't agree with any implementation
> details
> of the so called "experimental branch" until we've had good discussion
> about
> problems with VCL in its current form and seriously looked at how those
> problems could be fixed without doing a complete rewrite.  (I
> put "experimental branch" in quotes because a branch implies being a
> derivative work of trunk, but in this case it is a completely separate
> architecture designed without the input of those that developed the
> existing
> codebase.)
>
> I suggest work on this "experimental branch"  halt until the community can
> come together on this issue instead of being fractured any further.
>
> Josh
> - --
> - ---
> Josh Thompson
> Systems Programmer
> Virtual Computing Lab (VCL)
> North Carolina State University
>
> josh_thomp...@ncsu.edu
> 919-515-5323
>
> my GPG/PGP key can be found at pgp.mit.edu
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v1.4.6 (GNU/Linux)
>
> iD8DBQFKEW2TV/LQcNdtPQMRAsREAJ9bcdCZRlgqaUR410njudbKln5YRQCbBEtt
> PWAY2YWVpxc1qBmhKctwR/0=
> =dapR
> -END PGP SIGNATURE-
>



Re: VCL Experimental Architecture

2009-05-18 Thread Josh Thompson
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Sunday May 17, 2009, Michael Brown wrote:
> The wiki document for the experimental branch now suggests the use of a
> database abstraction layer.  I propose the use of an object relational
> mapper to accomplish this abstraction.  This has the advantage of being
> extremely easy to use,  less code needs to be written, therefore fewer
> errors will result.  The con to an object relational mapper is performence
> during bulk database operations.  This should not be an issue because vcl
> performs no large transactions.
>
> Does the community agree that any future major proposals should include a
> database abstraction layer using an object relational mapper because of the
> above advantages?

This part of the community (me) doesn't agree with any implementation details 
of the so called "experimental branch" until we've had good discussion about 
problems with VCL in its current form and seriously looked at how those 
problems could be fixed without doing a complete rewrite.  (I 
put "experimental branch" in quotes because a branch implies being a 
derivative work of trunk, but in this case it is a completely separate 
architecture designed without the input of those that developed the existing 
codebase.)

I suggest work on this "experimental branch"  halt until the community can 
come together on this issue instead of being fractured any further.

Josh
- -- 
- ---
Josh Thompson
Systems Programmer
Virtual Computing Lab (VCL)
North Carolina State University

josh_thomp...@ncsu.edu
919-515-5323

my GPG/PGP key can be found at pgp.mit.edu
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFKEW2TV/LQcNdtPQMRAsREAJ9bcdCZRlgqaUR410njudbKln5YRQCbBEtt
PWAY2YWVpxc1qBmhKctwR/0=
=dapR
-END PGP SIGNATURE-


VCL Experimental Architecture

2009-05-17 Thread Michael Brown
The wiki document for the experimental branch now suggests the use of a
database abstraction layer.  I propose the use of an object relational
mapper to accomplish this abstraction.  This has the advantage of being
extremely easy to use,  less code needs to be written, therefore fewer
errors will result.  The con to an object relational mapper is performence
during bulk database operations.  This should not be an issue because vcl
performs no large transactions.

Does the community agree that any future major proposals should include a
database abstraction layer using an object relational mapper because of the
above advantages?


RE: VCL Experimental Architecture

2009-05-14 Thread sam averitt
Before we go down the path of creating twice as much work for half the gain
let me challenge a core assumption here: contrary to what is being assumed,
the PaaS model will not work for education unless structured within an IaaS
framework! This is not because of elegant technical considerations but
rather the most basic and practical of considerations--within the
educational domain the "achievable" economics of the two models are
significantly different with the decisive advantage going to the IaaS model!
The proof is somewhat tedious but I will work it up. 

In the meantime, could we do this in a way that minimizes the reverse
engineering necessary to port the key functionality of what you are
purposing to do back into a more viable economic framework? I will concede
up front and without debate that what you are proposing is a better solution
for certain service provider scenarios. But with that said, it is NOT a
better solution for the grossly underserved educational community where cost
is a tradeoff between free lunch and technology facilitated learning
opportunities. The harsh reality is that cost is the single most, and
sometimes the only, relevant criteria in making educational decisions.
Absent affordability it doesn't much matter what the solution looks like
because the underserved will not be using it.

If we want a different outcome, this is where it has to begin.

Sam Averitt 

-Original Message-
From: John Bass [mailto:jcbassoma...@gmail.com] 
Sent: Thursday, May 14, 2009 4:16 PM
To: vcl-dev@incubator.apache.org
Subject: Re: VCL Experimental Architecture

I agree. Here is a starter list of high level issues:

- architecture modularity
 . core
 . resource management
 . gui/api
 . operational metrics and logging
 . component templating
- security model
- database independence/abstraction
- language independence
- storage implementation (user and image)
- virtualization management
- future extensibility
- experimental development branch

I'm working on a summary of security model issues. The idea behind the vcl
security model is to list and encapsulate  each of the components, objects,
roles, etc in the architecture so that most any security model can be
implemented instead of locking the project into a particular security model
(although we'll have to start with one model). Currently, the security model
is undefined and 'hard-wired' into the architecture. This greatly limits the
ability for vcl to be deployed into new environments with different security
policies or to adapt to future security policies in currently deployed
environments. More on this later.

Please feel free to jump in on a topic. There is lots to discuss.

John Bass
john_b...@ncsu.edu
www.sosi.ncsu.edu
www.cnl.ncsu.edu
(919) 515-0154


On Thu, May 14, 2009 at 3:40 PM, Josh Thompson
wrote:

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> I really think that before any more implementation design work is done
> toward
> long term restructuring, a lot of high level discussion and design work
> needs
> to be done.  It causes a fractured community if a few people in the
> community
> decide to redesign large parts of the codebase without having discussions
> about it on this list.
>
> Josh
>
> On Thursday May 14, 2009, Andrew Brown wrote:
> > I've just made a clarification on the vcl experimental architecture
> > document:
> >
> > In regards to the core's frontend API interface about values including
> > image_id, ticket_id, and so fourth, the frontend needs to map which
> > resource manager corresponds to those values, but they may or may not be
> > unique. To solve this, it needs to be paired with its resource manager
> id.
> > Here's how that will work:
> >
> > "Above" the core, i.e. in communication with a frontend, values such as
> > image_id and ticket_id will be a tuple: (resource_manager_id, actual_id)
> >
> > "Below" the core, i.e. in communication with a resource manager, these
> > values will be just a single integer.
> >
> > This way the core won't need to keep some kind of mapping (which
wouldn't
> > work anyways since the ids are only unique to a single resource manager)
> > nor will it need to poll all resource managers for the right one. The
> > frontend will be responsible for passing both values back to the core.
> > -Andrew
> - --
> - ---
> Josh Thompson
> Systems Programmer
> Virtual Computing Lab (VCL)
> North Carolina State University
>
> josh_thomp...@ncsu.edu
> 919-515-5323
>
> my GPG/PGP key can be found at pgp.mit.edu
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v1.4.6 (GNU/Linux)
>
> iD8DBQFKDHO3V/LQcNdtPQMRAnZyAJ9zI+/qLJmqFiqKETNdIU2vgJ2/PwCeLbSp
> Q/0EoJ3rssbEgdUAEjc6yIQ=
> =5H1g
> -END PGP SIGNATURE-
>




Re: VCL Experimental Architecture

2009-05-14 Thread John Bass
I agree. Here is a starter list of high level issues:

- architecture modularity
 . core
 . resource management
 . gui/api
 . operational metrics and logging
 . component templating
- security model
- database independence/abstraction
- language independence
- storage implementation (user and image)
- virtualization management
- future extensibility
- experimental development branch

I'm working on a summary of security model issues. The idea behind the vcl
security model is to list and encapsulate  each of the components, objects,
roles, etc in the architecture so that most any security model can be
implemented instead of locking the project into a particular security model
(although we'll have to start with one model). Currently, the security model
is undefined and 'hard-wired' into the architecture. This greatly limits the
ability for vcl to be deployed into new environments with different security
policies or to adapt to future security policies in currently deployed
environments. More on this later.

Please feel free to jump in on a topic. There is lots to discuss.

John Bass
john_b...@ncsu.edu
www.sosi.ncsu.edu
www.cnl.ncsu.edu
(919) 515-0154


On Thu, May 14, 2009 at 3:40 PM, Josh Thompson wrote:

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> I really think that before any more implementation design work is done
> toward
> long term restructuring, a lot of high level discussion and design work
> needs
> to be done.  It causes a fractured community if a few people in the
> community
> decide to redesign large parts of the codebase without having discussions
> about it on this list.
>
> Josh
>
> On Thursday May 14, 2009, Andrew Brown wrote:
> > I've just made a clarification on the vcl experimental architecture
> > document:
> >
> > In regards to the core's frontend API interface about values including
> > image_id, ticket_id, and so fourth, the frontend needs to map which
> > resource manager corresponds to those values, but they may or may not be
> > unique. To solve this, it needs to be paired with its resource manager
> id.
> > Here's how that will work:
> >
> > "Above" the core, i.e. in communication with a frontend, values such as
> > image_id and ticket_id will be a tuple: (resource_manager_id, actual_id)
> >
> > "Below" the core, i.e. in communication with a resource manager, these
> > values will be just a single integer.
> >
> > This way the core won't need to keep some kind of mapping (which wouldn't
> > work anyways since the ids are only unique to a single resource manager)
> > nor will it need to poll all resource managers for the right one. The
> > frontend will be responsible for passing both values back to the core.
> > -Andrew
> - --
> - ---
> Josh Thompson
> Systems Programmer
> Virtual Computing Lab (VCL)
> North Carolina State University
>
> josh_thomp...@ncsu.edu
> 919-515-5323
>
> my GPG/PGP key can be found at pgp.mit.edu
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v1.4.6 (GNU/Linux)
>
> iD8DBQFKDHO3V/LQcNdtPQMRAnZyAJ9zI+/qLJmqFiqKETNdIU2vgJ2/PwCeLbSp
> Q/0EoJ3rssbEgdUAEjc6yIQ=
> =5H1g
> -END PGP SIGNATURE-
>


Re: VCL Experimental Architecture

2009-05-14 Thread Josh Thompson
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

I really think that before any more implementation design work is done toward 
long term restructuring, a lot of high level discussion and design work needs 
to be done.  It causes a fractured community if a few people in the community 
decide to redesign large parts of the codebase without having discussions 
about it on this list.

Josh

On Thursday May 14, 2009, Andrew Brown wrote:
> I've just made a clarification on the vcl experimental architecture
> document:
>
> In regards to the core's frontend API interface about values including
> image_id, ticket_id, and so fourth, the frontend needs to map which
> resource manager corresponds to those values, but they may or may not be
> unique. To solve this, it needs to be paired with its resource manager id.
> Here's how that will work:
>
> "Above" the core, i.e. in communication with a frontend, values such as
> image_id and ticket_id will be a tuple: (resource_manager_id, actual_id)
>
> "Below" the core, i.e. in communication with a resource manager, these
> values will be just a single integer.
>
> This way the core won't need to keep some kind of mapping (which wouldn't
> work anyways since the ids are only unique to a single resource manager)
> nor will it need to poll all resource managers for the right one. The
> frontend will be responsible for passing both values back to the core.
> -Andrew
- -- 
- ---
Josh Thompson
Systems Programmer
Virtual Computing Lab (VCL)
North Carolina State University

josh_thomp...@ncsu.edu
919-515-5323

my GPG/PGP key can be found at pgp.mit.edu
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFKDHO3V/LQcNdtPQMRAnZyAJ9zI+/qLJmqFiqKETNdIU2vgJ2/PwCeLbSp
Q/0EoJ3rssbEgdUAEjc6yIQ=
=5H1g
-END PGP SIGNATURE-


VCL Experimental Architecture

2009-05-14 Thread Andrew Brown
I've just made a clarification on the vcl experimental architecture
document:

In regards to the core's frontend API interface about values including
image_id, ticket_id, and so fourth, the frontend needs to map which resource
manager corresponds to those values, but they may or may not be unique. To
solve this, it needs to be paired with its resource manager id. Here's how
that will work:

"Above" the core, i.e. in communication with a frontend, values such as
image_id and ticket_id will be a tuple: (resource_manager_id, actual_id)

"Below" the core, i.e. in communication with a resource manager, these
values will be just a single integer.

This way the core won't need to keep some kind of mapping (which wouldn't
work anyways since the ids are only unique to a single resource manager) nor
will it need to poll all resource managers for the right one. The frontend
will be responsible for passing both values back to the core.
-Andrew