Hey guys,

I originally chose Cloudstack because I really liked the idea of a monolithic stack and always pick an Apache project over an industry controlled one. I moved on to OpenStack because I could not figure out how to implement some advanced networking capabilities using Cloudstack (and for some stupid reason I did not engage the community to figure it out). The networking architecture I was needing to implement was supposed to be supported by OpenStack so I started working with it. I spent months banging my head against that mess. I would get one module up and running just to find out that another one was failing. I never actually managed to get a stable OpenStack deployment running that I felt I could trust with my production systems.

So I came back to Cloudstack, talked to the mailing list, and found a workaround for my networking environment and got deployed. Even so, networking, and specifically the VR are the biggest liabilities in my opinion. There are several very important features I am living without right now because they either do not work or are not stable enough for production.

That being said, I am kind of in the middle on the NFV issue. The last thing we should be doing is taking away those elements of Cloudstack that differentiate us, both philosophically and structurally, from the other platforms out there. Cloudstack should always have, as a core feature, the fact that it is monolithic. One installer and a dead simple means of deploying a full stack is absolutely essential for adoption.

On the other hand, having just put together a networking plugin, I can say that the plugin system needs to be MUCH less ambiguous. I would have had my PR issued months ago (and would not have pestered Will and Syed from Cloudops so relentlessly... poor bastards!) if I had advance information about what data the system was going to send to my plugin for the different networking functions. I kept running into situations where my plugin was receiving the same data structure but with some subset of the data elements coming through as NULL depending on the situation. So I would be relying on having some data that I would receive in some cases but not in others. I essentially had to get ACS to send me commands for each permutation of operation and manually inspect the command's data structures to see what I was being given and then workaround the missing information. Of course, I would get most of the way done and find a corner case that I missed where I did not have the information I needed and that would require that I go back and refactor things to workaround the limitation.

If the plugin system was better documented though, then integrating with it would be pretty simple. I really think we need to be careful here about throwing out the baby with the bathwater. If we are looking to replace the current plugin system entirely and make it more modular we should first come up with a list of functionalities that are not supported by the current system. If that list is sufficiently large then it makes sense to start over. If not, then I think the entire issue can be addressed by refactoring and documenting the existing plugin system. At the end of the day, we would be doing ourselves, and our entire community, a disservice if we start moving away from ease of implementation. Openstack in my opinion is too modular. Thereby making its architecture and implementation so complex that only a company who specializes in it can efficiently deploy it. It is no surprise that its sponsoring companies sell prepackaged Openstack distros and/or deployment and maintenance services. Obfuscate and profit.

Having something/s analogous to the current VR in terms of features is a must have for Cloudstack no matter what decision is made.

Thanks,

Matthew Smart
President
Smart Software Solutions Inc.
108 S Pierre St.
Pierre, SD 57501

Phone: (605) 280-0383
Skype: msmart13
Email: msm...@smartsoftwareinc.com

On 05/24/2017 07:46 AM, David Mabry wrote:
Marty, thanks for keeping usability and adoption at the forefront of this 
conversation.  I believe it is something that can be easily lost as we get deep 
in the technical weeds and it is good to be reminded about what is important 
beyond how much code it will take to create feature X.  I also believe that 
together we can come up with a solution that meets both technical and ease of 
implementation requirements.  I think we can make a significant design change 
to allow for a new VR, hopefully not one maintained by us, and include new 
feature like NFV without forcing undue complexity on users who don’t want or 
need it.  In the end, for me, it really comes down to orchestration.  How much 
can we do for a user “out of the box”?  I think it is important that we have a 
“default” option for the VR/Networking that is easy to implement and fits most 
SMB use cases.  With that said, I don’t think we can risk alienating the larger 
companies that use ACS in a more complex environment.  I think for ACS to stay 
relevant and compete against the likes of OpenStack we will need features like 
NFV and a VR that is consistent and stable.  Oh and we also need IPv6 (That was 
for you Wido ;) ).

I agree with Paul that we might want to create a dedicated channel or have 
weekly meetings to begin really pushing this major feature forward with the 
community, sooner rather than later.  It is easy for us to lose momentum on 
monumental tasks such as this.

In short, one of the great features of ACS is that it provides *choice*.  What 
is important, to Marty’s point, is that we don’t lose sight of usability and 
ease of implementation when providing that choice for the wide variety of users 
that we have.

Thanks,
Dave Mabry
Education Networks of America

On 5/23/17, 10:29 PM, "Marty Godsey" <ma...@gonsource.com> wrote:

     Thank you Simon for the re-cap of the hackathon. I was able to catch the 
