소프트웨어 개발자가 애용하는 운영체제 리눅스! 말로만 듣던 리눅스를, 저도 한번 경험해보기로 하였습니다.

전 노트북이 한 대이고 여분의 컴퓨터가 없기 때문에, 우분투 가상머신을 이용하였습니다. 앞으로 간간히 사용해본 후기(리눅스에서 사용한 프로그램들의 소개)를 하나씩 올릴 예정입니다 :> 

-      깃이란?

깃은 소스포트를 더욱 쉽게 관리하기 위한 분산 버전 관리 시스템이다. 코드의 변경 내역들을 모두 기록하고, 추적 가능하기 때문에 개발 환경을 구성한다면 1 순위로 설치해야할 것이라 생각해 가장 먼저 설치하게 되었다.

 

-      프로그램 설치

1.     sudo apt-get install git 명령어를 입력해 패키지 리스트를 업데이트 했다.

 

2.     sudo apt install git 명령어를 입력해 깃을 설치한다. Git –version 명령어를 입력해 설치 및 버전을 확인한다. (2. 7. 4 버전)

 

3.     git config –global user.name (이름)

git config –global user.mail(메일주소) 를 입력하여, 깃에 push 했을때 올라갈 내 정보를 입력해준다.

 

4.     git clone (url) 을 입력하면 원하는 프로젝트를 깃으로부터 내려받을 수 있다. Git-test 파일을 내려받아 보았다.

5.     우분투의 home 에 들어가보니, 다운 받은 git_test 파일이 있는 것을 확인할 있었다. 

6.     로컬 컴퓨터에 있는 파일 깃에 등록하기

불러오는 것을 해보았으니 이번엔 내 파일을 깃에 등록해보려 한다. 원하는 파일에 들어가, 오른쪽 마우스를 클릭하면 터미널을 열수있다.

Sudo nano test.txt 를 입력하면 메모를 입력할 수 있고, 확인하면 파일이 생긴다.

 

예전에 한번 라즈베리 파이를 다뤄본 적이 있어서 익숙했다.

이제 이 파일을

Sudo git remote add origin (주소)

Sudo git fetch origin

Sudo git add -A

Sudo git commit -m “메시지

 

Sudo git push 를 입력해 저장소와 연결해주면 된다.

 

-      후기

앞으로는 깃을 통해 내 컴퓨터(리눅스)에서 저장소를 만들어 버전 관리를 할 수 있을 것 같다. 언제 어디서든 내 프로젝트에 접근할 수 있다는 것이 큰 장점같다.

중간까지는 영어로 쓰다, 편의를 위해 한글로 언어설정을 바꿔주었다.

관심 있는 데이터 사이언스 분야 중, 데이터 센터 프로그래밍에 적합한 OS 를 알아보았다.

먼저 데이터 센터에 대한 내용, 운영체제에 대한 내용 등의 기본적인 내용을 다뤄보겠다.

데이터 센터란?

현대의 기업은 통신, 정보 저장, 회계, 일상적인 업무 등 비즈니스 운영의 거의 모든 측면에 컴퓨터를 사용합니다데이터 센터는 기업 컴퓨터, 네트워크, 스토리지, 그리고 비즈니스 운영을 지원하는 기타 IT 장비가 위치하는 중앙집중식 물리적 시설입니다. 데이터 센터 내 컴퓨터는 비즈니스 크리티컬 애플리케이션, 서비스, 데이터를 포함하거나 지원합니다.

운영체제 (OS) 란 무엇일까 ?
 Operating System

 
운영체제 (OS)라고 하면 우린 흔히 MS의 윈도우(Windows)와 같은 걸 떠올릴 수 있을 텐데요. 좀 더 상세하게 알아보자면,   하드웨어와 직접적으로 연관되어 시스템 하드웨어를 관리하고 드라이버와 같은 응용 소프트웨어를 실행하는 등 사용자가 컴퓨터를 쉽게 다룰 수 있도록 해주는 시스템 소프트웨어 입니다.

 
최근에는 가상화 기술 발전으로 인해 실제 하드웨어가 아니라 하이퍼바이저라고 하는 가상화 머신 모니터에 설치되기도 하죠. 좀 더 큰 의미로 보자면 하드웨어, 소프트웨어 둘 모두를 아우르는 소프트웨어 전체라고도 말할 수 있는데요. PC용 윈도우(Windows)뿐만 아니라 전원이 켜지면 사용자의 명령에 따라 동작하는 모든 것들을 관리하는 것 역시  운영체제 (OS)라고 할 수 있으며 따라서 그 종류는 어마어마하게 많습니다.


데이터 센터의 규모는 캐비넷, 전용 룸, 창고 크기 등으로 다양합니다. 데이터 센터에 많은 IT 장비를 보유한 기업인 경우에는 2개 이상의 데이터 센터 시설이 필요할 수 있습니다. 또한 서버 공간을 임대하거나 외부에 데이터 센터 유지 보수를 맡길 수도 있습니다


데이터 센터는 운영 또는 저장 규모를 늘리기 위해 프라이빗 또는 퍼블릭 클라우드를 사용하여 물리적 시설 외부로까지 확장될 수 있습니다. 가상화된 데이터 센터는 보다 큰 규모의 워크로드 실행에 필요한 경우 원격 지점에 위치한 서버를 사용할 수 있습니다.

최신 데이터 센터의 요구 사항

데이터 센터에는 고가의 IT 장비가 있기 때문에 보안 및 전력에 대한 특별한 요구 사항을 충족해야 합니다.

충분한 양의 안정적인 전력데이터 센터 내 장비에는 즉시 사용 가능한 예비 전력을 통해 중단에 대비할 수 있는 전원을 통한 대량의 전력이 필요한 경우가 많습니다. 가상화된 데이터 센터 또는 Software-Defined Data Center는 기존의 데이터 센터에 비해 효율성이 높고 필요 전력이 훨씬 낮습니다.

냉각 환경데이터 센터 내 모든 전원과 장비는 많은 열을 발산하기 때문에 데이터 센터에는 최적의 작동을 위해 냉각 장비가 필요한 경우가 많습니다. 습기로 인해 컴퓨터가 손상될 수 있기 때문에 화재로부터 데이터 센터 내 장비를 보호하기 위해 스프링클러를 사용할 수는 없습니다. 대신, 데이터 센터는 전자 장비에 대한 손상 없이 불을 끄는 화학적인 방화 시스템을 사용할 수 있습니다.

물리적 및 가상 보안 조치데이터 센터는 비즈니스 크리티컬 애플리케이션과 정보를 보유하고 있기 때문에 보안은 모든 데이터 센터에서 중요한 요소입니다. 민감한 고객 또는 회사 데이터가 노출되는 침해가 발생하는 경우 수십만 달러의 비용이 발생할 수 있으며, 최악의 경우 회사의 브랜드와 비즈니스에 피해가 발생할 수 있습니다. 데이터 센터의 보안을 유지하고 비즈니스가 데이터 침해에 취약하지 않도록 하려면 물리적인 보안 조치와 가상 보안 조치가 모두 필요합니다. 데이터 센터는 잠금 장치, 비디오 감시, 액세스 제한 등의 물리적인 보안 조치를 통해 도난을 방지해야 합니다. 네트워크 및 애플리케이션 보안 소프트웨어는 필수적인 가상 보안 조치를 제공할 수 있습니다.

계층형 데이터 센터

데이터 센터에는 다양한 수준의 보안, 지연 시간, 복원력이 존재할 수 있으며, 이러한 수준을 가리켜 계층이라고 합니다. 계층형 데이터 센터는 계층형 데이터 스토리지가 가능하여 사용자가 가장 자주 액세스하거나 고성능을 요하는 애플리케이션의 파일과 데이터가 하나의 계층에 위치하고 액세스가 비교적 자주 발생하지 않는 데이터는 다른 계층에 위치할 수 있습니다. 퍼블릭 클라우드에 기반을 둔 서비스로서의 스토리지(Storage-as-a-Service) 모델에서는 일반적으로 지연 시간이 짧은 계층이 지연 시간이 긴 계층보다 가격이 높습니다.


일반적으로 지연 시간이 가장 짧고 액세스가 가장 빠른 계층이 사용자와의 거리가 가장 가깝기 때문에 사용자가 매일 손쉽게 상호작용할 수 있습니다. 가장 빠른 계층을 가리켜 티어 제로(Tier Zero)라고 합니다. 빅데이터 분석을 위해 고성능 컴퓨팅을 사용하는 금융 서비스나 의학 연구와 같은 비즈니스에서 티어 제로 스토리지를 사용하는 경우가 많습니다. 이보다 스토리지 성능이 낮은 계층은 주요 계층의 백업이나 액세스 빈도가 상대적으로 낮은 데이터 스토리지로 사용할 수 있습니다. 보관된 데이터는 지연 시간이 길어도 그다지 문제가 되지 않는 가장 낮고 비용이 가장 적게 드는 스토리지 계층에 위치할 수 있습니다.

 

데이터 센터의 가상화

물리적인 데이터 센터는 공간이 제약되어 있고 하드웨어와 장비에 의존한다는 점에서 한계가 있습니다. 이제 서버를 가상화하여 가상 머신에서 처리 성능과 메모리를 하드웨어로부터 분리할 수 있습니다. 데이터 센터 가상화를 통해 시스템 관리자는 원격 서버를 사용하여 가상 데이터 센터 인프라를 구축함으로써 워크로드와 스토리지를 공유할 수 있습니다. 가상 데이터 센터는 기존의 물리적인 데이터 센터에 비해 더 적은 장비, 전력, 공간이 필요합니다. 또한 가상 데이터 센터는 더 많은 스토리지나 처리 리소스가 필요한 경우 퍼블릭 또는 프라이빗 클라우드에 액세스 또는 "버스팅(burst)"할 수 있습니다. 가상 데이터 센터가 제공하는 네트워킹과 스토리지 등 모든 서비스는 하드웨어가 아닌 소프트웨어를 통해 제공되기 때문에 가상 데이터 센터를 Software-Defined Data Center라고도 합니다.

 

