자동화
개요
Automation.
말 그대로, 수동으로 하는 작업을 자동으로 이뤄지게 하는 활동을 이야기한다.
단어의 정의가 중요한 것은 아니다.
나는 자동화가 미래로 나아가는 핵심이라고 생각한다.
아래에서부터는 순수 내 생각 찌끄레기들이다.
핵심
자동화의 핵심은 수작업의 해방이다.
자동화는 사람의 손을 타는 일들을 사람의 손으로부터 독립시킨다.
특히, 반복적인 수작업을 자동화시킨다.
내가 일일히 되풀이해야만 했던 작업을 내 손에서 떠나보내는 것.
그러면 사람의 손에 여유가 생기고, 다른 생산적인 일을 할 수 있게 만든다.
어쩌면 농땡이를 피우게 할 수도 있지만, 어쨌든 손에 자유가 생긴다는 것이 중요하다.
단계
나는 자동화가 사실 도구의 발전의 연장선 상에 있다고 보는 입장이다.
그래서 자동화에는 단계가 있다.
각 단계마다 자동화는 하나씩 인간의 과업을 하나씩 해방시킨다.
수동 - 원초적 인간
자동이 없는 단계이다.
순수한 수동 상태는 사실 사람의 손만을 이용하는 단계이다.
불을 피우기 위해 사람이 손을 열심히 비비는 것.
아무리 비벼봐야 불이 날 리 없다.
수동 상태에서는 사실 할 수 있는 게 많지 않다.
그리고 도구가 발전한 지금 순수한 수동이라 할 만한 것은 많이 남아있지 않다.
도구 활용 - 한계의 해방
도구 없는 인간이 성립될 수 있는가?
호모 파베르라 부를 만큼, 사실 도구는 인간의 본성에 가까운 영역이라 위의 수동은 추상적인 개념에 불과하다.
인간은 자기 자신까지 도구화시킬 수 있다고, 혹자는 이야기한다.
칸트는 이를 경계하며 실천이성비판에서 사람을 수단이 아닌 목적의 왕국의 일원으로 대하라고 이야기했다.
현존재를 표현하고자 하이데거는 쓰임의 관점에서 도구를 설명했다.
나는 그 정도까지 도구에 깊게 생각하고 이야기하는 것은 아니다.
다만 도구는 인간의 영역을 크게 확장시켜주는 수단이 되었다.
나는 매클루언의 미디어 이론에 동조하는 편인데, 도구와 기술은 결국 매개를 해주는 미디어이다.
그리고 이것은 기능적 관점에서 신체의 확장이다.
사람은 불을 피우기 위해 나무와 부싯돌을 이용한다.
이로 인해 불을 피우는 능력이 없던 사람은 불을 피울 수 있게 됐다.
그래서 도구가 하나의 혁명이 되는 것이다.
자동화의 관점에서는, 인간의 한계가 해방된 것이다.
반자동화(semi-automation) - 물리적 해방
그러나 자동화의 관점에서 도구를 활용한다는 것은 충분하지 않다.
위처럼 불을 피우기 위해서 사람의 노력이 들어간다는 것은 여전하다.
도구적 인간의 행위는 두 단계로 나누어볼 수 있다.
불을 피워야겠다는 의지와, 이를 위해 부싯돌을 부딪치는 실천이다.
어떤 원인과 목표로부터 생기는 작업 의지와, 해당 작업을 실천하기 위한 행동.
각각은 일련의 노력을 자원을 소모하는 행위라고 볼 수 있다.
의지는 사람의 상상력, 사고력을 소모하는 일이라면, 실천은 실제 물리 노동력을 소모한다.
여기에서 실천의 영역을 거의 제로에 수렴하게 만드는 것이 바로 반자동화이다.
라이터를 이용해 불을 붙이는 것.
불을 붙이겠다는 의지를 가지면, 주머니의 라이터를 꺼내 손가락을 살짝 퉁기는 것으로 불을 붙일 수 있다.
손이 있는 모든 어른은 특별한 노력 없이도 불을 붙이는 것이 가능하다.
여기에서부터 자동화라는 개념이 본격적으로 두각을 드러낸다.
사람의 실천을 해방하는 자동화.
이 개념이 관건이라고 나는, 단계를 나눌 때 있어서 생각한다.
사실 이 단계가 무조건 엄밀히 나뉜다고 보기는 힘들다.
실컷 다른 것들로 개념을 들었으니, 내게 친숙한 IT로 소재를 돌려보겠다.
내가 만든 웹페이지들로 웹서비스를 하고 싶다.
물리적 환경을 구성하는 것은 제외하고 소프트웨어로만 보자.
나는 여기에 대해서 직접 웹서버를 구현하는 것이 가능하다.
그러나 그렇게 하지 않고, 단순하게 nginx를 사용하는 것도 가능하다.
이때 nginx를 쓰는 것은 반자동화의 영역이라고도 볼 수 있을 것이다.
그렇지만 내 기준에서 그것은 반자동화라고 하기에는 부족하다.
반자동화의 기준은, 의지가 생긴 시점에 목적을 달성하는 것이 일의 진행 사건 상으로도 가깝게 가능해야 한다.
즉 nginx를 설치한다는 명령어를 친다고 쳐보면 그 시점에 추가적인 노력 없이 웹 서비스가 가능하도록 해야 한다.
nginx를 설치했더라도 내가 원하는 웹 페이지를 보이기 위해서는 라우팅이나, 정적 파일 경로 설정이 곁들여져야 한다.
이것은 추가적인 행위를 소모하는 일이고 분명 작업이 훨씬 효율적으로 이뤄졌지만 충분하지는 않다.
이건 어떨까?
도커가 설치된 환경이고, 나는 이미 내가 원하는 nginx 웹서버를 진작에 이미지로 만들어두었다.
이제 나는 서비스를 하길 바란다.
그러면 내가 하면 되는 일은 컨테이너를 실행하는 것이다.
한번의 명령어로, 나는 내가 원하는 것을 이뤄낼 수 있다.
이것이 내가 말하는 반자동화이다.
이런 반론도 있을 수 있겠다.
결국 도커도 깔려 있어야 하고 도커 이미지도 말아야 하니 행위가 들어가는 것이 아니냐고.
그렇게 치면 현재 수중에 라이터가 없으면 라이터를 사거나 만드는 행위도 필요하니 이것도 반자동화라고 할 수 없을 것이다.
이것은 작업의 범위를 먼저 설정하는 것에서 시작된다.
일들을 프로젝트 단위로 나누는 것처럼 우리는 어느 정도 목표와 기한을 두고 일을 분할할 수 있다.
그것은 어떻게 나누냐에 따라 기준이 달라지겠지만, 위의 예시에서는 주어진 환경에서의 자동화를 말하는 것이다.
당연히 도커 이미지를 마는 것까지 작업의 범위로 넣는다면 그것은 반자동화라고 하기에는 문제가 있다.
완전 자동화(full automation) - 의지의 해방
사람은 불을 피우고 싶다는 의지가 있었다.
이것은 라이터를 통해 쉽게 이뤄질 수 있었다.
그러나 이 불은 왜 피울까, 사실 담배를 피우고 싶어서 촉발된 의지이다.
담배를 피우는 것은 반복되는 일이고, 이에 맞춰 불을 피우는 것 역시도 반복적으로 발생한다.
그렇다면 이건 어떨까, 인간은 담배를 제때 피우고 싶다는 의지만이 있다.
이때 불을 피워야겠다는 추가적인 의지와 작업의 목표를 세우지 않고도 자동으로 담배가 입에 물려지고 불이 붙는 것이다.
이때부터는 사람의 일이라고 하는 것은 자동화된다.
드디어 사람은 일이 필요한 곳에서 의지조차 해방될 수 있다.
위의 예시만 보더라도 엄청 어려운 일이라는 것이 감에 잡힌다.
비교적 간단한 것도 존재한다.
가령 내가 어떤 일정이 있다면, 그것을 간단하게 일정을 등록해둔다.
그러면 해당 일정을 적절한 시기에 리마인더시켜주고, 당일이 되기 전에 다시 알려주는 것.
이때부터는 내가 일정을 기억해야 한다는 작업이 소멸된다.
이미 이런 영역에서는 완전 자동화가 이뤄지고 있는 것이다.
이것이 내가 궁극적으로 바라는 자동화의 경지이다.
엔지니어의 업무로서 보자면, 쿠버네티스가 역시 제격이다.
웹 서비스를 쿠버네티스 환경에 올려둔다.
트래픽이 증가한다면 HPA를 통해 스케일링된다.
그러다 노드 자원이 부족해지면 Karpenter를 통해 노드를 스케일링한다.
새 버전을 올리면 GitOps 전략을 통해 자동으로 재배포된다.
이게 내가 쿠버네티스를 좋아하는 이유이다.
한번 설정만 잘해두면, 운영에 들어가는 많은 영역이 자동화될 수 있다.
당연히 여기에 대해서도 반론은 생길 수 있다.
쿠버네티스 열심히 세팅하는 것은 누구냐고.
세팅하는 것도 반복되면 자동화시킬 수 있겠지만, 쿠버네티스가 자동화시키는 것은 운영의 영역이다.
모든 설정이 이뤄지고 난 후, 이후에 발생하는 문제들에 대한 이슈 대응이 쿠버네티스의 핵심 기능이라고 보는 것이 적합할 듯하다.
자동화의 자동화
이건 추상적인 개념으로서 이룰 수 없는 개념적인 이상향 단계로서 제시하고자 한다.
완전 자동화에서 의지의 해방이 이뤄지는 것은 업무 영역을 어떻게 경계 짓는가에 따라 이미 이뤄지고 있다고도 말할 수 있다.
하지만 완전 자동화에서도 간과하면 안 되는 것은 인간의 의지가 한번이라도 촉발이 되어야만 자동화가 이뤄질 수 있다는 것이다.
일정 예시를 들었는데, 처음에 결국 일정 등록이라는 의지가 생긴 이후에나 자동화가 이뤄진다.
그러나 이것마저 자동화될 수 있다면?
인간이 의지를 불어넣어야 하는 최초의 동인조차 자동화될 수 있는 단계가 있을까?
이것은 어쩌면 인공지능에서 이야기하는 초인공지능, 강인공지능의 단계하고도 비슷하게 결을 볼 수 있을 것이다.
(애초에 자동화와 인공지능은 밀접한 연관이 있기도 하다)
사람이 내어주는 문제에 대한 답을 하는 존재가 아닌, 스스로 문제를 찾아 대응하는 단계.
인공지능으로서 이야기하면 언젠가 이 단계는 가능할 것처럼 생각되기도 한다.
다만 나는 이 단계를 조금 더 말이 안 되는 영역에까지 확장시켜 생각을 하고자 한다.
내게 있어 이 단계는, 인간이 어떠한 의지도 가지지 않아도 되는 상태가 가능한 상황이다.
내가 아침에 눈을 뜨면 일어나야 한다는 의지가 들기도 전에 일어나지고, 밥을 먹겠다는 의지가 생기기 전에 밥상이 차려지고.
놀고 싶다는 생각이 들기 전에 노는 환경이 갖춰지는 그런 이상향.
이게 좋은가 나쁜가를 차치하고서라도, 일단 이게 가능하겠냐에 대한 엄청난 의문이 생긴다.
그래서 말 그대로 이상향의 단계로서만 설정을 해두는 것이다.
그럼 이 단계를 굳이 왜 두는가에 대한 의문도 생기는데, 그것은 완전 자동화 단계가 경계 짓기에 따라 반자동화가 되기도 하고 자동화의 자동화가 될 수도 있기 때문이다.
1부터 n 사이의 수에서 소수를 찾는 함수 코드를 작성했다고 쳐보자.
이 함수를 발동시키는 것은 사람일 수 있다.
그러나 내부 코드에서 에라토스테네스의 체를 이용하여 한칸씩 리스트를 지워나가는 과정은 발동 주체 입장에서 조금의 의지도 촉발하지 않는다.
자동화의 영역을 소수가 아닌 수를 지워나가는 부분으로만 한정 짓는다면, 이 영역은 자동화의 자동화라고도 이야기할 수 있다.
물론 이러게 경계를 짓는 것은 그다지 의미가 없게 느껴진다.
반복하여 말하지만 어디까지나 개념적인 단계로서만 이해해주면 되겠다.
P-NEXT(네트워크 전문가 따라잡기) - 37회에 참가하면서 새로운 관점을 또 들을 수 있었다.
이상향, 자율화.
특징
이때 자동화에는 두 가지 특징이 있다.
첫번째는 반복성이다.
한번도 일어난 적이 없는 일, 이후에 하지도 않을 일을 자동화하는 것은 효용도 없고 불가능하다.
자동화의 핵심은 위에서도 말했듯이 반복되는 일을 줄이는 것에 있다고 본다.
여기에서 도구에 대한 논의와 조금 궤를 달리한다고 볼 수 있겠다.
두번째는 사람의 개입 가능성이다.
위의 일정 예시에서도 인간의 일정 등록으로 알림이 촉발된다.
쿠버네티스 역시 특정 설정은 사람이 진행하는 게 좋을 수도 있고, 어느 순간 필요에 따라 기능을 정지할 수도 있다.
즉 자동화라고 해서 완전히 사람의 손을 떠나간다는 것이 아니라 언제나 사람의 개입이 필요한 영역을 남겨둘 수 있다는 것이다.
물론, 원한다면 그리 할 수도 있을 것이다.
그러나 정말 모든 일을 기계에 맞기기에 고려해야 하는 영역이 있을 수 있기에 맹신은 금물이다.
아래 위험성에서 다루겠다.
이유
왜 나는 이것을 바라는가?
발전
우리는 이미 너무나도 많은 발전을 겪고 있다.
이 발전은 어디까지 이어질까?
글쎄, 레이 커즈와일이 말한 특이점이 오고 나서는, 그것을 재는 것도 의미가 없어질지도 모르겠다.
그러나 나는 발전의 이면의 폐해를 본다.
자연이 파괴되어 지구는 점점 더 사람이 살아가기 힘든 공간이 되어가고 있다.
경쟁은 자본주의의 제1가치로 빈부격차는 갈수록 심해져 사회의 갈등을 낳고 있다.
중심화된 세계는 여전히 파편화된 제3세계를 외면하고 있다.
이것은 내가 외면하고 싶은 세계이다.
하지만 그것이 존재하는 한, 나는 그것으로부터 등돌릴 수 없다.
나는 완전한 개인으로 살기는 그른 것 같다.
지구의 구성원이고, 사회의 구성원이다.
인류에 속한 종으로 나는 다른 이들을 챙기고 싶다.
나는 그 해결책으로 더욱 더 발전하기를 바라는 것이다.
어쩌면 제국주의적 사상일 수도 있다.
어쩌면 기술만능주의, 아니 이건 확실히 그런 것 같다.
나는 일론 머스크가 말하듯이 기술을 발전시켜 인류가 다행성종이 되길 바란다.
(이건 내 우주에 대한 편향이 그득한 의견이기도 하다.)
나는 무한 생산의 사회가 되어 모두가 최소한의 생존권을 보장 받았으면 한다.
(이건 이야기가 깊어지므로 다른 노트에서..)
당연히 이것으로 모든 문제를 해결할 수는 없다.
사실 나는 발전의 극대화는 차선이라 보는 입장이긴 하다.
최선은 모두가 욕심을 버리고, 화합을 제1의 가치로 내세우는 것이다.
그러나 이것은 불가능하다는 것을, 우리는 너무나도 잘 알고 있다.
우리는 다양한 개인을 품고 살아가는 사회이니까, 그로부터 시너지를 내는 공동체니까.
그렇다고 현 상태를 유지할 수는 없다.
그렇다면 도구의 발전이 우리를 새로운 세상으로 이끈 것처럼, 자동화를 통한 도약을 꿈꿔보겠다는 것이다.
나는 이것이 하나의 발전이라고 생각한다.
고려 요소
그럼 이러한 자동화를 위해서 고려할 것은 무엇인가?
여기 부분은 IT 엔지니어로서 가지는 고민들을 담고자 한다.
어디까지 자동화할 것인가?
어떤 작업을, 어디까지 자동화하는 게 좋은가?
자동 프로비저닝? 자동 스케일링? 자동 알람?
다양한 방면에 다양한 접근이 가능하다.
충분한 상황 고려와 테스트
사람이 일을 했던 데에는 사실 이유가 있기 마련이다.
기술의 발전이 충분하지 않았던 것도 이유가 된다.
그러나 그만큼 사람이 결정하는 것이 중요했던 일도 존재한다.
가령 고려할 변수가 너무도 많아서 그것을 전부 프로그래밍하는 것이 어려웠다던가.
그래서 최대한 많은 상황을 가정하고, 이 상황들에 대한 테스트를 진행하는 것이 중요하다.
웹 서비스를 한다면 TLS인증 자동 갱신 정도는 당연히 자동화가 되어야 한다.
이런 것들을 함부로 간과해서는 안 된다는 것이다.
위험성
자동화는 사람의 나태를 야기할 수 있다.
그래서 항상 조심할 필요가 있다.
안일함으로 인해 발생한 사고는 너무나도 많다.
최근에 봤던 것 중에는 비행기 착륙 사고가 떠오른다.
2013년 아시아나 항공 214편은 샌프란시스코 국제 공항에 착륙하는 과정에서 후미 날개가 부러지고 만다.
착륙할 때 활주로에 안착하지 못하고, 그 앞의 방파제에 꼬리가 걸려버리고 만 것이다.
결과 비행기의 꼬리날개 부분이 날아가고, 기체는 270도 가량을 회전하며 내동댕이쳐졌다.
사망자는 총 3명, 안전벨트를 하지 않은 두 명은 기체의 외부에서 발견되었다고 한다.
여기에 얽힌 이야기는 조금 더 있지만 아무튼..
사고의 원인은 조종사들의 오조종.
자동조종을 주로 하던 조종사들에게 수동으로 조종해야 하는 상황이 생겼고, 이에 수동 조종에 미숙한 조종사들이 사고를 일으키고 말았다.
아에로플로트 593편은 정말 어처구니 없는 인재를 맞는다.
94년에는 911 테러가 일어나기 전으로, 콕핏에 들어가는 게 꽤나 자유로웠는데 기장은 자신의 자식들을 기장석에 앉히고 조종간을 움직이게 하는 중대한 범죄를 저지른다.
파일럿들은 해당 기종에 대한 지식이 부족했는데, 결국 조종간의 수동 조작으로 오토 파일럿 모드는 해제되었고 아들의 손길따라 비행기는 급격하게 우선회를 하게 된다.
지나치게 기울어진 비행기는 양력을 잃고 실속에 빠져 제대로 된 대처도 일어나지 못한 채 3분 만에 저승으로 들어갔다.
다양한 이유가 있지만, 자동화에 대한 맹신이 없었더라면 이러한 상황은 연출되지도 않았을 것이다.
잘 될 것이라 신뢰한 자동화 장치 자체가 문제를 일으키는 경우도 발생할 수 있다.
스프링쿨러가 제대로 작동하지 않아 화재를 키운 사건들의 이야기는 허다하게 들어봤을 것이다.
2019년 바이킹 스카이 유람선은 폭풍이 이던 날물살이 거센 노르웨이 연안에서 모든 전기 공급이 중단되는 상황에 놓인다.
윤활유를 지속적으로 발전기를 미끄럽게 하는 역할을 하는데 배의 각도가 보장된 상태에서는 윤활유가 정상적으로 펌프에 빨려들어가지만 험한 날씨로 배가 출렁이는 상황에서는 그렇지 못했던 것이다.
엔진의 이상을 막고자 시스템은 자동으로 엔진을 꺼버렸고, 그로부터 유람선의 모든 동력이 차단되어 그대로 조난을 당하고 만다.
항상 문제는 일어날 수 있다.
이것을 명심하고, 두 가지 지점을 조심해야 한다고 생각한다.
먼저 모든 경우에 대해 확실하게 자동화가 되는지 생각해봐야 한다.
그리고 자동화가 됐다고 해서 완전히 관심 밖의 영역으로 돌려서는 안 된다.
반론
내 의견 자체가 가지는 결함이나 반론 거리를 생각해봤다.
존엄성의 말살
가치를 생산하는 것은 인간의 자아실현 수단이기도 하다.
정년 퇴임을 한 사람들이 우울증에 시달리기도 하는 것을 생각해보면, 단순히 모든 것을 자동화시키는 것이 좋은 것은 아닐 수 있다.
여기에서의 가치가 사회적으로 인정하는 종류의 것이라거나, 사용 가치에 한정하는 것이라면 나는 이 의견에 정면 반대한다.
이런 이야기를 할 때는 특히 직업이 개인에게 끼치는 영향에 대한 담론이 주를 이루기에 허수아비를 세우는 격일 수 있다.
아무튼 사람의 가치는 생산적인 것에만 머무르지 않는다.
꼭 사용가치가 있는 것만이 의미가 있는가?
춤을 추면서, 노래하면서 기뻐할 수는 없는 것인가?
그냥 취미로 공예를 할 수도 있는 것 아닌가?
인간이 느끼고 창출해낼 수 있는 모든 가치가
하고 싶으면 하라.
공부를 해도 좋고, 일을 해도 좋다.
요컨대 내가 바라는 것은, 그런 활동의 일체로 빈부의 고통이 야기되는 상황을 피하는 것이다.
어차피 춤을 누가 잘 추는지 재면서 충분히 사람들은 서로를 비교할 수 있다.
그러나 누가 못 췄다고 밥을 못 먹는 상황만은 없었으면 하는 것이다.
(이 말만 보면 누가 공산주의로 잡아갈 수도 있겠다..)
게으름뱅이의 사회
사람들이 나태에 빠지지는 않을까?
그럴 수 있다.
월E 라는 영화에서도 기계에 모든 것을 맡겨 걷는 것도 혼자 못하는 뚱뚱한 사람들이 묘사된다.
하지만 그러면 어떤가?
무한 생산이 되는 사회라면, 그런 사람들이 가득찬 세상이 어떤 잘못이 있는가?
우리는 발전과 성장을 중요한 가치로 내세우며 살아가고 있지만, 그것이 그 자체로 제1의 가치가 되어서는 안 된다는 것을 알고 있다.
모더니즘 이데올로기는 이미 수많은 비판을 받았다.