Microservices

Rethink the monolith

What are Microservices?


The Microservices architectural style describes an approach to structuring systems as a collection of loosely-coupled services. The architectural style goes hand-in-hand with small, autonomous teams that develop, deploy, and scale their services independently.

An online survey of 500 software and IT professionals found that:

71%

of teams report Microservices make it easier to test or deploy features.
Learn more about the benefits and challenges

Benefits of
Microservices

Resiliency

Failures at the service level don't bring down the whole system and can be resolved more quickly, often with automation.

Replaceability

Faster builds and less risky deployments with smaller code bases. Services can be replaced by new versions or different services without needed to change or bring-down the whole system.

Infrastructure is the platform

Fewer and simpler platform layers simplifies development and operations. Technologies can be chosen based on the needs of the service or different skill-sets of the team.

Challenges of adopting Microservices

Monolithic planning

Project-centric budgeting often leads to separating building a service from running it, defeating rapid cycles of learning from real production data.

Heterogeneous services

Few organizations get to start over with Microservices and have to live with both monolith and Microservices. The mix of architectures and associated tools can add considerable complexity.

Decentralized complexity

Microservices are highly decentralized and while decentralization reduces some forms of complexity, it can make it hard to coordinate in the event of service degradation or a full-on outage.

43%

of teams report Microservices leads to increased flexibility in developing software

Empower your team with practices that fit the Microservices scale today

With the right infrastructure and adherence to a few best practices, your team can start moving projects to a Microservices structure today.

Icon

Make plans in terms of products

Plan Microservices for products that will have long-running teams with development and operational responsibilities. Jira Software expresses a team's work for a Microservice in a backlog, where it's easy to adjust to new business needs but also to observations from real operation.

Icon

Evolve Microservices in tandem with monoliths

Allow developers to pick off pieces of the monolith and retire them with new Microservices, which means empowering teams to create new micro-repositories. The project-level admin features in Jira Software and Bitbucket help maintain governance even while delegating capabilities.

Icon

Have an incident communication plan

Have a communication plan and broadcast service and incident status to internal and/or external consumers. Keep Microservice consumers informed with Statuspage, so the Microservice team can focus on solving problems. In Statuspage, each Microservice is modeled as a component.

Enable a Microservice architecture with Jira Software and Bitbucket

Jira Software

Create a Jira project for each Microservice to provide sufficient autonomy for teams to control their own work.

Bitbucket

A Bitbucket repository and deployment pipeline for every Microservice and sufficient autonomy for teams to control their own source code.

Statuspage

Generate automatic notifications about service failure and health checks. The components correspond to Microservices to provide information about what's working and what's not.

Lay the foundation for Microservices

Jira Software and Bitbucket provide teams the tools and structure to create a Microservices architecture. Get started for free today.

Scaling Microservices at Gilt

Gilt transformed its monolithic architecture. Watch how.

5 Things I Wish I'd Known about Microservices

Join an Atlassian developer for a sneak peak into the world of microservices.

Continuous Delivery with Microservices

Learn the guiding principles behind the microservice architecture its benefits and drawbacks.