Atlassian is unifying its code management software offerings under the single Bitbucket brand with a focus on the entire software development ecosphere, including those working in developer relations and DevOps-type roles.
How Bitbucket Changes Enterprise Development
As time has gone on, Git has undergone a shift in how it has been used. Git has worked well in the OSS community, and has seen a recent shift into enterprise-level software development applications. Eric Wittman, head of engineering and developer tools at Atlassian stated that,
“Software development is experiencing a generational change as people are moving away from the old way of building software to new technology.”
Companies are building cars, banking systems, or handling immense retail backends on a day-to-day basis. Additionally, the shifting web development landscape means that more and more media companies are building their own software, programming complex websites, launching branded applications, managing large Git repositories, and working in containers. Managing Git repositories, bug requests, and source code has evolved to become an organism in its own right, with development teams requiring new technology to meet changing demands.
New Enterprise Level Features of Bitbucket
1. Git Mirroring
Bitbucket now features Git mirroring, which is designed to increase performance of remote teams. That this has been an issue for Git overall, as cloning branches within Git remotely, often has an impact on performance. Git mirroring is designed for teams spread across the world. For many data centers, code is maintained in a central code storage location. Remote team members will then clone the master branch in order to begin working.
If a server is located on the East Coast, but teams are located offshore in Europe or India, those remote teams will experience slow performance because of the amount of time required for them to access source code and clone a repository locally. Git mirroring allows people to create local mirrors in their specific regions which stay in sync with the master repository. When commits happen in Bitbucket, they go back to the master branch. This feature has reduced a pain point remote teams often experience.
2. Bitbucket Cloud
Bitbucket doesn’t just support on-premises deployment, but allows users to create local mirrors on one’s own server while multi-tenant service is stored in the cloud. Bitbucket Cloud allows for companies to manage their product’s overhead infrastructure simply.
3. Git Large File Support
Bitbucket also will be offering customers Git large file support (LFS), a recent feature soon to also be added to GitHub for those with large repositories to manage. Git LFS is especially valuable for software development teams working in media, advertising or gaming — as they often have large images such as promotional assets stored in repositories. Git LFS tries to separate the large files from the repo itself, abstracting the fact that the files are in separate locations. Bitbucket’s server products are also migrating to Bitbucket cloud. This change will allow development teams to better organize a complicated repository setup.
4. Workflow Customization-Focused APIs and Extensions
Being able to have rich APIs is an important workflow feature to many software developers. Bitbucket features a large ecosystem of third party software to further enhance the tools at a software team’s disposal, which further bolsters efficiency. As such, one can change their workflow to suit the needs of their project on a day-to-day basis as expectations shift.
When working on software development, most teams use JIRA. Bitbucket integrates with JIRA around the entire scope of project management, setting it apart from competitors whose primary focus is managing source code. When a developer goes into JIRA, they want to pick a ticket and get to work without having to go back to JIRA multiple times throughout the process of working on an issue. As a developer completes commits/pulls and runs builds, that information gets updated via Bitbucket back into JIRA. When they commit code or finish off a ticket, that particular task is updated in JIRA, so that the entire software development team knows the status of the issue in question.
When working in Git, development teams often use a feature branch workflow. When creating a feature branch with Travis CI, teams don’t want to have to redo build plans when working on testing or QA. Bitbucket has strong integration with Bamboo where, when a developer creates a branch in hermit from master, it also sets up CI scripts in advance. Alternatives to Bamboo include Travis CI, Jenkins, or Hudson when working with CI and CD. Continuous integration and continuous delivery present different challenges to software development teams, as software in CD must be available throughout its life cycle.
Wittman noted that,
“It’s not the big things, it’s focusing on the little things to keep development productive.”
If a repository takes an extended period of time to finish cloning, or nodes become overloaded and fail, this can frustrate software developers. Having a continuous integration workflow helps address these issues. Bitbucket Data Center has active clustering built in, which GitLab plans to introduce in the future with Gitlab RE. Currently, GitHub Enterprise also offers developers support for high-availability cluster configurations. HA clusters address heavy load traffic, meaning that if a node goes down it will failover to another node.
5. Unified Brand Presence
Atlassian offers many Git products to its customers, which tended to cause some confusion among customers. As a result of this, the company has rebranded, unifying its Git offerings comprised of formerly separate services — Bitbucket Cloud, Stash and the Stash Data Center — under the Bitbucket brand.
This change impacts companies that had previously been using Stash and Stash Data Center. These products are now available under the Bitbucket umbrella, reducing customer confusion as to if Stash was separate from Atlassian’s other Git-based offerings. Stash is now called Bitbucket Server, while the Stash Data Center has been rebranded Bitbucket Data Center.
Competitors to Bitbucket have also adopted enterprise-level branding, with GitHub offering its professional services under the GitHub Enterprise umbrella.
The new features presented in Bitbucket represent a marked shift in the current development environment. Git has quickly risen as a key component of application development, being among the choice tools for developers working with Git tools and CI engines. Bitbucket’s new features improve the many workflow tools available to developers working in Git, adding to a variety of options currently available.
With the ever-changing demands of software development today, teams must be able to work together and collaborate from across the world. Git repository management tools offer many ways to make this process more efficient.