클라우드 서비스 공급업체는 가상화된 데이터 센터를 서비스로 제공할 수 있어 회사의 핵심적인 운영, 네트워킹, 스토리지의 관리와 제공을 담당합니다. 이러한 공급업체는 여러 회사 간에 가상 네트워크, 스토리지, 서버를 공유하여 필요에 따라 서버 간에 스토리지 공간과 워크로드 처리를 이동합니다. 또한 조직은 자체 인프라의 일부를 사용하여 이러한 작업을 위한 프라이빗 클라우드를 구축하거나 프라이빗과 퍼블릭 클라우드의 조합, 즉 하이브리드 클라우드 환경을 사용할 수 있습니다. 가상 데이터 센터는 기존의 물리적인 데이터 센터와 공존하여 동시에 실행될 수 있으며, 혹은 기업에서 현대적인 데이터 센터 장비를 사용하여 완전한 가상 데이터 센터를 운영할 수 있습니다하이퍼 컨버지드 인프라(HCI)는 컴퓨팅, 스토리지, 네트워킹 장비를 가상화 소프트웨어와 통합하고 최적화하여 이를 단일 시스템으로 운영합니다. HCI를 사용하면 데이터 센터의 모든 기능이 하드웨어와 긴밀히 통합된 소프트웨어에서 실행됩니다. 이러한 소프트웨어 기반 방식을 통해, 이전에는 서버 하드웨어를 수동으로 조정해야 했던 스토리지 작업과 운영을 자동화할 수 있습니다.

 

데이터 센터 프로그래밍의 최신 운영체제 조사

1. 노키아 NOS, SR리눅스(Service Router Linux), FSP(Fabric Service Platform)

 노키아는 데이터센터 패브릭을 재정의할 새로운 최신 네트워크 운영 체제(NOS)를 비롯해, 선언형 인텐트 기반 자동화(intent-based automation) 및 운영 툴킷을 새롭게 선보였다.

 
이를 통해 클라우드 및 데이터센터 구축 사업자들은 5G, 인더스트리 4.0과 같은 기술 전환(technology shift)으로 인하여 매년 기하급수적으로 증가하는 트래픽 증가와 지속적인 변화에 있어, 보다 효율적으로 운영을 확장하고 조정할 수 있을 것으로 기대된다.

 
이번에 새롭게 발표된 노키아의 SR 리눅스(Service Router Linux) NOS와 노키아 FSP(Fabric Service Platform)는 이미 자사의 데이터센터에 해당 기술을 구축 중인 애플을 비롯해 전세계의 선도적인 웹스케일 기업들과 함께 공동 개발했다.

 
노키아에 따르면, 클라우드 기반 애플리케이션에 대한 수요는 물론, AI, 머신러닝, AR/VR과 같은 새로운 기술의 급격한 이용 증가로 인해, 오늘날 클라우드 구축 사업자들은 네트워크 구성요소부터 광범위한 데이터센터 운영 과 모니터링에 이르기까지 전례 없는 수준의 커스터마이징과 유연성을 필요로 하고 있다.

 
노키아 SR 리눅스는 최초의 최신 마이크로서비스 기반 NOS, 진정한 아키텍처의 진일보를 보여준다. SR 리눅스 NDK(NetOps Development Kit)는 완벽하고 풍부한 프로그래밍 기능을 제공하고 있다. 애플리케이션은 다시 컴파일링하거나 언어의 제한 및 종속 없이도 gRPC(Remote Procedure Call)나 프로토콜 버퍼(protobuf)와 같은 최신 툴을 통해 손쉽게 통합된다. SR리눅스는 노키아의 캐리어급 라우터로 구축된 대규모 사이트를 나타내는 트레이드마크인 SROS(Service Router Operating System)로부터 노키아의 검증된 인터넷 프로토콜을 계승한다. SR 리눅스는 업계 최초의 유연하고 개방적인 네트워크 애플리케이션 개발 환경을 지원한다.

 
노키아 FSP는 클라우드 구축 사업자들이 네트워크의 인텐트 및 정책 기반 운영을 구현하는 데 필요한 일련의 툴을 제공한다. FSP는 노드 중심의 관리 시스템 외에, 강력한 네트워크 레벨 구성을 통해 전체 데이터센터 네트워크 구축에서부터 배치 및 모니터링까지 구현할 수 있도록 설계됐다. 게다가, FSP에는 유효성 검사 및 문제 해결을 위한 실시간 상태수정 가상 디지털 트윈(digital twin)과 같이 대형 클라우드 구축 사업자들만 사용 가능한 기술이 포함된다.

 
이 통합 솔루션은 개방성, 유연성, 견고성, 자동화 기능을 제공함으로써, 데이터센터 및 클라우드 환경을 보다 쉽게 확장, 적용 및 운영할 수 있도록 지원한다.

 
바질 알완(Basil Alwan) 노키아 IP 및 옵티컬 네트웍스 총괄은수십년 동안 전 세계 통신사업자들에게 서비스를 제공해 오면서, 우리는 비즈니스 및 미션 크리티컬 IP 네트워크를 전 세계적으로 구축하고, 운영해야 하는 엔지니어링 문제들에 대해 공감할 수 있게 됐다. 그러나 오늘날의 대규모 데이터센터에는 그들 나름대로의 고유한 운영상의 문제들이 있다. 이러한 상황에서 SR 리눅스 프로젝트는 애플 및 다른 기업들과의 파트너십을 토대로아무 것도 없는 깨끗한 상태(clean-sheet)’에서 다시 시작하는 생각의 전환이었다. 그 결과 우리는 매우 깊이 있는 디자인을 도출할 수 있었고, 결국 미래를 위해 필요한 균형을 얻을 수 있게 되었다고 말했다.

2. 알파인 리눅스

대규모의 데이터 분석을 위해서는 슈퍼컴퓨터가 필요하고, 서버를 운영하다보면 성능이 좋은 서버로 교체하거나 서버에 필요한 항목을 추가하는 등의 작업을 겪는다. 이 때 아무리 서버 운영에 능숙한 사람이라도 잘못 건드리면 되돌릴 수 없는 상황이 발생한다. 이러한 문제를 방지하기 위해 컨테이너 기반의 오픈 소스 가상화 플랫폼인 Docker 라는 도구를 사용한다. Docker를 활용하면 각 소프트웨어 요소들이 설치된 형태를 이미지화해서 저장할 수 있다. 이미지화된 항목이 연걸되어 동작하도록 문서 형태로도 보관이 가능하다. 필요한 사항에 대해 설치만 하면 되므로 수월한 작업이 가능해진다.

 Docker는 컨테이너라는 독립적인 가상 공간을 만들어 설치하는데, VirtualBox와 같은 가상 컴퓨터와는 다르다. 가상 컴퓨터의 가상 OS Host OS의 공간 일부를 직접적으로 사용하기에 물리적 메모리의 한계가 있지만, Docker Docker엔진 위에서 각각의 컨테이너가 독립적으로 실행하도록 이루어진다. 그렇기에 가상 컴퓨터에 비해 가볍고 빠른 실행이 가능하다. 이러한 Docker 기술로 인해 개발 환경이 많이 개선되었으며, 현재 480  여 종의 모든 리눅스 배포판에서 작동하며 그 중에서도 Docker 실행에 특화된 배포판이 별도로 존재한다. 그 대표적인 Linux 운영체재가 바로 알파인 리눅스 다.

Alpine Linux Linux Router Project Leaf의 프로젝트 포크로 시작되었다. 당시 Leaf는 단일 ㅍ,ㄹ로피 디스크안에 들어갈 수 있는 리눅스를 만드는 것을 목표로 했다. 그런데 알파인 리눅스는 웹 서버의 속도를 높이고 트래픽을 걸러서 안정성을 높이기 위핸 Squid 등의 패키지를 추가하거나 보안을 높이는 것에 관심이 있었다. 그렇게 알파인 리눅스의 초판이 205년에 출시되었고, 이 역시 오픈소스로서 Gitlab이나 공식 홈페이지를 통해 코드를 공개하고 있다.

 알파인 리눅스의 철학은 3 가지다. Small, Simple, Secure. 풀어서 설명하면 보안 지향적이며, musl libc busybox를 기반으로 하는 경량의 리눅스 배포판이라는 것. 여기서 musl libc MIT에서 출시한 리눅스 기반으로, 보안에 중점을 두고 적은 공간으로 작성된 C 표준 라이브러리다. BusyBox는 서버 운영을 위해 필요한 패키지를 담은 것인데, 모든 명령을 단일 실행파일에 담아 극단적인 경량으로 제작되어 효율성이 높다.

(기본 C runtime glibc 대신 musl libc 사용, 다양한 쉘 명령어는 GNU util 대신 busybox 사용)

실제로 Docker의 기본 이미지 크기가 우분투가 188MB를 차지하는 반면, 알파인은 5MB를 차지한다. 이는 Embedded나 네트웍 서버 등 특정 용도에 적합하다. 알파인 리눅스의 이미지 용량의 효율만 타 리눅스 배포판에 비해 30배 이상 뛰어나다. 보안만 확실 하다면 알파인 리눅스를 통해 Docker를 활용하지 않을 수 없는 것이다. 강화 된 커널을 사용하고 모든 사용자 공간 바이너리 를 스택 스매싱 보호 기능을 갖춘 위치 독립적 실행 파일로 컴파일로 컴파일 한다.

 


+
추가적인 정보 (기본적인 내용)

정보 기술(IT) 인프라는 엔터프라이즈 IT 환경을 운영하고 관리하는 데 필요한 구성 요소입니다. IT 인프라는 클라우드 컴퓨팅 시스템이나 조직의 자체 시설 내부에 배포할 수 있습니다.

이러한 구성 요소에는 하드웨어, 소프트웨어, 네트워킹 구성 요소, 운영 체제(OS), 데이터 스토리지가 있으며 모두 IT 서비스 및 솔루션을 제공하는 데 사용됩니다. IT 인프라 제품은 소프트웨어 정의 스토리지처럼 기존 IT 리소스를 기반으로 실행되는 다운로드 가능한 소프트웨어 애플리케이션이나서비스로서의 인프라(Infrastructure-as-a-Service, IaaS)처럼 서비스 공급업체가 제공하는 온라인 솔루션의 형태로 사용 가능합니다.

하드웨어

하드웨어에는 서버, 데이터센터, 개인용 컴퓨터, 라우터, 스위치, 기타 장비가 포함됩니다.

데이터센터를 보관하고, 냉각하고, 동력을 공급하는 시설 또한 인프라로 간주됩니다.

소프트웨어

소프트웨어란 웹 서버, 콘텐츠 관리 시스템Linux®와 같은 OS 등 기업에서 사용하는 애플리케이션을 의미합니다. OS는 시스템 리소스 및 하드웨어를 관리하며, 애플리케이션과 하드웨어 사이에서 모든 소프트웨어와 작업을 수행하는 물리적 리소스를 연결합니다.

네트워킹

