Amahi Dev Package; Amahi as a (web) developers helping hand

ccondrup
Posts: 12
Joined: Sat Jan 01, 2011 8:01 pm

Amahi Dev Package; Amahi as a (web) developers helping hand

Postby ccondrup » Mon Jul 16, 2012 6:08 am

We talked a bit about this on irc last week, and I wanted to catch the full audience, so here goes:

Background:
As an aspiring freelance web developer, I read about all kinds of good development setups, but haven't got the time nor know-how to set it all up. Everything from the basic IDE all the way to the holy grail: The allmighty Continuous Integration setup. I think there are many developers out there who would install Amahi in a split second if offered such functionalty. Yes, this might be beyond the scope of the "home digital assistant" Amahi sets out to be, but then again: Recruiting developers to the Amahi platform no doubt leads to a better HDA in the end. Even Ballmer gets the value of developers.. (ref.)

Dream scenario:
I would like to be able to follow a best practise workflow where Amahi is the staging server.
- A single click updates my HDA with the local changes, I can then confirm these changes work on the HDA.
- Another single click deploys these changes to the production/live server.

Here is a Google Doc drawing (direct link) showing a possible scenario:
Image


Choices
Just evaluating and selecting your weapon of choice can be a daunting task, take a look at all the alternatives:
Wikipedia: List of build automation software
Wikipedia: Comparison of Continuous Integration Software
Wikipedia: Comparison of configuration management software

The Amahi strong point is we all have a common platform to start from. Our hardware differs, but having the same software starting point makes this beast a whole lot easier to tackle. Amahi already has a web server and supports vhosts/subdomains and dyndns. Few changes are needed to make a separate subdomain accessible from both LAN and WAN.

Now what?
Could we please get a discussion going on what would such a setup need to support?
1) Who is our target audience? Freelance single dev or maybe small teams? How to we determine the answer, do we poll the current community, make assumptions or try to make the package as agnostic as possible?

2) Based on the answer of 1), we could determine:
2a) Which scripting languages should be supported?
2b) Which build tool to use?
2c) Which Continuous Integration server?
2d) Is Configuration Management neccessary?

In case you are curious, here are some key lines from the irc log (my nick is supergreg):
01:27:33 supergreg: one thing I personally would love to see is a developer package. If my HDA could offer continous integration development+deployment.. it's one of those best practises I want to have but do not have the time to get into and setup
01:30:03 supergreg: I have barely played with the idea of setting up capistrano, phing etc etc
01:33:25 supergreg: I have been contemplating renting a Linode just because they have finished stackscripts which creates wanted environments.. https://www.linode.com/stackscripts/
01:36:32 cpg: what is the ideal?
01:36:46 cpg: dumb it down for me please
01:38:31 supergreg: local super-dev environment! Develop stuff on my client computer, but use my LAN HDA as staging, with full deployment and VCS etc.. then push and deploy to a 2nd server on the internet (Amahi on AWS or own VPS somewhere else)
01:39:28 supergreg: I could set this up right now if I only knew how to, and knew which apps would be ideal for my use, but I have no knowledge of that and it frankly takes too much time to get into
01:49:47 supergreg: If you could offer tutorials or even better: scripts which helps us setup our HDA as such a dev platform, I bet a lot of people would be willing to pay for renting the production server from you guys when you can offer 1-click deployment from HDA (staging) to Amahi AWS (prod). I think the power of the community here is we all have the same base setup to work from, it's a unified architecture in a way
01:49:58 archetech: cpg you could just price the dev add on as pay for app too one time price not monthly unless it includes hosting then I'd see the monthly
01:50:42 supergreg: yeah, archetech said what I said just in 1/3 of the words :)
01:50:56 archetech: ie turn your hda into a web design center 49.95
01:54:42 supergreg: My view on this: I would not trust myself to host a production server for my clients' websites, for that I will keep my rented web hotels or VPS servers or rent Amahi AWS. But I would LOVE to host my own devserver used for dev and staging, I have no prob with that, actually it would be a step up from my current setup
01:56:04 archetech: greg what do you offer your clients as far as a service right now ? is it web design or admin?
01:58:58 supergreg: I maintain sites, whatever it takes. I mainly setup+config+maintain Joomla and Magento sites, I have also created custom php sites and integrations, but mostly its hacking away at open source software to meet clients needs. I usually also design the templates/themes, sometimes modify purchased themes.
01:59:59 cpg: back
02:00:45 supergreg: cpg: Look at how successful Github has become.. I think they key to their success lies in having made the whole system so friendly towards developers. We aren't used to that, at least not in web dev, so once you can offer such a system feel free to shut up and take my money :)
02:01:28 cpg: github is definitely a crowd pleaser, just based on git
02:01:44 cpg: i was thinking some amahi "packs"
02:01:56 cpg: the Dev Bundle
02:02:02 cpg: the Small Biz Bundle
02:02:14 cpg: the Home on the Web Bundle
02:02:39 cpg: so prepay and package some apps for a bundle or two or three
02:02:47 cpg: then offer one-click renting on them
(...)
02:33:17 supergreg: cpg sure I will. Lemme just state right off the bat that I am looking primarily for turning my hda (on my lan - important due to latency, privacy etc) into a dev center, and am willing to pay for such a package (be it 1-click install or just a good recipe for making the various apps play nice together), whilst the whole AWS thing is secondary - I don't need it until I have the former up and running, and what would make me choose Amahi AWS over other hosts would be tight integration with my local hda setup. (aka easy deployment etc)