last couple of hours of it but saw the notes on the boards..
I am going to give my thoughts on this coming from a slightly different angle. As many of you know, I am not a coder. I am an Systems/Network Engineer. I know many times design decisions are made based upon the amount of time it will require to write a particular piece of code, update, fix bugs, etc. But the one thing we can't forget is that many ACS users may not have the ability to add their own plugins, write code to interact with a router, etc. I know I can't myself, going back to the I'm not a coder, but thankfully I know people that can and can get it done if need be but the point is many people cannot. As we decide how we are going to re-write the networking portions of ACS we have to step back and take a look at what was one of the most talked about topics at this year's CCC. I am not talking about the networking, IPV6 support or any other cool idea we had. The constant conversation in the hallways and at the many "Zest" outings was ADOPTION and MARKET AWARENESS. Adoption.. How do we get the word out and get it adopted by more people? It’s a tough question but something that also has to influence how we build ACS. Let take a moment and compare ACS to its closest competitor Openstack. We all know that Openstack has the market share, it has the money behind it. But what is the constant complaint we hear from people who use? ""Yea, it works but man,, it was a bi%#h to get going"" Openstack has gotten its adoption cause it had big names and a lot of money behind it. Openstacks complexity has also caused it to not be adopted in many cases. Your typical IT shop in a small to medium sized business does not have the expertise to implement something like this. And when I say SMB I am saying organizations from 10-500 people. So back to my adoption question. As mentioned before one of the reasons many people come to ACS is the fact that it has it all. Networking, hyper-visor management, user management, storage management, its multi-tenant. What will drive ACS adoption will be improving what ACS already does, not making it more like OpenStack. Now do I think that having a module service or plugin service to provide a framework to allow for external resources to be used by ACS is a good thing? Yes I do. But I also do not want to, and hope we don’t, move away from what made ACS what it is today. A software that allows companies to easily spin up new public or private clouds. Adoption-Centric Usability. If I rambled a little here I apologize, its 11:30pm and sometimes I get ahead of myself (especially when I write something like this at this hour) when writing about something I am passionate about and I am passionate about getting more exposure and adoption of ACS. Thank you for listening guys.. Sorry for the ramble. Regards,
     Marty Godsey
     Principal Engineer
     nSource Solutions, LLC
-----Original Message-----
     From: Rafael Weingärtner [mailto:rafaelweingart...@gmail.com]
     Sent: Tuesday, May 23, 2017 11:18 AM
     To: dev@cloudstack.apache.org
     Subject: Re: Miami CCC '17 Roundtable/Hackathon Summary
I missed the roundtable and hackathon, my bad guys :( I liked the ideas that you (all) put forward. The VR is interesting and a nice feature to have, but it causes some pain to maintain in our development cycles. The idea to split the current VR into NFV is great; this can make things more pluggable and take ACS to NFV (officially). We could develop a framework in ACS (an API method?) that creates a system VM called NFV where people (vendors, enthusiast, users and others) can then extend and add their functions/systems there. The problem is the work required to design and develop such thing. I use Daan`s words here, this is a community effort and not a single company or individual. What do you guys think? We could start creating a roadmap of when we want this feature (milestones for delivering piece by piece of the complete feature), then the draft of a proposal, and later define the implementation job, so people of the community can embrace it. On Tue, May 23, 2017 at 10:18 AM, Daan Hoogland <daan.hoogl...@shapeblue.com
     > wrote:
> Great thanks Simon,
     >
     > Just want to play bingo a bit; dividing the VR into VNFs (virtual
     > network
     > functions) was mentioned. This pertains to the mention of making the
     > VR more modular ;)
     >
     > Hopefully everybody is inspired by this because no one company or
     > person is going to make this happen.
     >
     > Dahn
     >
     > On 23/05/17 14:16, "Simon Weller" <swel...@ena.com.INVALID> wrote:
     >
     >     Hi everyone,
     >
     >
     >     During the CCC last week in Miami, we held a roundtable/hackathon
     > to discuss some of the major areas the community would like to focus
     > more attention.
     >
     >
     >     The discussions were passionate and were mainly focused around
     > networking and our current use of our home-spun Virtual Router.
     >
     >
     >     For most of the us, the VR has become a challenging beast, mainly
     > due to how difficult it is to end-to-end test for new releases.
     >
     >     Quite often PRs are pushed that fix an issue on one feature set,
     > but break another unintentionally. This has a great deal to do with
     > how inter-mingled all the features are currently.
     >
     >
     >     We floated some ideas related to short term VR fixes in order to
     > make it more modular, as well as API driven, rather than the currently
     > SSH JSON injections.
     >
     >     A number of possible alternatives were also brought up to see what
     > VR feature coverage could be handled by other virtual appliances
     > currently out on the market.
     >
     >
     >     These included (but not limited to):
     >
     >
     >     VyOS (current PR out there for integration via a plugin – thanks
     > Matthew!)
     >
     >     Microtek (Commerical)
     >
     >     Openswitch/Flexswitch
     >
     >     Cloud Router
     >
     >
     >     The second major topic of the day was related to how we want to
     > integrate networking moving forward.
     >
     >
     >     A fair number of individuals felt that we shouldn't be focusing so
     > much on integrating network functions, but relying on other network
     > orchestrators to hand this.
     >
     >     It was also noted that what draws a lot of people to ACS is the
     > fact we have a VR and do provide these functions out of the box.
     >
     >
     >     We discussed how we could standardize the network sub system to
     > use some sort of queuing bus to make it easier for others projects to
     > integrate their solutions.
     >
     >     The current plugin implementation is fairly complex and often
     > other projects (or commercial entities) put it into the too hard
     > basket, until someone either does it themselves or is willing to pay for 
the development.
     >
     >     Most also felt it was important to maintain a default network
     > function that works out of the box so that the complexity of a full
     > orchestrator could be avoided if not needed.
     >
     >
     >     I'm sure I've missed some key points, so hopefully this starts a
     > discussion with the entire community of where we focused next.
     >
     >
     >     Thanks to all those that participated on Tuesday afternoon.
     >
     >
     >     - Si
     >
     >
     >
     >
     > daan.hoogl...@shapeblue.com
     > www.shapeblue.com
     > 53 Chandos Place, Covent Garden, London  WC2N 4HSUK @shapeblue
     >
     >
     >
     >
--
     Rafael Weingärtner

Reply via email to