상호 연결된 네트워크 구성 요소는 네트워크 운영, 관리, 내부 및 외부 시스템 간 커뮤니케이션을 지원합니다. 네트워크는 인터넷 연결, 네트워크 활성화, 방화벽 및 보안을 비롯해 라우터, 스위치, 케이블 같은 하드웨어로 구성됩니다.

전통적인 인프라

전통적인 인프라의 경우 데이터센터, 데이터 스토리지를 비롯한 구성 요소는 모두 기업의 자체 시설에서 소유하고 관리해야 합니다. 전통적인 인프라는 실행하는 데 비용이 많이 들고 서버와 같은 하드웨어, 전력 및 물리적 공간이 대량으로 필요하다고 생각되는 경우가 많습니다.

클라우드 인프라

클라우드 인프라는 클라우드 컴퓨팅에 필요한 구성 요소와 리소스를 뜻합니다. 전용 리소스를 사용해 프라이빗 클라우드를 자체적으로 구축하거나 AlibabaAmazonGoogleIBMMicrosoft  클라우드 제공업체의 클라우드 인프라를 대여해 퍼블릭 클라우드를 사용할 수도 있습니다. 또는 멀티클라우드 전반에 대해 특정 수준의 워크로드 이식성, 오케스트레이션, 관리 기능을 통합하여 하이브리드 클라우드를 구축할 수도 있습니다.

하이퍼컨버지드 인프라

하이퍼컨버지드 인프라를 사용하면 단일 인터페이스에서 컴퓨팅, 네트워크, 데이터 스토리지 리소스를 관리할 수 있습니다. 소프트웨어 정의 컴퓨팅 및 데이터 스토리지가 번들로 제공되므로, 업계 표준 하드웨어에서 확장 가능한 아키텍처로 보다 현대적인 워크로드를 지원할 수 있습니다.

IT 인프라 관리

IT 인프라 관리는 IT 리소스, 시스템, 플랫폼, 인력, 환경을 제어하는 것입니다. 다음은 일반적인 기술 인프라 관리 유형입니다.

OS 관리콘텐츠, 패치, 프로비저닝, 서브스크립션 관리를 제공하여 동일한 OS를 실행하는 환경을 관리합니다.

클라우드 관리: 클라우드 관리자는 리소스 배포, 사용, 통합, 재해 복구를 관리하여 최종 사용자, 데이터, 애플리케이션, 서비스 등 클라우드에서 실행되는 모든 항목을 제어할 수 있습니다.

가상화 관리: 가상 환경과 그 기반이 되는 물리 하드웨어를 인터페이스로 연결해 리소스 관리를 단순화하고, 데이터 분석을 강화하며, 운영을 간소화합니다.

IT 운영 관리: 비즈니스 프로세스 관리라고도 알려져 있으며 종종 반복되거나, 진행 중이거나, 예측 가능한 비즈니스 프로세스를 모델링하고, 분석하고, 최적화하는 방식입니다.

IT 자동화: 직원이 IT 시스템과의 상호 작용을 대체하거나 줄일 수 있도록 반복 가능한 지침과 프로세스를 만듭니다. 인프라 자동화라고도 알려져 있습니다.

컨테이너 오케스트레이션컨테이너의 배포, 관리, 확장, 네트워킹을 자동화합니다.

설정 관리: 컴퓨터 시스템, 서버, 소프트웨어를 적합한 상태로 일관되게 유지관리합니다.

API 관리: 엔터프라이즈 및 클라우드 전반에서 애플리케이션과 데이터를 연결하는 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API)를 배포, 제어 및 분석합니다.

리스크 관리: 리스크를 식별하고 평가하며, 해당 리스크와 그 잠재적인 영향을 최소화하거나 제어하기 위한 계획을 세웁니다.

Agile, Scrum, DevOps 기법에 대해 다시한번 내용 정리를 할 필요성을 느껴 전반적인 내용을 정리해보았다.

본 글의 구성은 다음과 같다.

-      Agile Development Background

-      What is Agile?

-      What is Scrum?

-      Scrum Overview

-      Scrum Tools

-      Agile / Scrum case study <Fail>

-      Agile shortcomings [ In business ]

-      Agile shortcomings [ In Team project ]

-      Agile / Scrum case study <Success>

-      Supporting open source software.

-      What is DevOps?

-      DevOps tools

Agile Development Background

Agile 등장 이전, 기존의 Waterfall 방식은 1~2년에 걸쳐 각 팀에 요구사항이 나뉘어져 있고 폭포처럼 위-> 아래로 흐르며 진행되는 개발론인데, 이는 시작전 많은 고민을 통해 뒷 단계를 수월히 하고 문서 작성을 통해 일을 명확하게 규정하여 문제를 최소화 하는 것을 목표로 했다. 그러나 앞선 과정에서 후에 발생할 모든 일을 고민하는 것은 사실상 불가능하며, 소프트웨어 개발보다도 문서를 작성해두는 것에 집중하여 정작 소프트웨어를 놓치는 경우가 있었다. , 앞선 시기에 발생된 요구사항이 개발이 완료된 단계에서도 요구가 되는지에 대한 문제, 즉 사용자의 니즈에 따라 유동적으로 변화할 수 없는 문제가 있었다. Service 중심 세상에는 waterfall 방식이 부적합하다고 판단되었고, 이에 무한 경쟁과 함께 빠르게 변화하는 세상에 맞는 방법론이 필요하게 되었다.

 

What is Agile?

Agile의 사전적 정의는 날렵한’, ‘민첩한등 이며, 2001애자일 소프트웨어 개발 선언에 의해공식적으로 명명되었다. 이는 스크럼, 칸반 등을 포함하는 소프트웨어 개발 방법론으로, 소프트웨어 개발에 대한 진지한 토론이 담긴 대 헌장이라고 할 수 있다. 미래에도 의미있는 SW를 만들자는 의미를 가진 선언은 크게 4 가지로 말할 수 있다.

-      공정과 도구보다 개인의 상호작용을

-      포괄적인 문서보다 작동하는 소프트웨어를

-      계약 협상보다 고객과의 협력을

-      계획을 따르기보다 변화에 대응하기를

 

, 고객만족을 위해 더 짧은 개발 주기를 요구하며 이를 위해 현업과 개발자 등, 업무 담당자간의 실용적인 의사소통이 필수적이라는 것. ‘형식보다는 실용을 추구한다고 볼 수 있다.

 

Agile 방법론에 조금 더 구체적인 원리는 다음과 같이 제시될 수 있다.

1.     상사의 만족이 아닌, 실 사용자와 고객을 만족시키자.

2.     요구의 변화를 환영하자

3.     SW를 주기적으로 내보내자.

4.     비즈니스 사람들과 대화를 서슴지 말자. Model을 이해해야한다.

5.     믿을 수 있고 자기동기적인 팀원과 팀을 이루며 그들을 믿어라

6.     원격으로라도 face to face 대화(음성&화상)를 하자.

7.     문서가 아닌 실제 결과물을 보여줘라

8.     지금과 미래에 지속가능한 SW를 만들자

9.     자가발전, 대등한 파트너쉽, 새로운 학습을 위해 주기적으로 행하는 습관을 기르자

10.  가장 중요한 것을 중심으로 단순화하자

11.  팀을 짤 때 필요한 사람을 고민하자

12.  주기적으로 과정을 재검토하자.

 

Agile이 생각하는 이상적인 개발자는

-      Self motivated, Self learning, Self devotion

한 사람이라고 할 수 있다. 자가발전, 자가학습을 통해 공동 목표에 기여할 수 있는 사람..

그리고 혼자 하는 것이 아니라 팀원과의 토론을 통해 파트너로 함께 협력하는 사람이다.

 

What is Scrum?

Scrum 의 사전적 의미는 럭비에서 반칙이 있을 때, 양편 선수가 밀집하여 서로 팔을 꼭 끼고뭉치는 일, 그 사이로 굴려넣은 공을 자기편 쪽으로 빼냄이다.  이렇게 럭비팀에서 쓰던 용어를 소프트웨어 개발 프로세스에 사용한다는 것은, ‘이라는 단어가 주는 의미를 개발 팀에 적용해 효율적인 성과를 위함이다. ScrumAgile 방법론 중 하나로, 소프트웨어 개발 ㅍ로젝트를 위해 고안되었지만 팀의 개선과 프로젝트 관리를 위해서도 사용되는 경험 관리 기법이다. 간단히 말하면 3~9명의 팀을 구성하여 커뮤니케이션 하며 일어서서 하루에 15분 정도 매일매일 토론하고 2~4주단위마다 sw 보고를 하는 과정을 통해 30일간 제품 릴리즈(Sprint)를 점진적으로 수행하자는 것.

Scrum의 구성원은 다음과 같다.

-      Product Owner

제품 책임자는 제품의 가치와 팀의 결과물을 최상으로 만들 책임을 가지며, 제품 백로그 관리를 담당하는 유일한 사람이다. 주요 업무로는 명확한 요구사항에 대한 이해를 바탕으로 테스트 대상, 범위 및 테스트 목표설정, 리스크를 고려한 테스트 우선순위 및 아젠다 설정, 매 스프린트마다 테스트 우선순위 수정 결정, 작업 결과의 승인여부 결정

-      Scrum Master

리더이자 조력자이며 사람들이 스크럼을 제대로 이행하고 수행하고 있는지에 대한 책임을 가진 사람이다. 주요 업무로는 목표 달성 방법에 대한 조언, 여러 사람과 조직이 서로 잘 협력하도록 도우며 장애를 제거, 스프린트 목표와 관계없는 추가적인 작업 과 같은 외부 간간섭으부터 팀 보호, 일일 스크럼 미팅/스프린트 계획 미팅/리뷰 등의 프로세스 준수 관리, 생산성 함양 책임

-      Scrum Team

매 스프린트에서 완료된 기능을 지속적으로 추가하여 잠재적으로 출시 가능한 제품을 배포할 수 있는 전문가들로 5~9명으로 구성된 팀. 주요 업무로는 정의된 테스트 목표를 달성하기 위한 업무 결정, 스프린트 작업 결과를 제품 책임자와리뷰, 기술적/사업적 테스트 역량 확보, 매 스프린트마다 의미있는 결함을 발견하고 제거되도록 관리

 

Scrum Overview

1.     Product backlog : 프로그램이 가져야하는 전략적 기능/모든 요구사항정리(목록) 완료 기준 명확해야함.(내용, 가용성, 우선순위화) <Product owner>

2.     Sprint Planning Meeting : 서비스, 기능 우선순위 중심으로 항목을 나눔. 제일 중요한 항목을 첫 Sprint로 지정. *1개월

3.     스프린트를 기준으로 평균 2~4시간, 최대 8시간의타임 박스 운영.. version 하나씩.. <Team>

