Atlassian advanced strategy for Enterprise 고가용성을지원하는 안정화된 Atlassian 서비스구축
Agenda 데이터센터정의및장점데이터센터준비데이터센터전환계획데이터센터로드밸런서데이터센터구성예제데이터센터테스트데이터센터관리툴데이터센터로컬테스트
데이터센터 Horizontal scaling 클러스터노드를추가하여수평적으로확장 트래픽에따라클러스터의노드로라우팅하여더많은동시사용자를허용 간단한방법으로클러스터에노드추가 Your Network Your Network Load Balancer Cluster management 다중노드클러스터의이점을효과적으로활용하여사용자환경에맞게조정 사용자의원활한접근을위해애플리케이션노드에서트래픽분류 노드에서트래픽의균형을유지하거나특정트래픽을대상노드로전달 Application Database File System Horizontal scaling Node 1 Node 2 Node 3 Database File System Cluster management
데이터센터 Active-active clustering 클러스터멀티활성서버를통해서하드웨어장애발생시사용자접근허용 Distributed load 데이터센터클러스터전반에서지능적으로로드를분산하기위한기술사용하드웨어 - 소프트웨어로드밸런싱기술 Instant scalability 편리한클러스터추가 Locking 기능사용없이빠르게인덱싱지원 Redundancy 공유파일시스템과데이터베이스클러스터링을활용한장애포인터를최소화 Performance at scale 성능저하없이동시접속자수용능력및서비스품질증가애플리케이션의처리량을늘려부하에따른성능저하방지
데이터센터 1 2 3 데이터센터체크포인트 데이터센터가제공하는가치설명 계획되지않은중단시간과중단시간을줄이는것 신규사용자추가시성능저하없이사용가능 데이터센터전환포인트확인 서버접속자수가 500-2000 명또는수백명의사용자가동시접속 Atlassian 고객중 60 % 는 500-2000 유저사용중전환 설치된서버의한계를서서히초과하기시작하는상태 계획된중단시간또는계획되지않은중단시간의최소화 이익의정량화 성능문제로인한작업지연에따른시간손실 인력의생산성저하로인한기업의비용증가 미국엔지니어평균비용 : $81,884 작업시간 : 1783 시간 ( 년간 ) - 2016 년기준 개발자 : 500 유저 다운타임 : 1 시간 JIRA Data Center 가격 : $ 12,000 Cost per 1 hour of downtime for an organization of 500 developers ($23,000) = >$12,000!
데이터센터준비 Before you begin 현재설정옵션에서성능향상가능옵션확인 최신버전으로어플리케이션업그레이드 사용중인플러그인데이터센터에호환여부조사 추가요구되는인프라조사 Implementation 테스트환경에서기본클러스터구성배포 노드기능, 동기화및기본응용프로그램기능테스트 사용자의테스트배치를통한시스템성능메트릭측정 데이터센터지원제품
데이터센터준비 Server Infrastructure and hardware requirements Server 최소 4GB 램 다른 Application 설치불가 Cluster nodes 동일한 Product 버전과동일한데이터센터에위치 OS, Java 및응용프로그램서버버전동일 동일한메모리구성 (JVM 및실제메모리 ) 동일한시간대로구성 Database 데이터베이스최소 105 개의연결허용 지원되는플랫폼및드라이버사용 Shared home directory and storage requirements 같은경로에있는공유디렉토리에접근 NFS 및 SMB / CIFS 공유는공유디렉토리의위치로지원 Load balancers 가장잘알고있는 Load balancer 를사용 session affinity 와 WebSocket 을지원 Network adapters 서버간통신을위한별도의물리적네트워크필요
데이터센터전환계획 데이터센터전환절차 Build project team Review current server installation Document current processes Evaluate technology decisions Implement test & Deployment process 1 2 3 Build a project team 담당자 Power Users Technical Product/Projec t Manager Database Administrator Network Engineer 설명 Jira 또는 Confluence 관리자 데이터센터가올바르게작동하는지테스트하는동안기능및성능을검증 기술제품관리자는작업완료를확인하며업무간문제를해결 프로젝트업데이트를이해관계자에게전달하고최종사용자에게공지 데이터센터의 DR 작업과일치하도록재해복구계획을검토및업데이트 연결을분석하고네트워킹요구사항을업데이트 로드밸런서를선택하고구성하는데대한전문지식과지침을제공 Review current Server installation 서버애플리케이션벤치마크 데이터센터마이그레이션시예상되는개선사항측정 서버응용프로그램세부조정 사용자및조직추가에대한성능향상 개별노드에대한향상을설정정리 설치된플러그인기능검토 지원되는플러그인확인및불필요한플러그인삭제 Document current processes 서버응용프로그램의작동, 기능또는성능과관련된데이터센터배포가기존의동작을나타내는지식별 애플리케이션에대한 API 액세스패턴 모니터링도구및측정대상
데이터센터전환계획 데이터센터전환절차 Build project team Review current server installation 4 Evaluate technology decisions Load Balancer Shared database Shared file system Basic Https Document current processes Your Network Your Network Evaluate technology decisions HTTPS Implement test & Deployment process Load Balancer HTTP Load Balancer Node 1 Node 2 Node 3 Node 1 Node 2 Node 3 Database File System Database File System
데이터센터전환계획 데이터센터전환절차 Build project team 5 Implement your test & deployment process Test your Data Center installation Review current server installation Document current processes Evaluate technology decisions Test: 테스트환경으로마이그레이션후조직과관련된기능, 성능및통합을검증 Refine: 응용프로그램의구성을최적화하는방법을지시 Document: 전체프로세스문서화 설치, 구성, 네트워크다이어그램, 아키텍처다이어그램, 버그, 해결방법 Commit: 테스트및개선의결과를사용하여데이터센터가준비가되었는지평가 Execute: 주말이나사용량이적은시간대에실행 Support: Product 후데이터센터애플리케이션모니터링및기능 / 성능문제확인 Implement test & Deployment process
데이터센터전환계획 마이그레이션전환검사단계 Before you migrate 1 마이그레이션전 마이그레이션후비교를위한데이터통계정리 프로젝트 /Space 수, Issue 개수, comment 설치된플러그인데이터센터동작유무확인 현재서버에대한기본성능테스트수행 Migration After you migrate 2 마이그레이션 Atlassian Product 링크체크 : application link 설치된플러그인테스트 AD/LDAP 연동 프로그램의주요기능및테스트케이스확인 3 마이그레이션후 마이그레이션전데이터통계비교 트래픽모니터링, 응용프로그램로그분석 성능테스트프로그램으로반복확인
데이터센터로드밸런서 로드밸런서는클러스터의트래픽을관리하여사용량이증가함에따라애플리케이션의안정성과최적의사용자환경을보장할수있게해주는핵심구성요소 여러노드에효율적으로트래픽을분산 온라인상태의노드에만트래픽을보내높은가용성을보장 노드추가또는제거용이 표준트래픽분산 공유데이터베이스및공유파일시스템에연결된두개이상의노드로클러스터구성 Rest API 트랙픽세이핑 REST API 전용트래픽을위한노드지정 Your Network Your Network /REST requests Load Balancer Load Balancer Node 1 Node 2 Node 3 Node 1 Node 2 Node 3 /REST Node 4 Database File System Database File System
데이터센터로드밸런서 Load Balancer 클러스터노드간에트래픽을분산시켜응답시간을최소화하고단일노드의과부하를방지 1. 클라이언트는로드밸런서를통해응용프로그램클러스터에연결시도 2. 로드밸런서는연결수락후최적의응용프로그램노드를선택하고연결 3. 응용프로그램노드는연결허용후로드밸런서를통해클라이언트에응답 4. 클라이언트는응답을수신하고로드밸런서의고정세션구성을통해요청과활동을수행 Load Balancer 종류 소프트웨어 : HAProxy, Apache, Nginx 하드웨어 : F5, Citrix (NetScaler), Cisco, VMWare, Brocade
데이터센터구성예제 Bitbucket + JIRA Bitbucket Data Center: 1,500 user Jira Data Center: 800 user JIRA Jira Data Center: 2,500 user Dimension Production Dimension Production Application Bitbucket Jira Load Balancer nginx nginx Node Size + Operating System 2x Nodes (VM) 8 core CPU 32GB RAM Red Hat Enterprise 7.3 2x Nodes (VM) 8 core CPU 32GB RAM Red Hat Enterpris e 7.3 Database PostgreSQL 9.4 MySQL 5.6 Shared Storage NFS 500GB NFS 2TB Application Load Balancer Node Size + Operating System Jira Netscaler Database MS SQL 2012 Shared Storage 3x Application Nodes (VM) 4CPU 16GB RAM 510GB Storage Red Hat Enterprise Linux 6 NFS 500GB
데이터센터구성예제 Bitbucket Data Center Bitbucket Data Center: 4,700 user Confluence Data Center Confluence Data Center: 4,200 user Dimension Production Dimension Production Application Bitbucket Data Center Application Confluence Data Center Load Balancer HAProxy Load Balancer A10 Networks Node Size + Operating System 5x Nodes (VM) 8 CPU 16GB RAM Ubuntu 14.04 Node Size + Operating System 3x Nodes (VM) 4 CPU 32 GB RAM 100 GB Storage CentOS 6.6 Database PostgreSQL 9.3 Database PostgreSQL 9.3 Shared Storage NFS 500GB Shared Storage NFS 1TB
데이터센터테스트 JIRA JIRA 데이터센터성능테스트 사용자수가증가함에따라전반적인성능이향상 부하가높을때클러스터로구성된 Jira Data Center 는전반적인성능향상 처리량과용량은노드가추가될때선형으로증가
데이터센터테스트 - JIRA JIRA 데이터센터테스트결과 JIRA 데이터센터구성과하드웨어 Apache load balancer Postgres 데이터베이스 특정테스트용노드와클러스터된 JIRA(1~4) 다중의컴퓨터에설치된 Chrome 브라우저 JIRA 데이터센터테스트데이터와실행기능 550 개의프로젝트 628 custom fields 450,000 issues 10,000 users Hardware Rackform iser v R304.v3 Arista DCS-70 50T-36-R HP ProCurve S witch Description CPU: 2 x 6-Core(Intel Xeon 2.0GHz) RAM: 48GB (6 x 8GB DDR3-1600) NIC: Dual Intel 82574L Gigabit Ethernet Controller: 8 Ports Fixed Drive: 240GB (SATA SSD) 4PORT 1810-48G 48 Port Operation Issue Browser Issue Creator Project Manager View Dashboard 55 10 15 View Issue 60 55 10 Browse Project 20 20 20 Issue Search 20 20 0 Edit Issue 2 5 2 Add Comment 2 2 5 Search All 10 10 10 Search Large 5 5 10 Search Small 5 5 10
데이터센터테스트 - JIRA Average for all actions Browsers Jira Server 2 node 4 node 6 100.00% 97.63% 99.41% 12 109.92% 99.55% 100.35% 18 137.32% 108.30% 107.79% 24 178.13% 122.64% 120.54% 36 259.39% 129.68% 113.31% 48 336.33% 157.54% 123.83% 60 447.72% 190.16% 125.77% 72 577.57% 223.79% 135.91% 84 590.47% 264.84% 147.04% 96 681.24% 313.20% 161.61% View Issue Browsers Jira Server 2 node 4 node 6 100.00% 101.22% 103.82% 12 107.11% 101.86% 103.44% 18 127.01% 109.92% 110.22% 24 155.76% 123.45% 122.76% 36 196.87% 126.12% 116.52% 48 242.91% 142.18% 123.71% 60 317.13% 159.44% 125.37% 72 411.03% 177.93% 130.27% 84 413.06% 201.73% 136.61% 96 496.37% 229.18% 144.99% 120 740.60% 277.99% 163.38% 144 796.60% 334.75% 184.49% Edit Issue Browsers Jira Server 2 node 4 node 6 100.00% 97.98% 100.27% 12 119.82% 108.28% 103.99% 18 156.21% 116.12% 113.90% 24 215.45% 133.92% 125.92% 36 330.24% 148.21% 119.67% 48 447.96% 188.60% 134.30% 60 607.33% 238.56% 143.38% 72 776.20% 286.16% 155.23% 84 818.90% 342.68% 173.00% 96 1063.00% 403.19% 194.96% 120 1598.56% 565.08% 244.13% 144 1688.77% 687.53% 293.61% 120 986.29% 394.29% 194.44% 144 1067.97% 483.54% 231.73
데이터센터테스트 Confluence Confluence 데이터센터성능테스트 성능향상 부하상태에서클러스터된 Confluence 의성능향상 노드를추가하여처리량증가및응답시간향상
데이터센터테스트 - Confluence Confluence 데이터센터구성과하드웨어 Apache load balancer Postgres database G1GC garbage collector 노드당 8GB Xmx 설정 노드당 6 CPUs 특정테스트을위하여 4 개의머신으로구성 Confluence 서버응답시간비교 Hardware Rackform is erv R304.v3 Arista DCS-7 050T-36-R HP ProCurve Switch Description CPU: 2 x 6-Core (Intel Xeon 2.0GHz) RAM: 48GB (6 x 8GB) NIC: Dual Intel 82574L Gigabit Ethernet Controller: 8 Ports PCIe 3.0 x16: Intel X540-T2 10GbE Dual-Port Fixed Drive: 240GB (SATA SSD) 4PORT 1810-48G 48 Port Web Managed Switch Browsers 16 24 36 48 60 72 84 96 Server 100.00% 125.28% 142.95% 222.76% 276.54% 334.79% 393.03% 451.28% 2 Node 93.79% 122.61% 123.50% 141.98% 168.47% 201.97% 235.47% 268.97% 4 Node 94.24% 122.22% 103.94% 123.47% 114.76% 134.61% 138.90% 160.95%
데이터센터테스트 Bitbucket Bitbucket 데이터센터성능테스트 향상된사용자관리 : 노드가클러스터에추가될때동시에더많은사용자에게서비스제공 Git 성능향상 : Git 호스팅작업은노드가클러스터에추가될때유용 요청을더빨리 ( 응답시간 ) 처리하지않지만부하가증가할경우응답속도를유지 전반적인성능향상 : 일반적인기능사용에대한성능에기여 서버성능, IO 대역폭, 사용가능한네트워크연결
데이터센터테스트 - Bitbucket Bitbucket 데이터센터구성과하드웨어 HAProxy/Apache mod_proxy Postgres 데이터베이스 Linux 기반 NFSv3 서버 Hardware Description Rackform iserv R304.v3 Arista DCS-7050 HP ProCurve Switch CPU: 2 x 6-Core (Intel Xeon E5-2430L, 2.0GHz) RAM: 48GB (6 x 8GB DDR3-1600) NIC: Dual Intel 82574L Gigabit Ethernet PCIe 3.0 x16: Intel X540-T2 10GBE Dual-Port Fixed Drive: 240GB (SATA SSD) 4PORT 1810-48G 48 Port Bitbucket 테스트기능 Git operations - clone, push, pull, fetch Authentication Bitbucket Usage profile 기능별사용량
데이터센터관리툴 For testing ( JIRA) Jira Data Generator 플러그인 테스트를위한랜덤데이터생성 projects, users, custom fields, workflows For monitoring performance JavaMelody plugin 플러그인 시간경과에따른성능모니터링 http/https 접근로그분석및모니터링 JIRA 로그분석 : Jira Access Log Analyzer For improving performance Garbage Collection (GC) Tuning 활용 Performance Testing 솔루션활용 ngrinder, Jmeter 는새로운테스팅스크립트지원안함 이름 타입 설명 기타 Gatling Open Source Software 잘관리된업데이트문서 포괄적인보고서 Scala 스크립트생성능력필요 (Scala DSL) Load Runner Paid Tool (Free to try) 자동스크립트생성 사용자정의보고서및개발자도구통합기능 사용자친화적이며코딩경험이적은사용자대상 가상사용자용무료버전 (50User)
데이터센터로컬테스트 Local Server 사양 CPU : 4 Memory : 8G HDD : 1T Cluster nodes : Apache 2.4.6 JIRA Software 7.7.2 Confluence 6.6.3 JIRA Load Balancer Manager Load Balancer Apache 2.4 Confluence Load Balancer Manager JIRA 1 JIRA 2 Confluence 1 Confluence 2 Database MySQL 5.7 File System NFS
감사합니다. 주식회사커브 T. 02-6245-5478 E. curvc@curvc.com