trw3937
Posts: 23
Joined: Mon Jul 16, 2012 9:53 am

Re: Amahi Dev Package; Amahi as a (web) developers helping h

Postby trw3937 » Mon Jul 16, 2012 6:43 pm

Archetech here saying "I'm all in" on this idea. Hope it comes to fruition in F17. I will do what I can and I have a wiki account that I have started outlining some things in. I have had good luck so far with 5 webapps installed and visible from the web by my domain name after learning how amahi does some of it's apache/php/mtsql magic. Some by hand like crm apps and some by installing via the app list like Drupal. I have had some experience with sme server, clearos, centos and debian. (I don't use ubuntu very often since I like deb)

Cheers

ccondrup
Posts: 12
Joined: Sat Jan 01, 2011 8:01 pm

Re: Amahi Dev Package; Amahi as a (web) developers helping h

Postby ccondrup » Wed Sep 05, 2012 2:56 pm

Here is one example of a suite of apps working together to provide a dev tool chain like the one I want my HDA to run..

http://www.youtube.com/watch?v=ciJpOEGctxY

User avatar
cpg
Administrator
Posts: 2618
Joined: Wed Dec 03, 2008 7:40 am
Contact:

Re: Amahi Dev Package; Amahi as a (web) developers helping h

Postby cpg » Tue Nov 06, 2012 5:07 pm

As I think on how to slice and dice all this in a more concrete set of things ... let me see if this would help.

First, let's start small. Let's come up with ONE in a possible future series of development tool apps .. .e.g.

php, python, c, c++, ror, bug trackers, version control, etc.

but just pick one that would be put to use by someone, then package it as an app. these apps would probably be "headless" .. i.e., they would just install tools, not necessarily with a web interface. it could for

so, what we need is someone to help drive this, starting small, and defining one app that is clearly useful, then maybe define others, and others. drive the discussion, etc.

one thing we have to our disposal is app dependencies. we can have Amahi apps that can require other apps that get installed first.

another thing, that we could even do earlier than the above, is perhaps tagging some of the apps we have as "development" tools. we already have things like redmine, mantis, arduino tools, etc. i can definitely help with that.

the first part would be to select what apps we have and tag them as development apps.

another thing we could do is start listing apps we need. i think we had jenkins (i just added you two to it for testing), and perhaps other apps. this is perhaps something that requires more thought, but it can be done over a longer period of time "on demand" if you will.

now -- the truly challenging part, that we can do later, is figure out the details of how to do more integration of these apps so that it's more coherent than a simple collection of apps. e.g. do we need to set up a share called "development" and put things there as configuration for apps? or "repo" or something ... this seems too open ended, but if we persevere, I think something will emerge that will allow us to make it a more coherent "bundle" over time.
My HDA: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz on MSI board, 8GB RAM, 1TBx2+3TBx1

trw3937
Posts: 23
Joined: Mon Jul 16, 2012 9:53 am

Re: Amahi Dev Package; Amahi as a (web) developers helping h

Postby trw3937 » Sun Mar 17, 2013 11:06 pm

Hey. Looking forward to testing Amahi 18's new dnsmasq/apache abilities for multiple web apps accessed publicly (subdomains) on port 80/443. Hope this feature brings in some folks who want a home/SMB server with a bit more functionality in the web section than just intranet.

I'm not a web dev but I do want to run 4-5 web apps for some small clients without the old web proxy app in front of them. SSL will be wanted too and I realize that the ssl web app wiki articles will need updating I know its not a top priority but I want to have this request known as AM7 comes closer to completion. I am willing and able to write up what I do/test for the wiki. :)

Also want CPG et all to know we appreciate his long hours of dev work that goes into a total rewrite of this fine project.

My copy of F18 on a vm right now is really fast and clean. It should be a very good server base. I prefer it over Ubu and the moves Canonical forces on its user base. Thanks!

Who is online

Users browsing this forum: No registered users and 71 guests