4.     Sprint backlog : 스프린트를 위해 선택된 제품 백로그 항목들의 집합. 목표를 실현하기 위한 계획서. 해당 Sprint에서 해야할 작업만 정리, 매일 남은 작업량을 스크럼 미팅을 통해 업데이트. 우선순위별로 정리

5.     Sprint 1~4 Weaks : 짧은 시간동안 제품/서비스 개발을 지속적으로 개선하며 피드백을 받아 고쳐나감. <Scrum Master>

6.     Daily Scrum : 어제의 과업이 완수됐는지 확인, 다음 업무 재분담, 장애물 있는지 확인. 보통 15분 이내로 진행.

l  번다운 차트

스프린트 기간 동안 개발된 스프린트 백로그 비율을 표시하는 차트. 개발 진행 속도와 추진 상황을 한눈에 간단히 알아볼 수 있다. 지속적 관리와 업데이트 필요.

7.     Sprint Review : 스크럼 팀과 제품 이해관계자들이 해당 스프린트에서 무엇이 완료되었는지 함께 확인하는 리뷰. 1개월 스프린트를 기준으로 4시간 타임 박스 미팅

8.     Sprint Retrospective : 1개월 스프린트 기준 3시간 타임박스. 해야할 작업이 잘 정의되었는지, 완료의 정의가 잘 되어있는지, 업무에 대한 합의가 업데이트 되었는지 회고. 생산적이었는가/2개의 액션 집중 회고

Scrum Tools

DPM 홈페이지에 가면 팀플을 할 때 쓸만한 Scrum 툴들을 확인할 수 있다.

Ex) Clarizen, Monday.com, ProjectManager.com, Zoho Sprints, Kanbanize, MeisterTask, airfocus, Pivotal Tracker, Nostromo, Ravetree

또한 Opensource.com 페이지에 가면 오픈소스 관련 기사를 모아서 볼 수 있으니 project management tools for agile teams 에 관심이 있다면 들어가서 한번 봐보자.

 

Agile / Scrum case study <Fail>

Agile의 실제 적용사례는 태생이 IT 기업인 카카오, 네이버 같은 기업보단 은행, 증권사와 같은 비즈니스 중심의 기업 상황에 더 적합하다고 생각한다. 이런 형태의 비즈니스를 운영하는 기업들은 현업이 정의한 요구사항을 개발자가 구현하는 전통적인 개발방식에 익숙하며, 신규 서비스의 개발보다는 레거시 시스템의 유지보수가 차지하는 비중이 압도적인 특징이 있기 때문이다.

 최근 이러한 기업들은 디지털 트랜스포메이션전략을 강조해 IT부분에서 많은 변화를 시도중이며, 그 중에서도 agile과 같은 개발 문화를 도입하려는 시도는 지속적으로 이루어지고 있다. 그러나 agile 방법론을 성공적으로 도입했다는 기업은 좀 처럼 찾아보기 힘들다. 그 이유가 뭘까?

 

Agile shortcomings [ In business ]

대개의 기업에서 agile 방법론을 적용하려는 주체는 기업의 임원들이며, 이들은 이론적인 설명에 매료되어 막연한 기대감으로 전략을 추진한다. 예를 들어,

임원 : 한번해봐!

기획 및 개발팀

-      스크럼, 칸반 등 개념 검토 및 현황 조사

-      개발팀 교육용 자료 제작 및 교육 실시

-      화이트보드/포스트잇 활용 등 문화 정착을 위한 노력

-      애자일 툴 제작 업체 섭외 및 도입 회의 진행

-      개발자 대상 툴 테스트 요청

-      커스터마이징을 위한 개발자 의견 수렴 등

이러한 과정으로 진행되는 프로젝트는 어설프지만 기획팀의 의도에 맞춰 개발 방식의 변화를 시도하기도 하나, 마음처럼 조직 전체로 활성화되지 못하고 팀마다 적용하는 방식이 제각각이 되기 일쑤이다. 위의 절차에는 기존 방식 및 문제점을 정확히 인지하고, 이를 바탕으로 구성원이 명확한 목표 의식을 공유할 필요가 있으나.. 기업에서 기존의 방식을 명확히 정의하고 있는 경우는 거의 없다. 기업의 많은 리더들은 자신들의 기존 개발 방법론이 ‘Waterfall’ 방법론이라 이야기 하지만, 실제로 일하는 개발자들은 이 얘기를 공감하지 못하는 경우도 많다. 개발 도중 요구사항이 변경, 추가되는 경우가 비일비재하고, 테스트 단계에서 설계가 변경되는 경우도 많기 때문이다. 이처럼 사실상 기업에서 명확한 개발 방법론이 존재하는 경우는 드물다. 그렇기 때문에 더욱 기업의 임직원들은 덜 체계적인 상태에서 일하고 있다는 불편한 사실과 마주할 용기를 내어야 한다. Agile을 실현하기에 앞서 반드시 기존의 프로세스를 단계별로 정의하고 문제점을 도출하는 노력을 해야하며, 단순히 임원 보고용으로 조사해서는 안된다. 방법론을 정의내리려 하지 말고 기존의 프로세스를 분석하고 실용적으로 변화시키기 위한 고민을 해야 할 것이다. 그리하여 보완점을 이렇게 정리할 수 있겠다.

1.     Agile에 끼워 맞춰 모든 프로세스를 재정의하는 변화를 위한 변화를 지양하고, 그저 조직 구성원들이 자연스럽게 받아들일 수 있을만한 단계적 프로세스 개선을 목표에 둬야 한다. –

2.     IT뿐만 아니라 임직원 모두의 인식 변화를 목표로 해야한다. 수직적인 명령에 의한 변화가 아니라, 충분한 공감대 형성을 통한 기업 문화 변화를 인내심있게 추진해야 한다.

3.     대부분의 개발이 유지보수 성격의 업무라면, 정말 새로운 방법론의 적용이 필요한지 고민해보아야 한다. 이를 성역없이 논의해볼 필요가 있다.

4.     기업의 IT리더들이 수평적 문화를 확산시키지 않은 상태에서 애자일을 시도하는 것은 근본적인 문제 해결없이 겉치장만 하는 꼴이 될 수 있다.

 

Agile shortcomings [ In Team project ]

기업이 아닌 Team project 에서도 Agile 기법 적용에 문제가 발생할 수 있다. 발생 가능한 문제와 그 보안점에 대해 간략히 살펴보자.

1.     Sprint point 과대평가 : 팀 내에서 소화 가능한 작업의 양을 과대평가 하는 것은 흔히 발생하는 문제이다. 스스로의 처리/생산 능력을 잘 파악하고 log를 적당히 묶어 배정해야 할 것이다. (이전 프로젝트에서 팀이 완료한 포인트 수를 보자)

2.     잦은 팀원 교체 : 적절한 시간동안 팀 구성원을 일정하게 유지하는 것, 적절한 팀 규모를 유지하는 것이 중요하다. 안정적인 팀은 스스로의 생산 능력을 파악할 수 있고, 이는 예측 가능성을 높여 궁극적으로 생산성 향상으로 이어진다.

3.     버그 방치 : 팀은 매일 일과를 끝내는 시점에 정상적인 코드를 얻는 것을 목표로 해야한다. 수정되지 않은 버그는 후에 더 많은 시간을 소요해야 한다.

4.     비상 상황 선언 전 너무 긴 기다림 : Sprint 가 계획을 이탈할 것이 확실시되면 사전에 정해진 비상 절차에 착수해야한다. 일부 작업 분담부터 Sprint 중간에 이르기까지, 강력한 조치를 취해야할 시점을 신속하게 결정해야 한다.

 

Agile / Scrum case study <Success>

Case1. KB금융 애자일 스쿼드 팀

: KB 국민은행이 고객의 요구에 빠르게 대응하기 위해 마련한 총 인원 5명의 소규모 조직으로, KB 국민은행의 모바일 뱅킹 어플리케이션 ‘KB 스타뱅킹개선 업무를 맡고 있다. 애자일 스쿼드의 특징은 위계 질서를 없애고 수평적으로 조직이 운영된다는 점이다. 또한 팀에 속한 직원들은 각자의 직책이 있지만, 별명이나 호칭을 사용하며 회의를 위한 서류나 보고서 등을 모두 없앴다. 이러한 방식을 통해 애자일 기법, 넓게는 소프트웨어개발 과정에 있어 각자의 의견 소통이 활발하게 이루어지도록 자연스럽게 분위기를 형성할 수 있었던 것 같다.

 

애자일 기법을 활용한 프로젝트 진행(기존의 방식과 비교)

- ­하나의 프로젝트를 기존의 방식으로 처리할 경우, 보통 6-7개월의 시간이 소요됨. 그러나 그룹 대표와 직접적으로 소통하는 방식으로 의사결정이 빨라졌고, 필요한 업데이트부터 순차적으로 진행할 수 있게 되어 빠른 시간 내에 프로젝트 완성 가능.

- 기존에는 기본 틀에서 고객들의 민원을 정리해 이를 해결하는데 집중했지만, 이들은 고객입장에서 최대한 편하게 앱을 이용할 수 있는 환경 구축을 위해 기본 틀마저 새롭게 고쳐가며 업무를 수행함.

 

애자일을 통해 개발한 서비스: KB스타뱅킹 업데이트(2016년 기준)

- 시작화면의 전체적인 화면 구성을 완전히 바꿨으며, 고객의 계좌를 한눈에 보여주는 계좌뷰기능 등이 추가됨.

Case 2. Principal Financial Group

: 기업고객을 대상으로 보험, 은퇴 설계, 기타 자산 관리 서비스를 제공하는 기업으로 자사의 보험, 퇴직연금, 자산관리 고객들을 위해 좀더 많은 소프트웨어를 신속하게 구축하기 위해 애자일(Agile)을 도입.

 

애자일 도입 후 기업 내부의 긍정적 변화

2013년부터 내부 해커톤을 개최하였고, 이를 통해 광범위한 애자일 도입의 기틀을 다지며 디지털 제품 개발에 집중.

애자일에 대한 급작스러운 접근방식은 문화적 파괴를 유발할 수 있으므로 천천히 시작하는 방식을 택함.

2개월에 한 번씩 회의를 진행하는 것이 아닌, 2주 단위의 스프린트 [1]과정에서 프로젝트를 위해 만나 적절한 이해 당사자들이 의사결정을 내릴 수 있도록 함. 이 결과로, 해당 기업은 개념 증명 및 최소 실행 가능 제품을 구축하는 소프트웨어 신생벤처처럼 운영하게 됨.

