The Holy Grail: How to develop seamlessly in the cloud
This article is written by Jay Simons, president of enterprise software company Atlassian.
What I found interesting was the evolution of not only cloud based tracking systems and code repositories, but cloud based code editors, testing platforms, application platforms and deployment tools.
Excerpted below… (full text here)
In the wild kingdom of cloud computing, there are still a few mountains to summit. Development in the cloud is a big one.
Software is truly eating the world, and today code and the teams writing it are the crown jewel of almost any business. Software is increasingly the way most businesses will differentiate from one another, leapfrogging each other’s product or service, accelerating how quickly they onboard new employees or improve logistics. All that code — the characters on a keyboard strung together harmonically and the teams that weave it together — means a lot to the bottom line. So creating ways for teams to churn it out even faster is a huge opportunity. That’s where the cloud comes in.
Today, everything a modern software development team needs is available as a pay-as-you-go service, spun up in minutes and blended together better than a Wendy’s Blizzard. Issue and project tracking, code editors, code repositories and build servers – all just a credit-card swipe away from helping your team level-up.
There’s no perfect guide to a setup, and mileage will vary by team, but the basics include:
- Learning to code: If you’re new to the dark arts, start with an online tutorial or two to get a flavor of what it’s all about. Codecademy and Code School are two great places to start.
- Issue and project tracking: Every team needs a quarterback, and a great project tracking system sits at the center of every huddle. Online systems like JIRA, PivotalTracker, or Trello give your team a simple way to track what needs doing and who needs to do it.
- Code editors: Coding in a text editor used to be the mark of a software hipster. Used to be. Online editors like Kodingen and Cloud9 give you a leg up by connecting your team together with the other services you’re using. Slick integration with code repositories and deployment platforms makes it a cinch to run what you write.
- Code repositories: You need a safe place to store the stuff you’re building and new distributed code hosts like Bitbucket and Github offer simple ways to store and share your code, both privately with your team or publicly so you can collaborate with the entire Internet.
- Test your wares: Testing is and will always be an important tenet of building great software even in the cloud. The big change is that testing itself is now in the cloud as well. Cloud based apps provide new challenges to testing that are solved by cloud testing experts like SOASTA, Sauce Labs, or BrowserStack.
- Application platform: When you’re done, you need a place to run what you’ve built. Gone are the days of wiring together databases and application servers. Nearly every service you need to run your app is available on the Web. Heroku, Appharbor, and CloudFoundry are a few to try.
- Secret sauce: Build and deployment tools are the gears and sprockets of the modern development machine. Modern build servers like Bamboo or simpler deployment triggers like the Deploy Button let you automate your testing and continuous deployment cycles.
Workflow of champions
The real magic happens when these services are fluidly connected together, creating a whole easily greater than the sum of its parts. With little more than a $250 Chromebook and an Internet connection, your team can track what they’re doing, code anywhere and close a task from within their Integrated Development Environment (IDE), share and version changes as their code base grows and automatically trigger builds and deployments to cloud-based infrastructure that’s always maintained and tuned. For many modern developers, this is a reality, but for many more, it’s the Holy Grail – an opportunity to level up to improve their dev speed.
There’s no doubt that the traditional IDE isn’t going away any time soon. However, as development-in-the-cloud progresses it’s inevitable that the developers of tomorrow will follow.