Setting up a Mac Development Team - Ideas please

Discussion in 'Mac Programming' started by AndyR, Aug 29, 2012.

  1. AndyR macrumors 6502a

    AndyR

    Joined:
    Dec 9, 2005
    Location:
    Auckland, New Zealand
    #1
    Hey,

    We are a software development company and in house run a mix of Windows/Linux. We've now been asked by our parent company to start developing our app onto Mac OSX and iOS so I need some help on this.

    We have no Mac Hardware here to start with. We run all our development environment VMs on ESXi, but this doesn't support OSX VMs without Apple SANs so thats out. Ideally I'd like something central that can provide developers with access to a Mac desktop to test/dev on but I can't see anything like an OSX Terminal Server.

    Any ideas where to start? Would I be good to start with say a couple of Mac Mini Servers and then run VMware Fusion with several Mountain Lion VM's and then Screen Share these? Then the devs can access via VNC? Sounds messy to me so looking for suggestions please?

    Thanks,

    Andy
     
  2. gnasher729 macrumors P6

    gnasher729

    Joined:
    Nov 25, 2005
    #2
    Why on earth would you want to run MacOS X on VMs?

    If you're a cheapskate, get everyone a quad core Mac Mini. If you're not a cheapskate, get everyone a 27" quad core iMac.
     
  3. thejadedmonkey macrumors 604

    thejadedmonkey

    Joined:
    May 28, 2005
    Location:
    Pa
    #3
    I'm interested in the replies you get.

    Personally, I'd avoid running everything off of a mini, since it's not the most upgradable, and you'll likely to run out of storage faster than not. Plus it uses laptop grade HDD's. Get a Mac Pro running OS X Server instead, put the VM's on a non-boot drive, and upgrade the RAM.

    VNC does sound messy. But I think your only alternative is to get everyone a mac to develop on.
     
  4. AndyR, Aug 29, 2012
    Last edited: Aug 30, 2012

    AndyR thread starter macrumors 6502a

    AndyR

    Joined:
    Dec 9, 2005
    Location:
    Auckland, New Zealand
    #4
    If you have to ask that then you really don't understand the benefit of VMs to business in regards to ROI. Same reason we have 120 Linux VMs running on 3 servers. The costs savings for VMs can be massive

    The Macs will be pure development machines for Mac, nothing else, so it doesn't make economic sense to whack a 27" iMac on every desk for that when they already have both Linux and Windows desktops. If I can provision VMs alongside the multiple development environment VMs they already run this would be ideal .

    ----------

    Thanks. Yeah I thought about a Mac Pro, but noticed in the EULA for Mountain Lion that I can only run 2x VMs on that machine which kinda kills the cost savings for that.

    So wish Apple would make a Terminal Server style option for OSX Server.
     
  5. MagicBoy macrumors 68040

    MagicBoy

    Joined:
    May 28, 2006
    Location:
    Manchester, UK
    #5
    License agreement for OS X states it must be run on Apple-branded systems (ie hardware). Hence why VMware etc bolt their products down to prevent unauthorised use.
     
  6. AndyR thread starter macrumors 6502a

    AndyR

    Joined:
    Dec 9, 2005
    Location:
    Auckland, New Zealand
    #6
    Yeah thats my pickle. ESXi5 lets you run OSX but it needs to be on xserve which they dont sell anymore :rolleyes:

    Don't think I'm going to have much option but to get Mac Minis per developer or poss a couple of floating MBPs.
     
  7. chown33 macrumors 604

    Joined:
    Aug 9, 2009
    #7
    How many developers need access to a Mac?

    What does the per-developer budget look like (approximately)?
    I'm pretty sure it's possible to upgrade the cheapest stock Mac mini with faster HD and more memory using 3rd-party add-ons, yet not invalidate the warranty. And any scenario involving laptops will be about twice the cost per machine vs. a Mac mini scenario, especially if you already have screens, keyboards, mice, etc. Speaking as a developer, I'd much rather have my own Mini than have to share a laptop. And from a maintenance view, having a spare Mini for instant replacement is more achievable than having a spare MBP.

    What target Mac OS version are you aiming for?
    I ask because refurbs cost less, and older Mac mini models are less expensive than new or refurb. Also, if you're aiming for an older deployment target, you'll really need to test on an actual machine with the actual OS version. Virtualized older OS versions only go so far.
     
  8. lee1210 macrumors 68040

    lee1210

    Joined:
    Jan 10, 2005
    Location:
    Dallas, TX
    #8
    I understand the drive for frugality, ease of maintenance, etc. but sadly while OS X is a very robust desktop environment the server, and especially terminal server, aspects are not paramount. Apple sells hardware, eliminating or reducing your need for it is not in their best interest. If you have 100 devs, how many will realistically be working on your iOS or OS X development? If you have a few central servers, does your virtualization solution provide USB forwarding from a remote machine (not just the host machine)? Have you already solved the device issue for another platform like Android?

    I know $1K or so per dev is very steep when you've gotten away with 1/40th of a $5-10K machine per dev so far (about a 4-8x premium), but that's sadly the cost of doing Apple dev work. It sounds like you're going to need to write something up to send up the chain explaining this cost and noting that while the price tag seems high it's likely 1-2% of the annual salary of the person operating it, so we're talking .5-1 week of their salary for the equipment they need. Thankfully the software you need is included in the price, so you don't also need to fork over for that.

    If you try to go virtual I wish you luck, but my inclination would be to suck it up and spend what's needed for a machine/dev. It's capitalizable, after all, and I don't think you'd need to equip all 100 devs.

    -Lee
     
  9. AndyR thread starter macrumors 6502a

    AndyR

    Joined:
    Dec 9, 2005
    Location:
    Auckland, New Zealand
    #9
    Thanks guys. Don't have any budget yet, just been told all of a sudden we need to have a Mac development environment for the developers and we need to have it yesterday.

    Yep I totally agree, we don't need to equip every dev with Mac's and I wouldn't want to anyway as it would be a waste of cost and resource. At the minute it's just a few devs that need it so for that stage I'll just get them to suck it up and buy each one a Mac Mini to use. Yep i was looking at refurbs too as they won't need the latest and greatest so a gen or two behind isn't going to hurt.

    No, not solved it for Android yet, thats the next thing they'll throw at me though, and I'll probably get lucky this time and get a 2 days notice of when they want to start rather than 1 day with this. Joy :(

    Thanks for the help though, I really appreciate it.
     
  10. lee1210 macrumors 68040

    lee1210

    Joined:
    Jan 10, 2005
    Location:
    Dallas, TX
    #10
    Just a word of warning: with newer machines you generally get a couple of years of OS and therefore Xcode updates, and newer Xcodes generally let you target a few versions back. Once a machine is off the support grid, you no longer get to target anything newer. The actual testing on a device running each version of the OS you support is important, but for actual development you should consider the life of the machine and earlier replacement costs if the refurb gear isn't current-generation. You may also want to start looking for iOS devices that can run your earliest target. The more time that goes by the harder it will be to find those old devices.

    -Lee
     
  11. AndyR thread starter macrumors 6502a

    AndyR

    Joined:
    Dec 9, 2005
    Location:
    Auckland, New Zealand
    #11
    Thanks, great advice there!

    Will see what they want to do and I think after the advice here I'll push for separate mac mini's for the devs, current gen if possible. They don't have a roadmap for iOS supported version or anything yet, it's literally proof of concept for higher management at this stage and if they like it then they can get serious with it start working out supported versions. Really appreciate the help!
     
  12. gnasher729 macrumors P6

    gnasher729

    Joined:
    Nov 25, 2005
    #12
    1. There is no legal way to run MacOS X without Apple hardware.

    2. You are bothered about the cost of a 27" iMac for every developer? Even if it gives you only 10% more productivity, the real hardware on the desk pays for itself very quickly.

    Frankly, with someone of your attitude in place, I doubt you will be able to hire any decent Mac developers. So you'll have to train your own developers, which you don't seem to hold in high esteem.
     
  13. AndyR thread starter macrumors 6502a

    AndyR

    Joined:
    Dec 9, 2005
    Location:
    Auckland, New Zealand
    #13
    LOL!!!!

    If you had read the original post I was actually wanting to buy Apple HW and was asking about VMs on that. And its not the cost of thr 27" iMac that is the issue, but when you already have a desk with 2x desktops and 3x monitors for each developer, a 27" imac added to that isn't exactly logical is it?

    And yes we will train the existing developers who are dam good at what they do, I was never questioning there ability, no idea where you got that from. Frankly if you've got nothing constructive to say like all the other really helpful posters here, jog on.
     
  14. trevorde macrumors newbie

    Joined:
    Mar 16, 2011
    #14
    Don't forget the cost of the target devices (iPhone + iPod Touch + iPad) in all the different (supported) hardware/software generations. The iOS simulator is fair but you must test on the physical hardware.

    There is also the small cost of the Apple Developer Program (currently $99 USD). You may also need to think about how many physical iOS devices you will be testing on as there is a limit of 100 devices per developer account.

    Getting setup for Apple development is a cost but nothing compared to developer time.
     
  15. KnightWRX, Aug 30, 2012
    Last edited by a moderator: Aug 30, 2012

    KnightWRX macrumors Pentium

    KnightWRX

    Joined:
    Jan 28, 2009
    Location:
    Quebec, Canada
    #15
    Unfortunately, it's new hardware for all the developers. Might however be a good time to consolidate their client software unto Mac and run Windows/Linux tools from their Mac desktops/laptops.

    Mac Pros or MacBook Pros can run the multi-monitor setup and OS X supports all virtualization options, not to mention has access to clients to connect to remote servers without any issue.

    Macs make really wonderful Unix desktops, especially for developers and other power users. OS X is very versatile in that segment.
     
  16. Mac_Max, Aug 30, 2012
    Last edited: Aug 31, 2012

    Mac_Max macrumors 6502

    Joined:
    Mar 8, 2004
    #16
    If you're running everything on VMs why not replace one of the desktops with a Mac Mini? You can even dual/triple boot Windows and/or Linux on them (since they make great PCs anyways). The nice thing is they're so small you can mount them anywhere, even on the back of a monitor.

    On the Mac Mini: I do all my work dev on a DP 2.7GHz Mini and don't have any problems. Perhaps if you're doing a lot of compiling of large apps you'd want a little more processing power but I haven't had an issue doing any iOS or Web dev on mine. For large compiles, perhaps a dedicated build machine of a single Mac Pro would suffice.

    On the same note I use a Dual 2.0 11" air + two monitors at home with the same experience, my quad 2.13GHz i7 Hackintosh pretty much collects dust these days. YMMV.
     
  17. AndyR thread starter macrumors 6502a

    AndyR

    Joined:
    Dec 9, 2005
    Location:
    Auckland, New Zealand
    #17
    Thanks everyone again.

    Has all be very useful advice. Will put together some options for management to mull over. Am tempted to suggest that in the first instance we get 1 or 2 developers Mac Mini's to try out, see how they get on with as an additional system.

    In the past its traditionally been a very anti Apple environment (I'm the exception) as all the developers are linux guys at heart and all run Android devices, but top management want an iOS presence so we have to run with that. I agree MBPs etc make great multi use machines as well so I think to start with we'll just get a couple of Minis for them to try out, and if the iOS development gets approved fully, then we can look at restructuring those Devs onto Macs as a primary machine as we have to buy the hardware anyway, with either VMs of the existing linux/windows environments or consolidate Windows to a VM and leave them with a dedicated linux desktop as a compromise :)

    Thanks for the all the help.
     
  18. blueillusion macrumors member

    Joined:
    Aug 18, 2008
    #18
    I have one more suggestion that you might want to look into. If in the end you don't want to buy too many macs, you could look into a terminal server for the mac. Take a look at:

    http://www.aquaconnect.net

    This would allow your guys to continue to use their current systems at least. However you would run into the problem when you need to do physical testing.
     
  19. AndyR thread starter macrumors 6502a

    AndyR

    Joined:
    Dec 9, 2005
    Location:
    Auckland, New Zealand
    #19
    Thanks.

    Actually I have a private message from a guy earlier who raised a really valid point, that even though I could do terminal servers or have 2 VMs per host to consolidate, the devs are still going to need there own Macs for when they want to put the app onto physical devices as I cant do that over TS/RDC. Never even crossed my mind until then.

    Will probably just get a few devs mini's to start with and then scale out from there.
     
  20. GorillaPaws macrumors 6502a

    GorillaPaws

    Joined:
    Oct 26, 2003
    Location:
    Richmond, VA
    #20
    If you can swing it in the budget, I would suggest either sending your team to The Big Nerd Ranch, or if enough of your team is going to be learning OSX/iOS development, then it might be worth having them send a trainer to your location. I've taken a couple of courses at their Atlanta location and would give it 5/5.
     
  21. lee1210 macrumors 68040

    lee1210

    Joined:
    Jan 10, 2005
    Location:
    Dallas, TX
    #21
    I guess I wasn't clear enough, but this is what I meant by: "If you have a few central servers, does your virtualization solution provide USB forwarding from a remote machine (not just the host machine)? Have you already solved the device issue for another platform like Android?". It's an absolute requirement that they run/debug on the device.

    -Lee
     
  22. AndyR thread starter macrumors 6502a

    AndyR

    Joined:
    Dec 9, 2005
    Location:
    Auckland, New Zealand
    #22
    Thanks but we are based in New Zealand. Some of the Devs already have iOS dev experience but the rest we'll sort out some form of training.

    Ah sorry, missed that at the time. Yep your right. We haven't done Android either yet so not had the issue come up but for now we will so will have to go physical machines.
     

Share This Page