데이터를 이용해 프로세스를 지속적으로 개선할 수 있도록 하며, 2주 동안 데이터와 당시 상태를 계속 고려해가며 계획을 변경할 수도 있음.

 

Supporting open source software.

ProjectLibre

마이크로소프트 프로젝트의 오픈소스 데스크톱을 대체가능한 프로젝트 관리 도구이며, 제품 기능에는 마이크로소프트 프로젝트와의 호환성 외에도 간트 차트, 네트워크 다이어그램, WBS/RBS차트, 획득된 값 계산 및 리소스 히스토그램이 포함됨. JAVA가 설치되어 있다면 Linux, Mac OS, Windows OS에서 사용 가능. 무료 소프트웨어로 누구나 사용 가능.

 

Redmine

웹 기반 오픈 소스 프로젝트 관리 도구로, 오픈 소스 ALM 솔루션에서 프로젝트 관리, 요구사항 관리(문서 및 위키 기능 통한 요구사항 작성가능, 해당 요구사항 기반 Epic & Story 생성하여 애자일 프로젝트 관리 가능, 차트와 캘린더를 통한 직관적 프로젝트 관리 수행 가능), 이슈 관리(이슈, 버그와 같은 다양한 타입의 업무 생성가능, 또한 그 현황을 가시화할 수 있는 도구 제공), 변경 관리(변경관리를 위한 변경요청 생성, 해당 소스코드의 추적 및 비교 지원), 테스트 관리(체계적으로 테스트를 관리하며, 실행 결과로부터 결함 관리 가능) 등의 역할 수행하는 핵심 솔루션.

 

Freedcamp

2010년에 출시된 이후 꾸준히 개선되는 애자일 방식의 프로젝트 관리 소프트웨어. 프로젝트와 사용자수, 스토리지에 대한 제한이 없고 모든 사용자가 대시보드를 맞춤화 할 수 있음. 주요 작업, 하위 작업, 토론, 프로젝트 일정(마일스톤), 시간, 파일 및 캘린더 등의 기능을 지원. 프로젝트 관리 소프트웨어를 확장하는 것이 바람직한 기업에 가장 적합함.

 

What is DevOps?

Scrum 기법과 함께 Develop + Operation의 합성어인 DevOps 도 뜨고있다. DevOps는 개발과 운영을 긴밀하게 연결하여 필요한 SW를 고객에게 안정적으로 제공하며, 높은 퀄리티를 유지하며 시스템을 바꾸는데 드는 시간을 줄인다. DevOps의 목적은 개발 사이클을 줄이고 배치하는 빈도를 증가시키는 것이며, 소프트웨어를 구축하고 통합하고 테스트하는 모든 과정의 자동화, 모니터링에 기여하는 것이다. DevOps programming의 자동화 툴을 통해 개발 검증 운영의 과정을 자동으로 돌아가게 할 수 있다.

DevOps process

Plan > Create > verify(QA) > Package >> release > configure > monitor > plan “공생관계

DevOps tools

Tool 중 각 단계별 하나씩은 경험해보는 것이 좋다

.이러한 Agile Manifesto , 12 Principles of Agile, Developments , Scrum 과정은 팀 프로젝트를 할 때 한번쯤 경험해보는 것을 추천한다

 

2021. 04. 

김다예

미국에서는 아마존드라는 신조어가 등장했다. 세계 최대 전자상거래 업체 아마존이 오프라인 상점-클라우드 서비스-방송-음악-영화에까지 진출하여 시장을 순식간에 지배하자 세상이 아마존화 된다며 등장한 포비아적 용어이다. 비단 아마존만이 아니라, 세계 검색 시장의 패권을 쥐고있는 구글, 모바일 SNS를 장악하고 있는 페이스북 등 많은 세계적 기업이 각 분야에서 독점 기업과도 같은 영향력을 발휘하고 있다. 그렇다면 한국은 어떨까. 한국의 IT 대기업이라 하면 단연 네이버를 들 수 있을 것이다. 네이버는 막대한 자본과 사용자 수, 정보량으로 국내 IT 생태계의 최상위 포식자로 군림하고 있으며, 검색 웹 서비스를 기반으로 유통과 모빌리티, 금융, 클라우드 등의 다양한 분야에서 영역을 확장하고 있다. 어쩌면, 머지않은 미래에 네이버드란 말이 나올지도 모르는 요즈음. 네이버, 그들은 어떻게 IT 선도기업으로 군림하였는가. 본 보고서에서는 현재의 네이버를 있게한 인터넷 포털 산업에서의 네이버의 전략적 혁신과, 그 성공 이유를 조사해보기로 한다.

 

1. 인터넷 포털 산업의 경쟁

1990, 인터넷이 등장하며 새로운 산업이 출현하자 전 세계적인 붐이 일어나게 되었다. 국내 인터넷 포털 시장에서는 최초로 무료 웹메일과 온라인 커뮤니티 서비스(카페)를 제공해 선도기업으로 우뚝 선 다음과, 세계적 대기업 야후가 시장을 선도하고 있었다. 다음의 모델은 인터넷 플랫폼 산업에서 성공한 시장 지배적 디자인으로 여겨졌고, 많은 경쟁 기업들은 다음의 서비스 모델을 토대로 커뮤니티 및 웹메일 서비스를 강화하는 것과, 베너광고의 수익을 향상하는 것에 주력하였다. 인터넷 산업은 기존의 전통적 산업보다 선점 효과가 크다는 특성이 있어, 이미 독점적 지위를 지닌 기업을 추월하는 것은 쉽지 않았으나.. 2002, 이들은 네이버의 제품, 고객, 운영을 재정의하는 전략적 혁신에 의해 불과 1년 만에 그 자리를 내주고 만다.

 

2. 네이버의 성공 비결

2.1 포털 사이트의 비즈니스 모델

네이버와 같은 포털사이트는 서비스 대상과 수익원이 분리된 비즈니스 모델을 갖고 있다. 서비스의 대상은 일반 사용자들이지만, 수익은 광고료인 것이다. 광고료는 노출 정도에 따라 책정되기 때문에, 많은 사용자를 확보한 포털 사이트일수록 수익이 증가하게 되는 순환 구조를 이루고 있다. 이와 같은 구조는 실사용자에게 전환비용을 발생시키지 않으므로, 사용자는 부담없이 보다 혁신적인 서비스가 제공되는 곳으로 제한없는 이동이 가능하다. 이에 따라 네이버는 사이트 사용자들을 유입하고 유지하는데 초점을 둔 전략을 수립하게 되었다.

 

2.2 사용자를 위한 혁신 : 검색

다음이 웹메일과 온라인 커뮤니티를 개설하는 전략으로 사이트의 회원 수를 폭발적으로 증가시킨 후, 경쟁사들이 다음을 벤치마킹해 다양한 서비스 개발에 초점을 둘 때, 네이버는 경쟁 기업의 변화에 흔들리지 않고 사이트의 근본적인 서비스인 검색서비스의 개선에 모든 역량을 투자하였다. 네이버는 다양한 기능을 첨부하는 것은 결국 이용자들에게 더 많은 정보를 제공하기 위함이고, 이는 검색과 전혀 다른 서비스가 아니라고 생각한 것이다. 핵심적인 검색 서비스를 진화시킨다면 다른 서비스들은 자연스레 발전할 것이라고 내다본 네이버는, 사용자를 위한 혁신으로 포털 사이트로서의 네이버의 경쟁력을 크게 향상시켰고, 타 경쟁사와 다른 돋보적인 행보를 걷게 되었다.

 

2.3 네이버의 제품, 고객, 운영 전략

타 경쟁업체가 단순히 사용자 수의 확보에 주력할 동안, 네이버는 핵심 서비스인 검색 부분에서 사용자와 수익성을 더욱 효과적으로 연결하기 위한 방법을 고민하였다. 그 결과, 네이버는 강화된 검색 서비스를 중심으로 제품-고객-운영에 걸친 시스템을 재정의하는 전략을 펼치게 된다.

먼저, 배너 광고가 중심이었던 온라인 광고 시장에서 국내 최초로 검색광고를 실시하는 혁신을 이뤘다. 가령, 사용자들이 얻고자 하는 정보를 검색하였을 때, 입력값에 맞는 각 광고주들의 상호명을 노출 시키는 방식이었다. 이러한 검색 광고는 기존의 한계였던 타겟팅과 광고 공간에 대한 한계를 극복함과 동시에 비용을 낮췄고, 대기업에 국한되었던 광고수입원을 중소기업으로까지 확대하는 효과를 얻게 하였다. 이에 더해, 네이버는 넓게 확보된 광고주들에 가격차별화 전략을 시행했다. CPM CPC 2가지 광고 가격 측정 방식과, 스폰서 링크, 파워 링크 등의 다양한 요금 체계를 가진 키워드 광고로 광고주들에게 보다 합리적인 서비스를 제공하여 주 수입원인 광고료를 대폭 향상시키는 쾌거를 이뤘다.

검색광고 시행 후, 보다 많은 광고주를 확보하기 위해 사용자수를 늘리는게 최우선 과제였던 네이버는 검색 = 정보제공의 개념을 깨는 전략적 모험을 실시하게 되는데, 바로 지식인이다. 이는 Q&A 서비스를 검색에 접목하여, 이용자들이 만든 콘텐츠를 다시금 다른 이용자들이 검색할 수 있도록 한 혁신적인 서비스였다. 지식인은 검색 엔진 활용에 익숙하지 않은 사람들도 사용하기 편리했으며, 단순한 정보를 뛰어넘는 지식을 제공해주었다. 이후 네이버는 포털 사이트 방문자 수 부분에서 1위로 올라섰으며, 검색 광고의 수익 역시 대폭 증가하는 결과를 낳게 되었다.

또한 네이버는 자사의 서비스를 서비스 활성화 부분과 비즈니스 부분으로 구분하여, 비즈니스 부분에서는 검색과 관련된 새로운 수익모델을 구축하는 것에 집중하였고, 서비스 부분에서는 사용자에게 제공될 혁신적 서비스를 개발하는데 주력하며 효과적으로 대응하였다.

 

2.4 선점 우위 확보

현재는 다른 경쟁 사이트 또한 네이버를 벤치마킹하여 같은 개념의 서비스를 지원하고 있으나, 네이버 서비스만이 큰 성과를 거둔 이유는 네이버가 선점우위를 가졌기 때문이다. 이 덕분에 네이버는 지식검색 = 네이버로 인식되는 브랜드 명성을 쌓을 수 있었으며, 이는 네트워크 효과와 맞물려 극대화 되었다. , 시장을 선점하였기에 지속적으로 많은 수의 이용자와 정보를 쌓을 수 있는 선순환 고리를 형성하여 규모의 경제를 실현할 수 있게 되었다.

 

