Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[INFRA-3100] Migrate updates.jenkins.io to another Cloud #2649

Open
Tracked by #3662
jenkins-infra-bot opened this issue Oct 15, 2021 · 157 comments
Open
Tracked by #3662

[INFRA-3100] Migrate updates.jenkins.io to another Cloud #2649

jenkins-infra-bot opened this issue Oct 15, 2021 · 157 comments

Comments

@jenkins-infra-bot
Copy link

jenkins-infra-bot commented Oct 15, 2021

Why

Read the EPIC (aws cost decrease: #2646)

What

  • updates.jenkins.io serves the JSON of the update center, but it is not behind a CDN (need to be updated regularly) causing a lot of outbound data transfer (2.4 Mb for a JSON download, esitmation around 300 Gb of data sent daily, estimation around 10 Tb per month which costs some $$$.
  • The VM pkg.origin.jenkins.io is managing multiple services and separting them could be a great help.

How

Different paths can be taken here: to be discussed in infra meeting + validated by the board as it's an important service.

  • Migrating the service to Oracle Cloud:
    • the first 10 Tb of outbound data is free, and if the worst case, 50 Tb of outbound would cost less than 3k $ per month - https://www.oracle.com/be/cloud/networking/networking-pricing.html
    • ARM machines: cheaper and better performance for a simple webserver + SSH + data
    • Block storage: close to archives.jenkins.io
    • Risk: Oracle sponsoring program is only 1 year, and is not easily secured for paiment as other account
  • Migrating to Azure
    • Easily in AKS: easier management
    • Safer paiment process
    • Risk: cost of outbound to be evaluated

Originally reported by dduportal, imported from: Migrate updates.ci.jenkins.io to another Cloud
  • status: Open
  • priority: Major
  • resolution: Unresolved
  • imported: 2022/01/10

[note]

@dduportal
Copy link
Contributor

dduportal commented May 10, 2022

Requires setting up the Oracle Terraform project, like #2682

Todo list:

  • Specify a new infra (VM + data storage of the same size as the actual pkg.origin.jenkins.io machine + any other Oracle infra requirements). Implies checking the pricing to get an overall idea
  • Once VM is created, add it to puppet management: new node, with the role / profiles associated to "update.jenkins.io"
  • Rsync the data one time
  • Update the jenkins-infra/update-center2 's associated job in trusted.ci to update both "pkg.origin.jenkins.io" VM and the new one (⚠️ inline pipeline, don't search for a Jenkinsfile as code)
  • Validate the new instance (including checking with Daniel, Tim and other contributors)
  • Communicate about the upcoming change
  • As proposed by Stephane, use a round-robin DNS record value to split traffic between old/new during some time and check for error

@dduportal
Copy link
Contributor

Blocked by #2973

@smerle33
Copy link
Contributor

actual machine size is :
32Gb RAM
8cpu
1,2Tb data disk (372Gb free)

about half of the power is used currently (checked with the local SAR probe)

@smerle33
Copy link
Contributor

Infra to specify :

  • 1 VM (similar to archive.jenkins.io)
  • 1 network ("mirrors") + 1 subnet ("20210630-1531")
  • 1 volume 1,2Tb
  • 1 set of security groups to restrict network access
  • 1 ssh key pair

@smerle33
Copy link
Contributor

VM specifications :

  • 4vCPU/16Gb RAM : half of actual machine
  • proposal to use ARM like archive.jenkins.io --> 4ocpu (VM Type Standard A1 Flex)
  • Image Ubuntu 20.04 (FULL [non minimal]) --> upgrade from ubuntu 18.04 for actual machine
    • option for 22.04 but need testing for puppet agent (+ openssl v3)

@dduportal
Copy link
Contributor

dduportal commented Sep 28, 2024

Post mortem of the fourth brownout (26 -> 27 September):

@dduportal
Copy link
Contributor

dduportal commented Oct 24, 2024

Update:

@dduportal
Copy link
Contributor

Fifth brownout finished! (ref. jenkins-infra/azure-net#309)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests