Since it's initial development, cloud computing has stretched to encompass many different facets. As is, practically everything has or will have some extension of the cloud. However, when one considers extending the service to development environments, is that really a wise decision? It depends on who you ask. For some, hosted environments offer advanced avenues. For others, such endeavors will prove to be impractical and insufficient. How do you know if Hosted Development Environments are worth pursuing for your company? The pros and cons of course.
In order to understand a hosted development environment, one must first go back to the Integrated Development Environment (IDE) . This is where code is written and complied. For the most part this environment has remained fairly stationary on a developer’s local machine i.e. a desktop or workstation. But it’s really only one part of a multi-tiered development process that ranges from the development environment to production of the end product.
At its simplistic, a hosted environment is taking that IDE and serving it up via a web environment such as the cloud. This setup can operate via Software-as-a-Service (SaaS) and is suppose to include many of the features associated with a local environment.
Some of the main reasons behind the shift from localized to hosted are due to ease of access and portability. A multitude of services are now available via any device and from anywhere at any time. It follows that development environments would join the array.
The idea of in environment collaboration also plays a role. The general thinking is that developers will be able to co-build and co-edit software and other services via this system, all while being able to telecommute from wherever they are in the world. Moreover, factors such as reduced cost, increased flexibility, and increased agility have also been tossed out as benefits.
There's been some debate about the suitability of current development environments with some calling them out of date and being the cause of a number of problems. For them, it's all about a centralized workspace.
For the most part it comes down to the preferences of the developer/development company. Some developers have scrutinized the elements of flexibility and agility in hosted environments, saying that there's less control and flexibility. While that might be true in some instances, it isn't always the case. For some, hosted environments fit their needs and they can do quite a bit with them.
There's also the safety of intellectual property to consider. For the most part, acquiescence has been driven by this factor. That's understandable, given that there's confidential and sensitive information to consider. At the same time, it's also a matter of the provider you choose. Careful selection can make a bit difference.
Then you have developers who say that all the features of hosted environments can be handled by a well configured machine. It's true, a well configured machine will take care of a lot of things, but desktop development is very stationary. What if you need to access the environment, but there's a physical impediment?
Why GitHub? We like having access anytime and anywhere. This enables us to work in emergency cases as well as remotely. At the same time, collaboration with remote developers is also possible. Furthermore, there's the option of secure repositories (requires a subscription fee, but honestly it's not that expensive and it's well worth it).
At the core of it all, however, are the features. Not only does it feature desktop and mobile integration, there's also task management features, bug tracking, revision control and source code management. All in all, it's a pretty sweet deal.
What's the best option for you? That's something you'll have to decide for yourself. Just because one developer doesn't like/can't use a hosted environment, doesn't mean that it won't work out for another developer and vice versa. It all comes down to your needs and objectives. Still, we like to think that Git and GitHub are resources that should be considered.