2.5 적시적소 마케팅 활용

네이버 검색 서비스 성공 이면에는 성공적인 마케팅 활동이 있었다. 이용자들이 지식검색의 개념을 정확히 이해하지 못했던 시장 진입 초기에, ‘지식검색 = 네이버의 이미지를 구축할 수 있던것은 이용자의 지적 호기심을 자극하는 광고 덕분이었다. “왜 치마 들추면서 아이스케키라고 할까라는 글자가 새겨진 광고나, “야한 생각하면 머리가 자라는게 사실일까요등의 광고는 사용자에게 네이버를 인식시키기 효과적이었다. 초기단계 이후, 네이버는 주요 고객 기업들과의 윈윈 전략을 실시했다. 많은 타 기업들의 광고 마지막에 네이버 검색창에 XXX를 쳐보세요라는 문구를 삽입해 관련 상품에 대한 검색을 네이버를 통해 하도록 유도한 것이다. 검색 광고에 대한 마케팅과 함께, ‘내공이라는 마일리지 서비스를 실시하여 내공에 따라 이용자 등급을 결정해, 네티즌들의 경쟁심을 유발해 더욱 서비스 이용을 촉발시키는 전략을 사용하기도 하였다. 쌓인 내용은 VOD 보기, 음악듣기 서비스, 메일 용량 추가 등의 서비스를 이용할 수 있게하여 서비스에 대한 충성도를 높이고 답변의 신속함이라는 장점까지 얻을 수 있게 되었다.

 

3. 네이버의 현재

네이버의 이러한 전략적 혁신은 인터넷 포털 산업의 새로운 시장 지배적 디자인이 되었으며, 현재 네이버는 인터넷 포털 산업을 선도하는 기업의 위치에 올라서게 되었다. 현재 네이버는 하루 3,000 만명 이상의 방문자 수를 기록하며, 경쟁사였던 다음과 야후를 제치고 인터넷 플랫폼의 압도적인 1위를 차지하고 있다. 검색광고를 중점으로 게임, 전자상거래, 베너광고 등의 다양한 수익 포트폴리오를 구축해 국내 포털 사이트 중 가장 높은 수익을 실현하고 있으며, 20216월 현재 시가총액 60조가 넘는 선도 기업으로 발돋움하고 있다. 모바일메신저 라인’, AI플랫폼 클로바’, 번역 서비스 파파고’, 웹 브라우저 웨일’, 지도 네이버맵’, 만화 서비스 네이버 웹툰’, 증강현실 카메라 스노우’, ‘네이버 페이’, 클라우드-스마트스토어 등 굳건한 검색 서비스 플랫폼을 기반으로 다양한 사업을 전방위로 넓히고 있는 네이버는 앞으로도 명실상부 국내 1IT 대기업의 자리를 지킬 것으로 생각된다.

성공한 기업은 많지 않다. 성공한 기업이 오래 유지되는 경우는 더 드물다. 특히, 4차 산업혁명이 도래한 급변하는 기술 변화 속에서 IT 기업이 살아남기란 여간 힘든 것이 아니다. 실제로 IT 분야 전체 기업의 70%4년 내에 폐업하고, 35%1년 내에 폐업한다고 한다. 오늘날의 전쟁과도 같은 시장 경쟁을 이겨내고 성공한 IT 기업으로 성장하기 위해서는 어떻게 해야할까. 분명 현재의 기술에 안주하지 않고, 기술 변화의 흐름에 몸을 담고 노를 젓는 노력을 해야 할 것이다. 또한 상상 가능한 모든 혁신 역량을 전면적이고 동시적으로 끊임없이 투입해야 할 것이다. 필자는 4차 산업혁명 시대와 맞물린 최근의 가장 주요한 성장 동력을 개방형 SW 개발 혁신이라고 생각한다. 이에 본 보고서에서는 글로벌 IT선도기업인 구글의 성공 요인들을 짚어본 후, 그중에서도 개방형 SW 혁신 전략의 장점 및 필요성과 해당 전략이 적용된 구글의 개발 사례를 알아볼 것이다. 또한 개발 프로젝트의 단계 별로 개방형 sw 혁신 전략을 적용해보며, 이를 성공적으로 완수하기 위한 세부 방안과 고려사항들을 검토하고 나아가 기업이 나아가야할 방향성에 대해 간략히 논해보도록 하겠다.

1. 글로벌 IT 선도기업, 구글

1.1 구글의 성장동력

국내에서는 네이버나 카카오와 같은 IT 대기업들이 서칭, 드라이브 및 클라우드 플랫폼 제공, 게임, 메일, 음악, 지도 등 It 분야 전반에 걸쳐 많은 서비스를 제공하고 있어 국내에서 구글의 시장 점유율은 높지 않지만, 미국과 유럽 등의 해외 주요국에서 구글은 유투브나 서칭, 플레이스토어를 포함한 무려 250개가 넘는 서비스를 제공하고 있다. 구글은 말 그대로, 전 세계 사람들의 일상 속 모든 영역에 스며들어있다. 창업 이후 끊임없는 혁신을 통해 지속적으로 수익을 창출하며 새로운 시장을 개척하고 있는 구글, 그 성장 동력은 무엇일까? 그리고 구글은 어떻게 혁신전략을 성공시키는 것일까? 필자는 문득 궁금해졌다. 그리하여 먼저, 대표적인 IT 선도 기업 구글에 대해 조사해 필자가 생각하는 구글의 성장 동력 3 가지를 꼽아보았다.

 

(1) 점진적 개선과 근본적 혁신의 융합

구글의 성공 요인 중 하나는 점진적 개선근본적 혁신이라는 상반된 두 개념을 동시에 진행하고 있다는 것이다. 구글은 기업 철학’, ‘업무 프로세스’, ‘인재’, ‘제품의 기업을 이루는 네 기둥에 혁신과 효율을 동시에 추구하며 조화롭게 연결시켜, 기존 서비스(서칭 등)의 효율성을 높이고, 적극적으로 새로운 혁신을 탐색(Google labs, Google X )하며 IT 기업으로서의 성공의 기반을 만들었다. 최근에는 Alphabet이라는 지주 회사 체계로 내부 조직을 개편하여 각 독립 사업부가 더 효율과 혁신에 집중할 수 있도록 한 것으로 확인된다. 구글은 꾸준히 혁신 제품을 창출하는 것의 중요성과, 기존의 제품을 안정적이고 효율적으로 운영하는 것의 중요성 모두를 인지하고 그를 위한 많은 지원을 아끼지 않고 있었다.

 

(2) 과감한 외부 기업 인수

조사를 해보니, 구글은 전 세계적으로 250개가 넘는 서비스를 운영하지만, 대다수의 서비스는 자체 개발한 서비스가 아닌 외부에서 인수한 서비스들이었다. 구글의 대표적인 플랫폼인 Android OS, 2005년 앤디 루빈이 운영하던 안드로이드 사에서 5,000 달러를 주고 인수 한 것이였고, 전 세계인이 즐겨쓰는 모바일 지도 서비스인 구글맵은 시드니의 지도 서비스 회사, Where2Technology 를 인수한 것이었다. 우리나라에서 최근 급부상 하고 있는 유투브 또한 스티브 첸이 설립한 동영상 공유 웹사이트를 인수해 모바일 어플로 확대 발전시킨 서비스였다. 특히 유투브의 경우, 첫 서비스를 시작한지 1년도 안되는 작은 스타트업을 무려 19천억원에 사들였으며, 구글의 선견지명이 맞아들어 현재의 유투브는 구글의 광고 수익을 책임지는 간판 서비스이자 월 이용자수가 20억명에 다다르는 전 세계 최대의 동영상 공유 플랫폼이 되었다.

이처럼 구글은 유망한 기술을 가진 기업을 잘 판단하고, 그를 인수하는 데 거리낌이 없는 모습을 보인다. 유투브 외에도 구글의 잘나가는 서비스들은 그 시작을 조사해보면 대체로 외부에서 인수해 온 서비스이다. 인수한 사업들을 위화감 없이 자신의 사업에 최적화시켜 업그레이드된 서비스로 발전시키는 구글의 사업 확장 역량은 오늘날의 구글을 있게 하는데 중요한 역할을 한 것으로 생각된다.

 

(3) 개방형 SW/서비스 플랫폼

구글은 자체 개발하는 많은 서비스 플랫폼 및 소프트웨어를 모든 사용자와 기업 내, 외부의 개발자들이 자유롭게 사용하고, 수정하며 발전시킬 수 있도록 개방하였다. 이러한 구글의 개방형 SW 전략은 기업 내 개발 인력의 제한으로 인한 기술 수준의 한계를 뛰어넘게끔 하였고, 짧은 시간 안에 많은 Contributer를 만들어 냈으며, 후발로 진입한 시장에서 빠르게 사용자 수를 늘리며 구글의 점유율을 향상시키는데 핵심적인 역할을 해온 것으로 파악된다. 구글은 현재에도 새로운 플랫폼과 SW를 개발할 때 개방형 SW 전략원칙을 지키고 있으며, 나아가 공동 개발에 참여하는 많은 기업과 개발자들이 자유롭게 생태계를 구성하고 확장해나갈수 있도록 아낌없는 지원을 하고 있었다.

 

이렇듯 다양한 구글의 성장 동력 중에서, 필자가 생각하는 가장 주요한 구글의 성장 동력이자 혁신 전략은 (3) 개방형 SW/서비스 플랫폼이다. 산업 간의 기술 경계가 무너지고 융합되는 4차 산업혁명 시대에서, AI, IoT, 빅데이터와 같은 IT 미래 핵심 기술을 발전시키고 기술의 한계를 뛰어넘게 하며 나아가 미래의 시장을 선점하게끔 할 수 있는 혁신전략이 바로 개방형 Sw 혁신 전략이기 때문이다. 현재와 미래에서 참여-공유-협업의 프로세스를 활용한 개방형 소프트웨어는 자사 기업과 사회에게 큰 역할을 할 것이라고 생각한다. 필자가 개방형 sw 혁신 전략을 가장 주요한 성장 동력으로 생각하게 된 세부적인 이유는 다음과 같다.

 

1.2 개방형 sw 혁신 전략의 장점과 필요성

(1) 개발 효율성 향상

