In my long career in IT industry, I have always benefited from doing development using an Integrated Development Environment (IDE). Besides giving you productivity gains, it provides a lot more benefits in terms of organizing files as well as writing smart and clear code.
Now, being predominantly a Microsoft developer, I know that Microsoft as a company is not exactly revered in the Software space for its Products and Technologies. However, if there is one thing that it can be given its due credit, it is for their innovations in their IDE called Visual Studio.net (Vs.net) over the years. You can also use VS Code IDE if you are not using windows operating system.
Because of continuous improvements over the years, Vs.net is considered as one of the best IDE’s for software development
Change in IDE space
In order to use the IDE, traditionally the practice is to download the right editions and install it on your computer and you good to go. However, like everything else, there are changes happening in IDE space too.
I experienced this first-hand when I was trying my hand at programming Solidity language for Ethereum blockchain. Rather than the traditional download-and-install option, Ethereum gives option to use their browser-based IDE called Remix
The obvious advantages are, you don’t need to download or install anything locally, and you can get started writing code on a bare-bones computer with a browser.
Best IDE for AWS
Since I am primarily engaged in doing development on AWS, I was looking to find best IDE for this job. And as always, AWS never disappoints. They have a service called Cloud9, which functions as a full-fledged IDE on your browser
Howzzat. Using Cloud-based IDE for doing Cloud-based development. Feels like #StateOfTheArt Isn’t it?
Cloud9 can be used in one of the following modes
Using it with multi-user has features of Sharing, Communicating and making Peer reviewing and collaboration easy.
However, for this article, we will focus on using it as an Individual
Login to your AWS console and select the service named Cloud9. Once you are on home page of Cloud9, you will see option to create a new environment, as shown below
1. click Create Environment button to proceed
2. Choose appropriate configurations and click Next Step
3. Select your preferred flavor of Linux and leave other settings as default and click Next Step
4. Review your selections and click Create Environment
5. For a while you will see above screen before an environment is created for you.
AWS is provisioning an EC2 instance right now. This instance becomes your development environment in cloud. This will store all the files and software’s you chose to install while doing development.
6. After a few minutes, you will see a screen like above, which confirms creation of development environment for you in cloud.
There is no cost of using Cloud9 service. Charges you will incur are related to running your chosen size of EC2 instance and storage of files and software’s installed in your environment.
As you might have noticed, there is a default configuration which shuts down EC2 instance after a period of 30 mins of inactivity in your Cloud9 IDE
Most of the times, your usage would be within the limits prescribed by free-tier in AWS. So you will not end up paying anything for using this service.
One of the best benefits I have got with this is what I called No Fear Of Breaking It (FOBI).
With traditional IDE setup on local computer, I always was careful not to do any experiments or try any risk installations because if it messed up my environment, I would lose out a couple of hours in setting it up.
But with Cloud9, I can play with it to my hearts content and install all kind of known as well as risk things without having any fear of loss of productivity
No Remote Debugging permissions setup required
Remember the time when your code is running in cloud but your IDE is on your laptop and you have to perform all kinds of black magic to setup Remote debugging in order to attach your local debugger to code running on cloud. Well, thankfully those are days of past as Cloud9 runs where AWS services run.
Now you can easily set your breakout in code and attach your debugger to code running in cloud, which provides a convenient way to debug production problems without any additional setup
Multiple Environments for different technology stack
The other benefit I see is, I can create separate environments for different technology stack I am working with. Hence, right now, I have the following environments created for working on different projects
- Cloud9 – Java
- Cloud9 – NodeJS
- Cloud9 – Go
So if you are doing any development related to AWS, I urge you to take a stab at using this fantastic service and most likely, you will never go back to your on-premise IDE after this experience.