Deploying Atlassian Software with AWS and Spinnaker - Part 3 Project Management & DNS

Deploying Atlassian Software with Spinnaker, AWS, and Kubernetes

Share

Also, in cloud hosting of Atlassian software with AWS or Spinnaker, it makes sense to have dedicated project and user management. For Kubernetes, there are several ways to handle project and user management:

  1. You can set up several EKS clusters and separate them from each other in this way:
    • This is a simple and clean solution at first, because you don't have to find a way to separate resources and permissions.
    • If these clusters are to be managed independently and are likely to provide independent applications, this may be a valid approach.
    • If the clusters are to be centrally managed instead, this causes a lot of administrative overhead and requires another layer of logic to implement deployment pipelines, user rights and other automatisms.
  2. A single EKS cluster can handle project and user management with native Kubernetes-handle the functions.
    1. Projects can be managed in different namespaces:
    2. Deployments can be separated by extensive tagging.
    3. Kubernetes provides the ability to set up roles with dedicated permissions on Kubernetes resources that users and resources can access to enable fine-grained rights management
    4. With this concept, additional clusters can of course be set up, for example for projects with deviating configurations or for Kubernetes updates.

Both options are legitimate and it depends on how you want to administer the cluster(s) in the future.

Network/ DNS

The compute nodes themselves are connected to each other and to the master via a different network. In order for an application deployed in Kubernetes to be reachable from outside the cluster, an ingress must be deployed to act as a gateway outside the cluster.

Within the cluster, it is always possible for each pod to connect to another pod. This is because Kubernetes creates its own network where all deployments take place. Each pod within Kubernetes is given its own IP address.

Networking within Kubernetes

How networking works within Kubernetes depends heavily on which networking plugins and which ingress controller is installed. This ensures that the environment within Kubernetes can be tailored to the requirements of the application.

EKS is able to spawn different types of load balancers depending on the installed Ingress controller. Here it is recommended to use an external DNS service and thus ensure that at least one Pod can always be reached via this DNS name in order to be maximally fail-safe.

Network/ DNS

The compute nodes themselves are connected to each other and to the master via a different network. In order for an application deployed in Kubernetes to be reachable from outside the cluster, an ingress must be deployed to act as a gateway outside the cluster. Inside the cluster, it is always possible for any pod to connect to another pod. This is because Kubernetes creates its own network where all deployments take place. Each pod within Kubernetes is given its own IP address.

How networking works within Kubernetes depends heavily on which networking plugins and which ingress controller is installed. This ensures that the environment within Kubernetes can be tailored to the requirements of the application.

EKS is able to spawn different types of load balancers depending on the installed Ingress controller. Here it is recommended to use an external DNS service and thus ensure that at least one Pod can always be reached via this DNS name in order to be maximally fail-safe.

Spinnaker

For the deployment layer, Spinnaker is used in this concept. Spinnaker is a deployment software designed for mass and standardized deployments of containerized applications in Kubernetes.

Here it is possible to define different input sources, create pipelines to automate deployments and define rules/checks for pipelines to increase the integrity of the whole environment.

It is also possible and recommended to implement deployment fallbacks at this stage, such as blue-green deployment and versioning for application deployments. Here is a small sketch to see how Spinnaker deploys applications:

Spinnaker, Kubernetes and Project Management

Spinnaker, of course, can do much more than just create pipelines and deployments. It also comes with an easy-to-use web UI to give you a transparent overview of the different deployments and projects in Kubernetes. With a few clicks you can change them.

Advantages of spinnaker:

  • Standardized.
  • Future-proof.
  • Rapid Deployments.
  • Quick rollback.
  • High deployment throughput.
  • Very high automatism.
  • Low administrative overhead after implementation.
  • Seamless transition to new deployment workflows.
  • Cloud-Provider change possible.

Disadvantages of spinnaker:

  • Deployment workflow must be well thought out.
  • High initial administration effort.
  • Several new applications and logic layers need to be understood and learned by the business.
  • Only works with containerized environments.

← Back to Part 2: Deployment

This might also interest you

Philip Kroos 2024-03-14
0

Senior Atlassian Consultant (m/f/d)

Are you, like us, convinced of Atlassian tools like Jira and Confluence? You live team spirit

Job
Mario Schaefer 2024-02-20
0

Atlassian Intelligence: What can I do with it?

Artificial intelligence is on the rise and is finding its way into all areas of life, including

Atlassian
Alex Gentzel 2024-02-10
0

End of Atlassian Server Support - What happens if I don't switch from Atlassian Server to the cloud?

As a long-time user of Atlassian products, you will surely remember the good old server days.

Atlassian Cloud
Shopping cart

B/S/H

BSH Hausgeräte GmbH is the largest manufacturer of household appliances in Europe and one of the world's leading companies in this sector.

Projects & Solutions