As network-based computing infrastructures, such as Amazon Web Services
or Google's App Engine, evolve, so does IDE support for these
environments. In a recent interview, Aptana's Kevin Hakman, Kris
Rasmussen, and Sandip Chitale, introduce the newly-available cloud
computing support in the Eclipse-based Aptana Studio IDE:
Frank Sommers: What is Aptana Studio, and how does it support cloud-based computing services?
Kevin Hakman: Aptana has been providing free tools
to multiple communities for a few years now. We are behind RadRails, the
Eclipse-based Rails IDE. We have a full suite of PHP development tools.
And we rolled Pydev into the Aptana family as well, which is an
Eclipse-based Python development environment. These tools now exist
inside our Eclipse plug-in, Aptana Studio. All these are leading
development environments for those languages and platforms. Aptana
Studio has become very popular, whether as a stand-alone environment, or
as individual components that you can plug into Eclipse.
With the advent of cloud computing, we've been able to extend the
development environments to cloud data centers. This is possible because
those data centers are now wrapped with APIs, and we can use those to
automate a lot of the deployment and [application] updating, and enable
collaborative aspects around application life-cycle.
The vision for our products today is to continue to develop some of the
best tools for Web application development, and then extend those
environments to connected, hosted online services, to help facilitate
your application life-cycle.
We looked at all the could environments out there when we started this
project, and decided to go to market with Joyent, a Sun partner, that
has one of the largest base of hosted applications today. They currently
run a large Solaris-based data center, with APIs wrapped around it, and
we've been able to work very closely with them to get this sort of
integration implemented in our tools.
In addition, other cloud computing providers, such as Amazon Web
Services, have since gotten some of the fundamental pieces in place. We
will also enable integration with them as well in the future.
Developers who otherwise would take days to set up a development or
staging environment, can now achieve those goals in just a few minutes.
We charge for this service by the hour. So you can push your project to
the cloud for testing, and then take it down once you're done with that.
We also have customers who use this infrastructure for full-blown
production hosting.
Frank Sommers: In many organizations, developers are not responsible
for application deployment and ongoing monitoring. To what extent do you
support distribution of responsibilities between operations folks
and developers?
Kris Rasmussen: At the moment, we've made it very simple for someone to focus on
developing an app with our tools and then push that app into the cloud.
We've thus far focused on the single-server environment, and to make it
easy to scale vertically. We've pre-configure the servers and optimize
them for the different language stacks. We also re-reconfigure servers
to allow them to scale up or down for your application.
That makes the cloud a lot more approachable for users who don't have a
strong operations background and don't want to learn the intricacies of
the various cloud APIs. Then we've brought all that into Studio, and put
a GUI around it.
Going forward, we're integrating some of the application life-cycle
services you mentioned. We currently provide hosted SVN and
collaboration services wrapped around our single Aptana IDE sign-on
mechanism. Using those tools, when you add developers to your project,
they not only get access to your SVN repository, but also to your VPS
(virtual private server). That makes testing applications much easier,
for instance.
We also bring the application logs into the IDE. That helps you debug
problems. And we also provide a portal to give people an overview of how
their server is running, and also provide a monitoring service to let
our users know when their servers are reaching capacity limits or having
problems.
Sandip Chitale: The integration with the cloud is
very deep in Aptana Studio. For example, you can see what cloud
[infrastructure pieces] are associated with a project, and you can
synchronize your project's artifacts via FTP sites. And you can share
your project right on your cloud site, and facilitate collaboration
between team members that way.
We already mentioned Python, PHP, and Rails. But we also support
one-click deployment of Java projects to the cloud. We integrated with
the Eclipse WTP [Web Tools Platform] project. If you have an Eclipse WTP
project type, you can deploy that project to the cloud with a single
click.
Frank Sommers: Many Web applications rely on other components as well,
such as a database. What sort of additional infrastructure elements do
you provide as part of your offering?
Kris Rasmussen: We currently focus on the simple
Web application case, and provide a managed MySQL instance on the
back-end. We're focusing on eliminating the configuration involved in
connecting MySQL to your Java application, or an application using any
of the other type of projects we support. We also expose the database in
the IDE through our database GUI.
Kevin Hakman: Our vision is to enable the
developer with increasingly sophisticated collaboration and life-cycle
tools, integrated with the IDE. Just as we're looking into supporting
additional cloud environments, we're also interested in providing other
infrastructure pieces in future releases.