개방형 SW 개발 방식은 개발 효율성을 높인다. 누구나 개발 과정에 참여할 수 있는 만큼 개발 기간 단축, 비용 절감, 테스트 효율성 향상 등의 효과를 볼 수 있는 것이다. 동시에 SW 총 소유 비용과 구매비용이 절감되며, 유연성이 증가되고, 신속한 배치와 보안이 가능해지며, 플랫폼간 이동성 함양, 상용 SW 라이선스 회피 등이 가능해진다.

 

(2) 빠른 최신 기술 도입 가능

개방형 SW는 최신SW 기술의 빠른 반영과 다양한 개발 환경에 최적화된 SW 기술의 축적을 가능하게 한다. 구글의 사례에서 볼 수 있듯이 개방형 sw 혁신 전략을 성공적으로 활용한다면 후발 주자로 들어가더라도 시장에서 독점적인 점유율을 얻을 수 있게 된 것이다. 관련한 한 사례로는 대표적인 공개 소프트웨어인 리눅스가 있다. 리눅스는 91년 출시 이후 전 세계 1,300여개의 기업에서 12,000명의 개발자가 공동 개발에 참여하여 현재 1,700만줄 이상의 각종 최신 기술이 도입된 소스 코드로 발전하였다. 또한 구글 머신러닝/딥러닝 학습 알고리즘인 텐서플로우도 1,400명의 컨트리뷰터(코드 수정권자)가 공동 개발하여 현재 1,440,454줄의 소스 코드로 발전하였다. 이를 구글에서 독자 개발하려면 약 405년이 소요된다고 하니 개방형 SW 개발혁신의 위력을 실감할 수 있다.

 

(3) 인재양성

소스코드에 대한 자유로운 접근 허용으로, 학생 및 예비 개발자를 대상으로 한 최신 기술 교육이 더 효과적으로 진행 될 수 있다. 또한 개방형 SW 커뮤니티 활동에 직접적으로 참여함으로써 예비 개발자와 개발자간의 기술 교류를 통해 개발의 노하우 전수가 가능해졌다! 이는 기술의 지속적인 발전에 긍정적인 영향을 끼칠 것이다.

 

(4) 기업 저변 확보

IT 기업 입장에서, 깃허브 등의 오픈소스 플랫폼에 자사 sw 소스코드를 공개 및 기여함으로써 글로벌 고객 확보 및 자사 소프트웨어의 저변 확보가 수월해졌다. 이는 대기업 뿐만 아니라 중소기업 또한 개방형 SW 서비스 출시를 통해 기술력 홍보 및 국내외 사용 저변 확보를 용이하게 하였다는 점에서도 그 의의를 가진다.

 

(5) 해외 sw의 대체제 역할 수행

외국 기업의 SW 점유율이 높은 한국 IT 시장에서, 외국산 독과점 SW의 대체제 역햘을 수행할 수 있다. 한 사례로, 국내 업체인 큐브리드는 DBMS 솔루션의 소스코드를 개방한 후, 국가정보자원관리원의 DBMS 점유율에서 외국 SW에 이은 2위를 차지함으로서 고가의 외산 SW에 대한 대항마로 부상하며 성장할 수 있었다고 한다.

 

지금까지 우리는 구글의 성장 동력 중, 개방형 sw 혁신 전략의 장점과 필요성 대해서 살펴보았다. 그렇다면 실제로 개방형 혁신전략을 적용하여 개발한 혹은 개발 중인 구글의 소프트웨어는 어떤 것들이 있을까?

 

2. 성공적인 개방형 SW혁신 수행방안

2.1 구글의 개방형 sw 혁신 사례

구글의 대표적인 개방형 플랫폼 성공 사례 중 하나로, 전 세계의 안드로이드 스마트폰 운영체제인 AndroidOS를 들 수 있다. 구글은 모바일 서비스 운영체제 시장의 후발 주자였지만, 개방형 플랫폼 혁신 전략을 통해 시장 진입 10년만에 전체 모바일 운영체제 시장에서 90%에 가까운 점유율을 차지하였다. (시장조사업체 가트너의 20171분기 통계 자료)

4차 산업혁명 흐름 속에서 발전하고 있는 인공지능, 딥러닝/머신러닝 기술의 오픈소스 소프트웨어인 텐서 플로우또한 구글의 개방형 sw 전략 성공 사례로 들 수 있다. 15년에 공개된 이후, 21년 현재 Top 오픈소스 프로젝트 중의 하나로 각광받고 있으며, 다양한 도구 지원을 통해 사용자의 참여를 확대중이다.

대용량 데이터를 처리하고 분석하는 SW오픈소스인 하둡또한 구글이 공개한 맵 리듀스 기술을 기반으로 개발된 소프트웨어이다. 이는 정형, 비정형 데이터 수집-처리-분석을 위한 다수의 오픈소스와 연계 사용되며 시장에서 유용히 활용되고 있다.

 

2.2 개방형 SW 혁신 세부 방안 및 고려사항 제시

구글은 이렇듯 다양한 개방형 서비스들을 어떻게 성공으로 이끌 수 있었을까? 구글을 포함한 글로벌 기업들의 여러 프로젝트에서 개방형 sw 전략이 뛰어난 성과를 거두고 있다고 해서 반드시 해당 혁신 전략이 성공하는 것은 아니다. 구글은 성공을 위해 해당 전략에 대해 깊이 이해하고 실패를 두려워 하지 않고 계속 도전해 경험해보며, 세부적인 과정을 기업과 프로젝트의 상황에 맞게 가다듬는 시도를 하고 있었다. 이번에는 구글에서 실제 진행하는 개방형 sw 혁신 전략의 각 단계를 따라가보며, 단계별로 혁신 전략에서 고려해야할 요소나 세부적인 전략을 알아보도록 하자.

 

[프로젝트 구상단계]

혁신 전략의 특성에 대한 이해가 필요하다.”

혁신 전략을 적용할 때, 구글은 해당 프로젝트가 개방형 sw 혁신 전략을 적용하는데 알맞은(효과가 뛰어난) 프로젝트인지 확인한다. 예를 들어, 개방형 SW 전략의 특성상, 데스크톱이나 패키지보다는 솔루션(플랫폼) 유형에서 더 뛰어난 성과를 보이기에 데스크톱에는 적용하지 않는 식이다. 개발형 sw 전략은 개인 & 클라이언트 환경에서 뛰어난 것으로 파악되며, 깊은 기술이 요구되는 상황보다는 적절한 기술적 장벽이 있는 수준에서, 또 작은 SW보단 큰 SW 규모에서, 저렴한 아이템보다는 고가의 SW 시장에서 유용하다고 한다. 구글처럼, 프로젝트 시작에 앞서 혁신전략의 특성을 파악하고, 전략을 적용하기에 알맞은 프로젝트 인지를 확인해보아야 전략을 성공적으로 이끌 수 있을 것이다.

프로젝트의 특성을 파악한 결과 개방형 sw 혁신 전략을 적용하기로 했다면 이후 기획 단계, 개발 단계, 운영 단계의 세 단계의 세부 과정을 거치게 된다.

 

[프로젝트 기획단계]

구체적인 개발 방법과 라이선스 체계를 잘 고려한다

구글의 기획 단계에서는 소스코드를 공개할 때 적용할 라이선스를 미리 선정하고, 소스코드의 공개 시점, 공개 범위, 공개 방법(어떤 플랫폼에서 할 것인지 등)을 고려한다고 한다. 가령 필요한 기술을 처음부터 독자적으로 개발할 것인지, 기존의 sw를 활용할 것인지(인수 등)을 고려해야 한다. 만일 기존의 sw를 활용한다면 해당 프로젝트에서 요구하는 기술이 무엇인지 상세히 파악한 후, 기존의 sw를 조사, 분석, 평가, 계약하는 단계를 거쳐야 할 것이라 생각된다.

라이선스 선정 문제는 향후 사업화를 위한 비즈니스와 직결되는 문제인만큼 신중히 결정해야 한다. 해당 프로젝트를 자체 개발해 공개할 경우에는 향후 추진할 비즈니스 모델을 기준으로 선정하는 것이 좋을 것이라 생각되고, 기존의 공개된 SW를 활용해 추가 개발 후 공개할 경우에는 기존 라이선스 체계에 제한될 수 있고 라이선스의 양립성 문제가 발생할 수 있으니 이를 주의해야 할 것이다.

 

[프로젝트 개발 단계]

프로젝트의 주요 요소와 기업의 상황에 적합한 유연한 개발 방법론을 선택한다.”

구글에서는 소스코드의 공개시점 등의 프로젝트 요소에 따라 개발 및 설계, 진행 과정의 최적 세부 전략을 다르게 서정한다. 예를 들어, 해당 SW의 개발이 완료된 후 공개하고자 한다면 Waterfall 전략을 적용해 개발하는 것이 좋다. 다만 이 전략은 개방형 혁신 전략을 온전히 적용했다고 말하기 어렵기에, 웬만하면 개발이 완료된 시점이 아니라 개발 초기부터 소스코드를 공개하여 최신 기술의 신속한 저변 확대를 노리는 것이 유익할 것이라고 생각된다. 초기 개발시점부터 소스코드를 공개하는 경우에는 Waterfall 전략과 대조적인 개념인 Agile 모델과 같은 점진적이고 반복전인 개발 전략을 사용하는 것이 좋다. 다만 이 경우엔 해당 개발 전략론 관련 경험이 부족할 경우 시행착오를 겪을 수 있으니 주의해야 할 것이라 생각된다. 비공개 sw 소스코드를 공개하고자 할 경우에는 이를 위한 절차나 기술적 준비 요소, sw 엔지니어링 등의 거버넌스 체계를 구축하고 기술 개발을 지원해야 한다. 이 때에는 WaterFall 방식을 사용하는 것이 좋을 것이로 생각된다. 그러나 성공하리라 확정된 방법은 없으며, 모든 전략은 항상 기업의 상황에 맞게 선택하며 유연히 변화시켜야 한다.

기획 및 개발이 완료되었다면 커뮤니티의 운영 목적과 구조를 설정하고 운영하며 활성화를 위한 홍보 등의 단계로 나아가야 한다.

 

[프로젝트 운영 단계]

프로젝트가 끝난다고 끝난게 아니다.”

개발보다 중요한 것은 커뮤니티의 원활한 운영과 꾸준한 지원이다

