Inside Atlassian

Author

Steve Smith

Steve Smith has worked at Atlassian for over 8 years, both as a sysadmin and a developer. Prior to that he worked on tanks and radars in the Outer Hebrides, telecoms systems in Hong Kong, and in startups in Australia. He now works out of Atlassian’s Amsterdam offices, focusing on high-availability, continuous-deployment and platform migration issues.

Article in Developers
Practical continuous deployment: a guide to automated software delivery

Continuous deployment guides frequently focus on the culture and adoption aspects. What’s less common to see is how teams have addressed practical nuts-and-bolts issues. In this post, I’ll talk about the hurdles my team had to jump while transitioning to continuous deployment: workflow stuff, tools stuff, and a bunch of “gotchas”. And for those of […]

Article in Developers
npm for Bitbucket 2.0: Now with private packages!

Note: This is a repost of our previous announcement. However if you don’t have it already, the Bitbucket NPM add-on is now available in the Atlassian Marketplace. Original announcement … We’re pleased to announce version 2.0 of Tim’s npm for Bitbucket integration. The major change for this release is the addition of support for private packages. Read […]

Article in Jira Service Management
‘–force considered harmful; understanding git’s –force-with-lease

Git’s push –force is destructive because it unconditionally overwrites the remote repository with whatever you have locally, possibly overwriting any changes that a team member has pushed in the meantime. However there is a better way; the option –force-with-lease can help when you do need to do a forced push but still ensure you don’t overwrite other’s work. It’s […]

Article in Developers
Quick Tip: Getting Emacs and IntelliJ to play together

As I’ve mentioned before, I’m gradually working towards my grey-beard badge so for most of my programming I tend to use Emacs. However when I moved into the order-systems team I adopted IntelliJ IDEA, which is our weapon of choice for Java development at Atlassian. This is because while Emacs is a great text editor, IntelliJ takes a holistic and […]

Article in Developers
On-demand activation of Docker containers with systemd

One of the features of systemd is its ability to defer the start-up of networked applications until their services are actually requested, a process referred to as socket activation. This isn’t really a new an idea; systemd borrowed the idea from launchd which has been in OS X since Tiger‘s release in 2005, and the venerable Unix inetd has implemented […]

Article in Developers
Realtime updates from PostgreSQL to Elasticsearch

The following is a repost of an article from my personal blog that describes how to perform event-driven updates from a PostgreSQL instance to Elasticsearch. In February I will be giving a tutorial at DeveloperWeek on development and testing with Docker, and this relies heavily on the code described in this post as an example project. So for consistency I […]

Article in Archives
Quick tip: fully automating your Stash deployments

Stash is now called Bitbucket Server. Read our announcement blog. Things are pretty hectic here on the developer advocacy team. We spent last week at Devoxx Belgium in Antwerp, and this week we’ll be jetting around Europe and North America as part of the Getting Git Right tour. But, in the time I’ve had at my desk in […]

Article in Archives
Organic code reviews for a billion-dollar order system

Let’s get the punch-line out of the way up-front: “Without being asked”. In a move that genuinely surprised me, the team behind the Atlassian ordering system adopted peer code reviews in a purely organic manner. I’ve been thinking about why this is… But don’t developers hate code reviews? Code reviews have a long and chequered history in software development. […]

Article in Archives
My.Atlassian.com maintenance today

At approximately 5am UTC (midnight US Central time) we will be performing some maintenance on the machine that hosts some of our order infrastructure. While this is happening the customer purchase portal my.atlassian.com will be unavailable. The work is expected to take approximately 1 hour. While this is happening some other services may be in […]

Article in Archives
The road to HAMS 3.0 – Transactions, atomicity and credit-cards

HAMS is Atlassian’s order processing system; if you’ve ever bought an Atlassian product it’s HAMS that’s been doing the work in the back-end. HAMS has served us well, but is over 3 years old now and starting to show some wear, so we set aside August this year to attack some of the technical debt […]

Article in Archives
The road to HAMS 3.0 – Transaction boundaries

HAMS is Atlassian’s order processing system; if you’ve ever bought an Atlassian product it’s HAMS that’s been doing the work in the back-end. HAMS has served us well, but is over 3 years old now and starting to show some wear, so we’ve set aside August this year to attack some of the technical debt […]

Article in Archives
Website maintenance this Saturday/Sunday

As part of a project to expand the disaster recovery for our customer data, on Sunday the 20th of February (AEST) we will be upgrading the core order-system database to Postgres 9.0 and enabling replication. This work will start at 10am Sydney time (5pm Saturday US central time); it will last a minimum of 2 […]

Article in Archives
Subversion replication at Atlassian

It’s cool working for an international company with an open philosophy, but our decentralised setup can cause some real headaches for sysadmins. One of these is giving fast access the source-code repository to our developers and support staff spread over 3 continents, all working on a common code base. Subversion is the existing version control […]

Article in Archives
Clustering Cisco routers with VRRP and SLAs

As part of the move our new Sydney office we purchased a duplicate of our main router, a Cisco 1841. This was necessary as we wanted to have the network fully installed and tested before the move started in order to avoid any nasty surprises. However once the dust had settled we were left with […]

Article in Archives
ShipIt V – Sieve mail processing for Jira

The problem Jira has a very useful mail integration system that allows issues to be created and commented on via email. While this works well for the simple case there is a lot more information in the mail that we receive from both automated support requests and direct customer conversations that we could feed into […]

12Next Page »