A day to learn how to scale fast and upgrade without downtime
Albert Rigo shares his thoughts on the Atlassian Accelerator Day in Copenhagen, and how he learned to quickly and comfortably scale Atlassian Data Center, upgrade with zero downtime and stop spending his weekends upgrading JIRA.
A late bus and a cancelled train didn’t stop me from happily attending the Atlassian Accelerator Day in Copenhagen. I had been so excited to learn more about Atlassian Software in Kubernetes (ASK) that I had left home far too early.
The day had both a talk and demo on the agenda, and I would discover they were definitely worth crossing the Øresund for. The talk would be inspiring and get me excited for the demo, which would not disappoint.
Henrik Høegh started his talk by pointing out the importance of being able to scale easily, and how Atlassian Data Center (ADC) can help you do so.
Nobody likes getting stuck in queues, and to scale with customer demand, supermarkets open or close extra cash registers. Atlassian Data Center tools follow the same principle. To meet load demands and scale, you spin up a new node, connect it to the load balancer and have it join the cluster without downtime.
While users might not notice the difference, as everything just working quickly becomes the norm, introducing ADC will definitely be noticeable for its maintainers. For starters, the pains of upgrading melt away. Atlassian Data Center offers zero downtime upgrades, a feature many “high-availability” tools fail to deliver.
Zero downtime upgrades are conceptually simple. You disconnect, upgrade and reconnect your nodes individually. While the nodes you’re upgrading are down, those that are still connected to the load balancer continue to serve the users.
He went on to describe many of the other great features ADC has to offer, such as its performance at scale and disaster recovery options. He also briefly mentioned the currently supported applications including JIRA Software, JIRA Service Desk, Confluence, Bitbucket and HipChat.
Henrik then explained how they added high resilience, configuration as code and many other benefits to their ADC setup. By combining Kubernetes and with the Atlassian Data Center, they had created a truly powerful and resilient setup: Atlassian Software in Kubernetes (ASK).
After the talk, Timothy Harris gave us a demo where he added new nodes to a running ADC cluster. With his Kubernetes-enhanced setup, he was able to spin up and connect new nodes with a single command. As someone who loves simple and pragmatic solutions, I was happy to find the final result to be so usable.
Here’s a quick overview of some of the tools involved:
Kubernetes adds resilience and self-healing, allowing nodes that die to be fired up again instantly.
Dashboard is great for giving you a visual overview of your Kubernetes cluster.
Træfik as the preferred load balancer, as it’s fast, lightweight and conveniently configured through the Rest API.
After the great talk, demo and some socializing, I headed home, tired but excited. Luckily, public transport was kinder to me on the way back. More than anything, I was happy to find the final result so simple. It reflects in my favorite quote of the day, by Timothy Harris:
“It’s like, one command, and it scales, which is really cool.”
Do you have a tendency to use the backlog as an eternal placeholder? If so, you probably have a lot of clutter that’s creating a lot of frustrations for your end-users. In this post we’ll show you how to clean up your Jira issues and reduce the backlog with some basic JQL queries.
Tips to improve project management in the Atlassian suite
How to test Kubernetes artifacts like Helm charts and YAML manifests in your CI pipelines with a low-overhead, on-demand Kubernetes cluster deployed with KIND - Kubernetes in Docker.
Low overhead, on-demand Kubernetes clusters deployed on CI Workers Nodes with KIND
With the arrival of microservices code is becoming disposable. Does this mean that we no longer need maintainable code? Is it the end of refactoring?
Still relevant or increasingly redundant?
In software development tight coupling is one of our biggest enemies. On the function level it makes our application hard to change and fragile. Unfortunately, tight coupling is like the entropy of software development, so we have always have to be working to reduce it.
How to safely introduce modular architecture to legacy software
I am an Atlassian certified trainer and over the years I have been spending much time with clients and their Jiras. In this blogpost, I have collected some small tips and tricks that will make your Jira usage better.
Jira Software is a powerful tool deployed in so many organizations, yet in day to day usage people are missing out on improvements, big and small.
In this blog I will show you how to create snapshots of Persistent volumes in Kubernetes clusters and restore them again by only talking to the api server. This can be useful for either backups or when scaling stateful applications that need “startup data”.
Sneak peak at CSI Volume snapshotting Alpha feature
Nicole Forsgren and the Accelerate DORA team has just released the newest iteration of the State of DevOps report. The report investigates what practices make us better at delivering valuable software to our users as measured by business outcomes. Read on for our analysis of the report, and how it can be best put to use.
The latest drivers of software delivery performance
A major challenge of software development is that our work is by and large invisible. This makes our folklore essential in business matters. Some of our commonly used arguments and visualizations are digital urban legends rather than solid foundations for informed decisions. Here, we’ll go through a few examples and some measures to address our misconceptions.
How the stories we tell influence our decisions
When you embark on your cloud native journey there will be important choices to make about cloud providers, continuous deployment, environments’ setup and separation. This guide will help you make the right choices by sharing lessons learnt from running cloud native apps in production.
Kubernetes has become the de facto container orchestration platform. When we help clients of different sizes and domains start their cloud native journeys in Kubernetes, we assist them in making sound decisions and technology choices. There is no one-size-fits-all solution when it comes to choosing cloud providers, CI tools, continuous deployment pipelines etc., so it is important to make the right decisions at the start. Failing to do so can be very costly in terms of lost time and money.
How to make the right technical choices on your cloud native journey
Learn how Docker and Kubernetes work and the key benefits they bring. Using real demos, I show how Docker is a great packaging and distribution technology, and how Kubernetes provides a powerful runtime for containerized applications.
Watch this introduction to Docker and Kubernetes at the Trondheim Developer Conference (TDC)
Hear about upcoming events in Scandinavia, latest tech blogs, and training in the field of Continuous Delivery and DevOps