DevOps has moved from philosophy to practical.
Development tools are moving to the cloud, but there are hurdles.
The industry needs a benevolent center of gravity, through which data from numerous tools can flow, for analysis and action.
These are some of the trends software toolmaker Atlassian are seeing in the development market, and some of the topics it will be discussing at the upcoming Atlassian Summit 2019.
A guide to Atlassian ecosystem tools
Testim enables intelligent web, mobile test automation
Modern development methodologies have created new ways of working for development teams and broader organizations as a whole, but in many cases tooling has not kept up with this pace of change.
Take DevOps for example. Advanced a decade ago as a way to extend the quickening pace of code development into application updates and deployment, it has seen wide adoption in large enterprises where the competitive advantages of software releases has been realized.
“What dev and ops had to figure out — this concept of fast iteration, of moving value quickly, working together across org structures — whole companies are now having to figure out,” explained Sean Regan, head of growth for software teams at Atlassian. “The best example of this is 100 years ago, in the industrial economy, your product was made out of atoms, and it was stored in warehouses and moved along train tracks. Your ability to be agile was limited by the physical forces of the earth, so to speak. Your product today can change as fast as your dev and ops teams can collaborate on the idea and get it to production. So we’ve moved from years or months, to days or weeks. For the C suite, that is a lesson that they’re still trying to learn. How do you run a company that used to be agile at the annual calendar level that can now be agile in a two-week sprint?”
Regan said he’s seeing developers moving code into production, and building the pipelines themselves, yet the culture of shared responsibility is in play. Tools, such as Bitbucket, allows for visibility into the code being written and the app being built, into the YAML configuration files, as well as for versioning the code and config file and sharing with other members of the team.
“It’s not the old world of developers doing things in a silo; they’re actually working with ops and IT to help build these pipelines in a more stable way,” he said.
But Regan believes pipelines for CI/CD do not stand on their own. He believes pipelines are an extension of the code repository, which is why Atlassian developed Bitbucket Pipelines as a feature of the code repository and not as a separate product. “The repository is where you version your code, where you version your configuration-as-code files,” Regan said. “For Bitbucket code review, you can have a conversation right inline next to the code, You can ask a question, like, ‘Hey Dave, why did you change this variable on our deployment pipeline? That created an issue. Why don’t we do this?’ Now it’s kind of a teaching moment.”
Moving to the cloud
Software tool providers want to make it easy for developers to create cloud-native applications, and are doing so by putting their tools into the cloud. This, of course, has the benefits of application scaling, access to services and the latest technologies, as well as worldwide reach and ease of deployments.
But Regan described a couple of factors that are working against this movement, including issues with security and performance. Many organizations, he said, still have questions about their code being safe in the cloud, even though they use Gmail or Office 365, or Salesforce, which Regan said “has the most intimate details of their customer relationships.”
He went on to talk about blockers, or the perceived downside of cloud computing, that prevent companies from making the move. “One of the blockers is, is the cloud safe for our source code? Bitbucket Cloud is now the only major Git repository that offers SOC2 Type 2 compliance,” Regan said. “I know that sounds like a small, esoteric nerdy topic, but SOC2 Type 2 gets into the details of whether or not the provider is delivering the availability, security, the privacy, the uptime and the confidentiality that meets the standards.”
Performance is another blocker to the cloud. When an application sits on a server in a close-by server room or even under a developer’s desk, performance is snappy. Yet when an application needs to call a service running on a server halfway around the world, performance can degrade. That is why Atlassian has invested in four new data centers around the world. It also is transforming its Bitbucket and Jira clouds into single-page apps. “These apps update the contents on the page without refreshing the whole page,” he pointed out. “We’re doing the exact same thing for Bitbucket Cloud and Jira Software Cloud, so that you get that same snappy feel.”
Software development has gone from one team shipping once or twice a year to multiple teams shipping every few weeks or months. The advent of tools as cloud services has made it easier for developers to work in the IDE they want, and for others involved with ideation, design and ultimately deployment to work in the tools they prefer. This also adds complexity around managing the process. “I think the industry has to ask itself a question,” Regan said, “which is, now that there’s been this explosion of SaaS apps, and everyone can have the tool that they want, how do we keep it all together? How do we do all this work independently, with these semi-autonomous teams, and not spiral out of control?”
Atlassian sees this problem as a way to frame the company’s promotion of Jira as a center of gravity for the software industry. Regan said, “I think the idea of a center of gravity is interesting, because in the past, to get coordination, you sort of had to lock things down. Jira brings a loose coordination. It’s kind of three things.. It’s open, it’s structured and it’s everywhere. It’s open enough that you can use almost any tool you want and it’ll integrate with Jira. You can share information back and forth, share the Jira issue keys. It’s also structured enough that all of these teams that work independently can still work together.”
About a month ago, Atlassian started to share the idea of Jira Everywhere. People, and work, are everywhere, in different geographic zones and using different tools. Some of the work is in an email inbox, or in the Invision design tool, or in an IDE or analytics tool. With Jira in each of those tools, these people could be reminded of work they have to do, or start work that other people are giving them, and it all can be tracked through Jira. In fact, Atlassian kicked this off by putting the Jira UI in Bitbucket. Now, the company is doing the same thing with Invision and Microsoft VS Code.
“Think about VS Code; that’s where developers spend their time,” Regan said. “What do developers hate doing? Developers hate bouncing out of their code to update a project management tool. It drives them bonkers.
“What we’ve done is, the developer can see their issues right in VS Code,” he continued. “They can assign the issues, they can comment, they can change them to in-progress, and it’s automatically reflected back in Jira. No tab, no new browser, no log-in, no email to update… it just happens. We’ve automated some of the most tedious aspects of incident management with this new idea of Jira as this unit of work or center of gravity. Same with Invision for designers.”
VS Code is a particularly good example. Imagine a developer doing work in his IDE without telling anyone, or changing code and moving things into production. If they don’t jump out of their IDE to update Jira, there’s no way to track those changes should an incident occur. “That’s when the stuff hits the fan,” Regan said, “and there is no way for your SREs or incident management teams to trace back cleanly to understand who made the change, who pushed the code, who was working on this pull request, right? It’s kind of unclear, and so by making Jira part of that IDE experience we’re going to get a better-quality incident response. A Jira issue key is just like a UPS tracking code. You can look at a Jira issue key and see who did what work where and in what tool when.”
The idea of cloud-based tools is a good one because those tools are changing so fast. Three years ago, people couldn’t stop talking about Puppet or Chef, Regan said, and now people can’t stop talking about Kubernetes. “The pace of change is insane,” he said. “And this kind of underpins our strategy at a macro level. You think about there’s a left and a right.. On the left, you have bring your own tools, design your own way of working, do whatever you want, just build a great toolchain to build great software. And that’s a completely wide-open approach. On the other side, you have some vendors saying I’m going to build an all-in-one. I’m going to build every development tool you need and I’m going to sell it to you in one package. I think that’s completely insane given how fast software development is changing, and how fast the way people work and the process and the flow changes. Atlassian believes there’s a third way that’s not complete entropy and it’s not a guy in a suit selling you a suite. That’s a very 1990s approach. There’s a middle ground which is, we’ll give you a benevolent center of gravity that can connect your team and share data and share information, but it’s loose enough that you can go and design your own workflow; you can design your own toolchain, you can design your own way of working. Atlassian runs this third option that didn’t exist back in the era of suites.”
Atlassian, he said, can be friends with everyone.