구글은 소스코드를 오픈하고, 개발을 완료한 이후에도 커뮤니티의 운영과 지원에 많은 신경을 쓰는 기업이다. 개방형 sw 혁신 전략에서는 프로젝트 완료 이후에도 구글처럼 커뮤니티를 원활히 운영 및 관리하는 것이 매우 중요하다. 그렇게해야 개방형 sw가 꾸준히 자생적인 발전을 할 수 있게 되고, 외부 지원을 적극적으로 활용할 수 있게 되기 때문이다. 특히 높은 기술력과 비용이 요구되는 프로젝트의 경우, 일반적인 기업에서는 대규모의 SW 인력을 운용하기 어렵기에 이와 같은 커뮤니티(외부 개발자들)를 활용해 생산성과 안정성을 높이는 능력이 더없이 중요할 것이라 생각된다. 따라서 기업은 프로젝트의 환경과 특성에 어울리는 커뮤니티의 유형을 고민해볼 필요가 있으며, 외부 개발자들과 어떻게 소통하고 협업할지에 대해 심도있는 고민을 할 필요가 있을 것이라 생각한다.

 

3. 기업이 나아가야할 방향성

3.1 개방형 sw 혁신 전략의 미래

과거, 개방형 SW 혁신 기술 도입 및 공개가 단지 개발자 커뮤니티를 위한 지원성 전략이었다면, 이제는 일반 시민과 미래 세대를 위한 지원으로까지 그 의미가 확대되었다고 볼 수 있다. 코로나 19로 어려웠던 지난 2020 한 해를 지나오며 개방형 SW 혁신 전략을 통한 협력이 코로나를 비롯한 사회의 전반적 문제를 해결하는 모델임이 증명되었으며, 개방형 SWIT 산업이 나아가야할 미래임이 분명해졌다고 생각한다. 미래에는 개방형 전략이 친환경, 에너지 등과 같은 그린 뉴딜 분야까지 확장될 가능성이 높아질 것으로 예상되며, 개방형 OS의 시범 적용 사례가 증가하면서 개방형 OS 생태계에 다양한 기업이 참여할 것으로 기대된다고 한다.

 

3.2 글을 마치며

지금까지 우리는 구글의 성장 동력에서 시작하여 개방형 sw 혁신 전략에 대해 알아보고, 나아가 혁신 전략을 성공으로 이끌기 위한 단계별 세부 고려사항을 살펴보았다. 지금껏 혁신 전략의 성공 방안에 대한 이야기를 해왔지만, 조사를 하다보니 혁신의 각 단계에서 고려해야하는 사항이나 주의점, 개선 방법은 있어도 혁신 전략의 성공 요인은 이것이다, 성공하기 위해선 이렇게 해야 한다는 방안은 없다는 생각이 들었다. 본 보고서에서는 개방형 sw 혁신전략의 대표적인 성공 사례로 꼽히는 구글의 프로세스를 들여다보았지만, 그 이면에는 무수히 많은 실패가 있었다. 많은 노력을 들여 시작했는데, 빛을 보지 못하고 사라진 프로젝트들이 꽤 많은 것을 알게되니 새삼 혁신전략은 적용한다고 해서 모두 성공하는게 아니다는 말의 의미를 실감할 수 있었다.

그러나 구글은 많은 실패에도 불구하고, 끊임없이 전문 인력을 투입하고 많은 비용을 들여 거침없이 새로운 프로젝트를 가동해나가고 있었다. ‘자연스럽게실패와 시도를 반복하며 다양한 실험과 모험을 통해 미래를 위한 새로운 가치를 발굴해나가고 있는 것이다. 구글이 인터넷 서칭 서비스로부터 시작해 인공지능, 자율주행 자동차, 빅데이터 등의 신사업 분야를 선도하는 성공적인 IT혁신 기업이 된 데에는 실패를 즐기는듯한 모험 정신을 바탕으로 개방형 혁신을 추구했기 때문이라고 생각된다. 오늘날, 기업이 나아가야할 방향성은 바로 여기에 있지 않을까.

안녕하세요! 일전에 공공데이터를 활용 방법에 대한 특강을 들은 적이 있었는데, 정보를 얻을 수 있는 사이트와 관련해서 공적인 차원과, 시민사회의 부분으로 나누어 간략하게 내용을 정리해보려 합니다. 혹시 필요하신 분들께서 유용히 사용하시길 바랍니다~!

[공공데이터 활용 데이터 분석법1 - 국가 ]

1. 네이버 등 검색엔진 이용하기

분석단계에 진입하기 전, 대략적인 사전조사를 하며 파악합니다.

2. 빅카인즈 사이트 이용하기

빅카인즈 사이트는 모든 뉴스의 저장소라 할 수 있습니다.

이 사이트를 이용해 키워드, 날짜별 등 자동분석이 가능하며 데이터의 시각화를 편리하게 사용할 수 있습니다.

이 사이트를 이용해 힌트를 파악합니다.

3. 국가법령정보센터 사이트 이용

법령, 관련부서 확인, 연혁(최초 개정일이 중요), 목적과 정의, 신-구법 비교, 자치법규 등을 확인합니다.

이 중 자치법규에서는 세부 도시들의 검색이 가능합니다.

(법령, 관련 부서확인, 연혁*최초개정일중요, 목적과 정의, 신구법비교, 자치법규 에서는 세부 도시들 검색가능)

4. 온나라 정책연구_프리즘 사이트 이용

이 사이트에는 국가, 지자체의 용역 연구 보고서가 모아져 있습니다.

이점은 정책 / 하고있는 업무가 잘 정리되어있다는 점, 해외사례를 많이 소개하고있다는 점, 표/도표 형태로 들어가있어 현황을 알기 쉽다는 것입니다. ** 자료에는 출처, 페이지수 메모해두기*

5. 국가통계포털 사이트 이용

세부 주제에 대한 통계의 검색이 가능합니다.

6. 대한민국 국회 사이트 이용

대한민국 국회 사이트는 정보의 보고라고 할 수 있습니다.

여기서 만약 10명 이상의 국회의원들이 개정이 필요하다라고 했다면 논쟁점이 있다고 생각될 수 있습니다.

논의 과정이나 회의록 등 많은 정보를 찾기 좋습니다.

또, 의안 정보에 들어가보면, 검토 보고서들을 볼 수 있는데, 이중에서도 국회 전문위원이 낸 검토 보고서는 브리핑용으로 작성된 문서이기 때문에 압축적으로 유용한 내용을 확인하기 좋습니다.

7. 국회 도서관

외국법령 DB 사이트 입니다. 해외법령이 한국어로 번역해서 올라와있음.

그렇다면 시장과 시민사회의 조사는 어떻게 할 수 있을까요?​

 

[공공데이터 활용 데이터 분석법2 - 시민사회]

<기업>

1. 전자공시시스템 사이트 이용

이 사이트에서는 상장된 모든 기업의 공시된 정보를 확인할 수 있습니다. 

(Ex. 미세먼지를 위해 공기청정기, 공기청정기 전기필요, 화력발전소~미세먼지. -> 웅진코웨이 검색, 정기공시 등에서 확인~이해관계) 

2. 경제 연구소, 증권사의 보고서, 회사 사이트

만약 비상장 기업의 정보가 필요하다면, 위와 같은 사이트에서 정보를 획득할 수 있습니다.

3. 알리오 시스템 

공공기업의 경영 정보를 모두 확인할 수 있습니다. 

 

<시민 단체>

1. 노동조합

꼭 민주 노총이나 한국 노총이 아니어도, 그 일자리에 있는 노총.

2. 비영리 연구소/ 단체 (NGO)

3. 중간지원조직

Ex. 미세먼지 시민단체 검색 ~환경운동연합, 녹색 연합의 논평. 

 

<기타>

1. DBpia, RISS 사이트

논문 검색 시 유용한 사이트 입니다. 이게 왜 그런가하는 근본적 데이터를 확인할 수 있습니다.

2. 정보공개포털 사이트

만약, 찾는 정보가 보이지 않는다면(혹은 더 구체적인 정보가 필요하다면) 이 사이트를 통해 정보를 청구할 수 있습니다.

보통은 2주 안에 공개되며, 안해주려고 하면 "정보공개센터" 페이지에 들어가서 도움을 얻을 수 있습니다. 

2학년 겨울방학! 어떤 활동이 있을까 찾다가, 2021년 2월 중~말일쯤, 성균관대학교 자연과학캠퍼스에서 진행하는 V-creator 인사이트 캠프에 운좋게 참가할 수 있게되어 파이썬, 구글 API 를 이용한 나만의 AI speaker 만들기 활동을 했었습니다 :>

제 손은 아닙니다! 사진이 안보여서..ㅎㅎ

이 활동은 인공지능 스피커 KIT 를 이용해 진행되었는데요, 하드웨어는 보시는대로 단단한 접이식 판자? 와 스피커, 라즈베리파이로 이루어진 심플한 박스이구요, 라즈베리파이 운영체제와 파이썬을 통해 구글 API 와 연동하였습니다.

실제로 스피커를 켜고, 말을 하면, 해당 행동을 하거나 알려주는 등의 기능이 가능했습니다!

이렇게 라즈베리파이에 직접 접속해서 SSH 와 VNC 를 켜주었었는데요. 라즈베리파이를 들어보기만 했지, 실제로 컴퓨터와 연결해 접속해본적은 처음이라 신기했던 기억이 납니다.

라즈베리 파이 운영체제에서 이런 저런 설정해줘야할 것이 있습니다! 오디오 소리 조절이라던가, 여기서 API 와 연동해주려면 코드와 주소값을 넣어줘야하기도 하고요. 

이렇게 마지막에 Press button to start conversation 이라는 문구가 뜨면 성공입니다. 이제 스피커의 버튼을 누르고, 물어보면, 구글 인공지능 서비스가 작동되며 답변을 해줍니다.

기본적인 답변 (오늘 날씨는 어때? 등이나, 사실을 묻는 것 등) 만 가능하지만, 데이터를 넣어주고 파이썬 코딩을 이용해 분석해주면 더 사용자가 원하는 질문과 답변이 할 수 있도록 수정할 수 있습니다. 저도 간단한 데이터를 넣어 분석을 해주고, 이 데이터에 대한 질문을 하면 답변할 수 있게끔 하는 실습까지 진행했었답니다.

 실습을 진행하며 Putty 등의 프로그램도 써보고 IP 문제도 해결해보며 기본적인 컴퓨터에 대한 상식을 쌓을 수 있었고, 운영체제의 기본적인 언어들을 학습해보고(이후 리눅스를 다룰때도 요긴하게 썼습니다), 기초적인 파이썬 문법도 다뤄보고, Google Cloud Flatform 의 Assistant도 연결해서 앱 도 등록해보고, Json 파일에 대해 알게 되는 등 다양한 부분을 얕게 배울 수 있던 좋은 프로그램이었던 것 같습니다.

+ Recent posts