Backend/Atlassian
Atlassian is an Australian enterprise software company that develops products for software developers, project managers, and content management. Here is detailed information focusing specifically on Atlassian's backend technology:
History and Context:
- Atlassian was founded in 2002 by Mike Cannon-Brookes and Scott Farquhar, two university friends from the University of New South Wales. Their goal was to provide tools that were not only functional but also affordable for teams of all sizes.
- The company initially focused on creating software that would ease the pain points in software development, particularly around project tracking and collaboration, which led to the creation of products like Jira, Confluence, and later, Bitbucket.
Backend Technology:
- Scalability: Atlassian's backend architecture is designed for scalability to handle millions of users. They use a combination of in-house developed solutions and industry-standard technologies. For instance, Jira uses a custom indexing engine for searching through issues which is scalable across multiple nodes.
- Database Management: Atlassian products typically run on databases like PostgreSQL, MySQL, or Microsoft SQL Server. Their backend supports multiple database engines to provide flexibility to their customers.
- Service-Oriented Architecture (SOA): Atlassian employs a service-oriented architecture where different functionalities are broken down into services. This allows for better modularity, easier maintenance, and improved scalability. For example, Confluence uses services for content rendering, indexing, and user management.
- Cloud Infrastructure: With the shift to cloud services, Atlassian has embraced cloud-native technologies. They use Amazon Web Services (AWS) for much of their cloud infrastructure, leveraging services like EC2, S3, RDS, and others to manage their applications.
- Microservices: Atlassian has been moving towards a microservices architecture, especially for their cloud products. This approach helps in isolating different parts of the system, allowing for independent updates and scaling of individual components.
- API-First Design: Their backend development follows an API-first approach, ensuring that all functionalities are accessible through APIs, which facilitates integration with other systems and tools.
- Security: Security is a top priority, with features like encryption at rest and in transit, regular security audits, and compliance with standards like GDPR, HIPAA, and SOC.
Development Practices:
- Atlassian uses Agile development methodologies internally, which is reflected in the tools they build. They practice continuous integration and deployment (CI/CD) with tools like Bamboo and Bitbucket Pipelines.
- The company encourages open-source contributions and uses open-source technologies extensively, contributing back to the community by open-sourcing parts of their own stack.
Sources:
See Also: