전통문화대전망 - 전통 미덕 - 데브옵스 개요
데브옵스 개요
현재 해외에서는 구글, 페이스북, 아마존, 링크드인, 넷플릭스, 에어비앤비 등 인터넷 거대 기업과 어도비, IBM, 마이크로소프트, SAP 등 전통 소프트웨어 기업이나 비핵심 기업이 많다. Apple, Walmart, Sony Pictures Entertainment, Starbucks 등 인터넷 비즈니스 기업은 모두 DevOps를 채택하거나 관련 지원 제품을 제공하고 있습니다. 그렇다면 DevOps란 정확히 무엇입니까?
DevOps라는 단어는 개발(Development)과 운영(Operations)의 조합에서 유래되었습니다. 이는 소프트웨어 개발자와 운영 및 유지 관리 담당자 간의 의사소통과 협력을 강조하고 자동화된 프로세스를 사용하여 소프트웨어 구축, 테스트 및 릴리스를 더 빠르게 만듭니다. 자주, 더 안정적으로.
DevOps 개념은 2009년 유럽에서 처음으로 뜨거워졌으며 전통적인 운영 및 유지 관리의 고통 속에서 탄생했습니다.
DevOps는 개발 측과 운영 및 유지 관리 측 간의 정보 격차를 메우고 팀 간의 협업 관계를 향상시키는 것입니다. 그러나 한 가지 명확히 해야 할 점은 개발부터 운영, 유지 관리까지 그 사이에 테스트 링크도 있다는 것입니다. DevOps는 실제로 개발, 테스트, 운영 및 유지 관리의 세 부분으로 구성됩니다.
즉, DevOps가 달성하고자 하는 것은 소프트웨어 제품 제공 프로세스에서 IT 도구 체인을 개방하여 각 팀이 시간 손실을 줄이고 보다 효율적으로 협력할 수 있도록 하는 것입니다. 전문가들은 다음 DevOps 기능 맵을 요약했습니다. 좋은 폐쇄 루프는 전체 결과를 크게 높일 수 있습니다.
위 내용을 보면 누구나 DevOps에 대해 어느 정도 이해하고 있다고 생각합니다. 그러나 DevOps는 문화적, 기술적 방법론으로서 도구 체인을 다루는 것 외에도 회사의 조직 문화에도 변화를 요구합니다. 소프트웨어 산업의 R&D 모델을 되돌아보면 폭포식 개발, 애자일 개발, DevOps라는 대략 세 가지 단계가 있음을 알 수 있습니다.
DevOps는 일찍이 9년 전에 제안되었는데, 지난 2년 동안 기업의 관심과 시간이 점점 더 많아지기 시작한 이유는 무엇일까요? DevOps 개발은 단일 트리로 달성할 수 없기 때문에 이제 기술 지원이 점점 더 많아지고 있습니다. 마이크로서비스 아키텍처와 컨테이너 기술의 개념은 DevOps 구현을 더 쉽게 만들어줍니다. 컴퓨팅 성능의 향상과 클라우드 환경의 발전은 빠르게 개발된 제품을 즉시 더 널리 사용할 수 있게 해줍니다.
오늘날의 세계는 과거와는 다른 속도로 변화하고 있으며, 파괴적인 기술 혁명을 경험할 때마다 빅데이터, 클라우드 컴퓨팅, 인공지능, VR / AR, 블록체인 등의 신기술이 세상을 계속해서 변화시키고 있습니다. 이러한 VUCA 시대에 환경이 변할 때 빠르게 대응하려면 어떻게 해야 할까요?
이 기사에서는 왕양명(王陽命) 성인의 명언을 인용했는데, 그는 '지행일일'을 주창했는데, 이는 일반인의 용어로 일을 할 때 이론과 실천을 결합하는 것을 의미한다. DevOps를 구현할 때 우리는 "이론과 실천을 결합하는" 방법도 따라야 합니다. 이론은 우리가 하는 일의 지도 이념이고, 실천은 일을 하는 구체적인 방법입니다. 다음으로 이론을 따르는 방법부터 시작하겠습니다. 회사에서 DevOps 구현을 촉진하기 위해 실습을 결합했습니다.
먼저 DevOps가 무엇인지 다시 살펴봐야 합니다. 잊어버린 경우 다시 돌아가서 제가 요약한 DevOps 공식을 포함하여 검토할 수 있습니다.
실제로 DevOps의 핵심 아이디어는 "신속하게 가치를 제공하고 변화에 유연하게 대응"하는 것입니다. 기본 원칙은 다음과 같습니다.
DevOps의 큰 이점은 효율적으로 제공할 수 있다는 것입니다. 이것이 바로 원래 의도입니다. DORA(Puppet and DevOps Research and Assessment)가 후원하는 2016년 DevOps 조사 보고서에서는 전 세계 다양한 IT 기업의 기술 인력 4,600명이 제출한 통계를 바탕으로 효율적인 기업은 연간 평균 1,460건의 배포를 완료할 수 있다는 결론을 내렸습니다. 비효율적인 조직에 비해 효율적인 조직은 200배 더 자주 배포하고, 2,555배 더 빠르게 제품을 서비스에 투입하며, 24배 더 빠르게 서비스를 복원합니다. 업무 내용에 대한 시간 배분 측면에서 비효율적인 사람들은 업무를 계획하거나 반복하는 데 22% 더 많은 시간을 소비하는 반면, 효율적인 사람들은 새로운 업무에 29% 더 많은 시간을 소비합니다. 따라서 여기서 효율성이란 기업의 산출물의 효율성이 향상되는 것뿐만 아니라 직원의 업무의 질이 향상되는 것을 의미하기도 한다.
DevOps의 또 다른 이점은 회사의 조직 문화를 개선하고 직원 참여를 높일 수 있다는 것입니다. 직원들은 더욱 효율적이고 만족스럽고 성취도가 높아졌습니다. 설문 조사에 따르면 효율적인 직원은 직원 순추천지수(eNPS: 직원 순추천지수)가 더 높은 것으로 나타났습니다. 이는 직원들이 회사에 대해 더 많은 인식을 갖고 있음을 의미합니다.
신속한 배포는 실제로 문제를 더 빨리 발견하는 데 도움이 되고, 제품은 사용자에게 더 빠르게 전달되며, 팀은 사용자로부터 더 빠르게 피드백을 받고 더 빠르게 대응할 수 있습니다. 더욱이 DevOps의 작은 단계로 인해 발생하는 변화는 상대적으로 작으며 매번 문제의 편차가 너무 크지 않고 상대적으로 수리하기 쉽습니다.
그러므로 속도가 위험을 의미한다고 생각하는 것은 편견입니다.
또한, 소프트웨어 서비스 출시가 지연된다고 해서 반드시 문제가 완전히 해결되는 것은 아닙니다. 점점 경쟁이 심화되는 IT 업계에서는 실제로 소프트웨어 출시 기회를 놓칠 수도 있습니다.
기술의 발전으로 DevOps에 대한 협력이 더욱 많아졌습니다. 초기에는 모두가 이 문제를 알고 있었지만, 당시에는 포괄적이고 풍부한 기술 도구가 부족하여 "이상은 충만하지만 현실은 매우 빈약한" 상황이었습니다. DevOps 구현은 새로운 컨테이너 기술을 기반으로 할 수 있습니다. 또한 자동화된 운영 및 유지 관리 도구인 Puppet, SaltStack 및 Ansible을 기반으로 확장할 수도 있습니다. Cloud Foundry 및 OpenShift와 같은 기존 PaaS 공급업체에서도 구축할 수 있습니다.
IT 산업은 시장의 경제 발전과 점점 더 긴밀하게 연결되어 있으며, 전문가들은 IT가 지원 센터에서 수익 중심 센터로 바뀔 것이라고 믿습니다. 실제로 이러한 변화는 구글, 애플 등 대기업뿐만 아니라 택시 사업의 우버, 호텔 체인 업계의 에어비앤비, 도서 유통업체 아마존 등 전통 산업에서도 이미 시작됐다. 회사의 IT 지원 솔루션이 적시에 시장 수요를 따라갈 수 있는지 여부는 오늘날 매우 중요합니다.
DevOps 2016 연례 보고서는 운영 및 유지 관리 비용에 대한 계산 공식을 제공합니다.
엔지니어의 경우 엔지니어도 DevOps의 수혜자입니다. Microsoft 수석 엔지니어인 Scott Hanselman은 "우리가 개발자로서 갖고 있는 가장 강력한 도구는 자동화입니다."라고 말했습니다. 도구 체인의 개방을 통해 개발자는 소프트웨어를 제공할 때 생산 환경의 구축, 테스트 및 실행을 완료할 수 있습니다. Amazon의 VP이자 CTO인 Werner Vogels는 "누가 실행을 개발하는지"라고 인상적으로 말했습니다. (빌드하고 실행합니다)
위에서 언급한 도구 체인이 열리면 당연히 도구를 준비해야 합니다. 도구 유형 및 해당 불완전 목록은 이제 다음과 같이 구성됩니다.
도구 선택은 회사의 비즈니스 요구 사항과 기술 팀의 상황에 따라 이루어져야 합니다. (참고: 도구에 대한 자세한 소개는 #DevOps 엔지니어를 위한 51가지 최고의 DevOps 도구 문서를 참조하세요.)
DevOps의 성공 여부, 회사 조직이 협업에 도움이 되는지 여부가 핵심입니다. 개발자와 운영직원이 원활하게 소통하고 서로 배울 수 있어 생산성이 높아집니다. 그리고 비즈니스맨과 개발자 사이에도 협업이 존재합니다. ITV는 2012년부터 DevOps를 구현하기 시작했습니다. 일반 플랫폼 이사인 Clark은 2016년 London Enterprise DevOps Summit에서 InfoQ와 인터뷰를 했습니다. 그는 성공에 대해 이야기하면서 사업가들이 최소 실행 가능 범위에서 달성하고자 하는 것이 무엇인지 매우 명확하다고 말했습니다. 무엇이든 엔지니어는 추가 작업을 하지 않고도 요청에 따라 제품을 제공합니다. 이러한 방식으로 엔지니어는 공통 플랫폼(즉, 공통 도구 체인)을 사용하여 더 나은 일관성과 더 높은 품질을 달성합니다. 또한 DevOps에서는 엔지니어 개인에 대한 요구 사항도 높아졌으며, 우수한 인재를 채용하는 것도 도전 과제라고 많은 전문가들이 생각하고 있습니다.
특히 대기업 사이에서 DevOps가 성장하고 있습니다. 설문 조사에 따르면 DevOps에 대한 수용도가 크게 높아졌습니다. 응답자의 74%가 DevOps를 채택했는데, 이는 작년의 66%와 비교됩니다. 현재 대기업의 81%가 DevOps를 수용하기 시작한 반면, 중소기업의 수용률은 70%에 불과합니다.
그렇다면 구체적으로 어떤 회사가 DevOps를 채택하고 있습니까? Adobe, Amazon, Apple, Airbnb, Ebay, Etsy, Facebook, LinkedIn, Netflix, NASA, Starbucks, Target, Walmart, Sony 등.
첫째, 대기업은 이미 DevOps를 구현하고 있는 사업부 또는 부서(31%)와 프로젝트 및 팀(29%)을 포함하여 상향식으로 DevOps를 수용하고 있습니다. 그러나 대기업의 21%만이 전사적으로 DevOps를 채택했습니다.
둘째, 도구 수준에서 DevOps 도구의 사용이 크게 증가했습니다. Chef와 Puppet은 여전히 가장 일반적으로 사용되는 DevOps 도구로, 사용률은 각각 32%입니다. Docker는 연간 성장률이 가장 빠른 도구로 사용량이 두 배 이상 증가했습니다. Ansible 사용량도 크게 증가하여 사용량이 10%에서 20%로 두 배 증가했습니다.
또한 설문 조사에 따르면 Chef, Puppet, Ansible 또는 Salt와 같은 구성 도구를 사용하는 회사는 절반 미만(43%)입니다. 그러나 구성 도구를 사용하는 회사는 여러 도구를 사용할 가능성이 더 높습니다. 동시. 응답자의 25%는 두 개 이상의 구성 도구를 사용하고, 18%는 하나만 사용합니다.
그중 Chef와 Puppet이 가장 일반적으로 사용되는 조합입니다. Chef를 사용하는 조직의 67%가 Puppet도 사용하고, 마찬가지로 Puppet을 사용하는 조직의 67%도 Chef를 사용합니다.
/s/WDS5NO3AcWxpwyIJKWlOEA