본문 바로가기

728x90

DevOps.

(243)
'데스크톱 소프트웨어를 완전 대체하는' 웹 사이트 11곳 웹 브라우저는 사람들이 플래시 게임만 플레이하고 이메일을 확인하고 채팅방에서 시간을 때우고 여러 가지를 다운로드하는 곳이었다. 하지만 이제는 옛날 이야기다. HTML5 등 웹 기술의 정교한 복잡한 발전 덕분에 웹 브라우저는 강력한 웹 앱으로 거의 모든 개인용, 그리고 업무용 작업을 수행하는 수준으로 성장했다. 데스크톱 소프트웨어를 다운로드할 필요가 없어지면서 하드 드라이브 공간을 절약하고 복잡한 설치 및 설정 프로세스 문제도 사라졌다. 웹 앱의 등장을 통해 크롬북 같은 새로운 종류의 인터넷 중심적인 기기도 탄생했다. 여러 작업을 수행할 수 있는 웹 앱이 많기 때문에 절대적인 목록은 아니겠지만, 비디오 편집기부터 음악 플레이어와 프로젝트 관리 도구 및 심지어 게임까지 웹에서 수행할 수 있다. 인비디오 (I..
국토지리정보원, 오차 1m 이내 위치정보 확인 개발 매뉴얼 공개 그동안 전문가용 고가 GNSS 측량기기에 사용하던 오차범위 1m 이내 위치정보를 앞으로는 스마트폰에서도 활용할 수 있게 됐다. 국토교통부 국토지리정보원은 지난해 10월부터 제공하고 있는 새로운 방식의 GNSS 보정정보(SSR)를 스마트폰에서 활용 가능하도록 개발한 위치보정정보 적용 기술을 16일부터 공개한다. 기존 OSR 방식은 모든 보정정보를 활용하기 때문에 고가 전문가용 GNSS 측량기기에 사용했으나 새로운 SSR 방식은 필요한 보정정보만 활용가능하기 때문에 데이터량이 작아 보급형 GNSS 기기인 스마트폰과 드론·자율차 등에서 활용할 수 있다. 국토지리정보원이 공개하는 기술은 연구개발 결과와 SSR 정보를 스마트폰에서 활용하기 위한 디코딩 기술과 개발자용 매뉴얼이다. 이 기술을 활용하면 일상생활에서 ..
[리눅스] 네트워크 상태를 확인하는 명령어 리눅스에는 네트워크 설정과 연결을 확인하는 다양한 명령어가 있다. ifquery 명령 ifquery는 매우 유용한 명령으로, 간략한 네트워크 인터페이스 목록을 보여준다. 그러나 다음과 같이 루프백 인터페이스만 표시될 수도 있다. $ ifquery --list lo 이런 현상은 /etc/network/interfaces 파일에 루프백 인터페이스 이외의 네트워크 인터페이스에 관한 정보가 포함돼 있지 않기 때문이다. 주소 할당에 DHCP가 사용된다고 가정하면 예제의 마지막 두 줄과 같은 코드를 추가해 해결할 수 있다. # interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback auto eth0 iface eth0 inet ..
'JavaScript' vs 'Java', Write Once, Run Anywhere 자바스크립트가 ‘한 번만 작성하면, 어디서든 실행된다’(Write Once, Run Anywhere, WORA)라는 슬로건을 지닌 자바를 밀어낼 수 있을지에 대한 논쟁이 격렬하다. 자바스크립트가 자바를 제치고 새로운 ‘WORA’ (Write Once, Run Anywhere) 프로그래밍 언어로 등극했다고 말할 수 있을까? 관점에 따라 대답이 달라진다. 그리고 웹 어셈블리와 같은 기술이 등장함에 따라 자바가 다시 약진할 가능성도 배제할 수 없다. ‘한 번만 작성하면, 어디서나 컴파일한다’(Write Once, Compile Anywhere)라는 새로운 패러다임을 내세울 수도 있는 것이다. ​​자바는 JVM이 작동하는 모든 곳에서 실행되어 모바일 및 임베디드 장치를 포함한 여러 운영체제와 하드웨어 플랫폼에 ..
파일·폴더 삭제하는 방법 매일 반복되는 작업을 빠르게 처리하는 데 있어, 명령 줄(command line)은 그 기능이 강력하지만 동시에 위험한 측면도 있다. 예를 들어 rm 명령을 이용하면 파일을 삭제할 수 있고, rmdir 명령은 폴더(디렉터리)를 지운다. 그러나 이런 과정은 파인더에서 파일을 휴지통으로 보내는 것과 다르다. 일단 이 명령을 사용하면 되돌릴 방법이 없으므로 주의해야 한다. 명령 줄로 파일을 '번거롭게' 삭제해야 하는 이유 사실 파인더에서 파일을 삭제하는 것은 전혀 어렵지 않다. 마음이 바뀌면 언제든 휴지통에서 꺼낼 수도 있다. 그런데도 명령 줄을 이용해 파일을 삭제하는 방법을 알아둬야 하는 몇 가지 이유가 있다. 예를 들면 다음과 같다. - 와일드카드를 이용해 여러 파일을 빠르고 효율적으로 삭제 가능 - 알 ..
사전대입공격이란, 대비하는 방법 사전대입공격(Dictionary Attak)은 공격자가 일반적으로 비밀번호에 많이 사용되는 단어나 문구를 사전(dictionary)처럼 만들어두고 무차별 대입으로 보안을 뚫는 기술이다. 단순하고 기억하기 쉬운 비밀번호를 여러 계정에서 동시에 사용하는 사람이 많다는 사실은 사전대입공격이 적은 자원을 가지고도 성공할 수 있다는 뜻이 된다. 사전대입공격은 일종의 무차별 대입 공격이지만, 성공 가능성이 높은 사전 정의된 비밀번호 목록을 사용한다. 예를 들어, 지역 스포츠팀 이름, 운동 선수 이름, 공격 대상 기업에 관련된 이름을 사용하며, 봄(spring), 여름(summer), 가을(autumn), 겨울(winter)를 포함하는 경우도 흔하다. 이런 비밀번호가 요구사항을 충족하도록 변경해야 한다. 사전대입공격..
[Linux] 로그인 실패 시도 모니터링 리눅스 서버에서 로그인 시도 실패가 반복적으로 나타나면, 누군가 계정 침입을 시도하는 것일 수도 있고, 단순히 비밀번호를 잊었거나 잘못 입력하는 상황을 의미할 수도 있다. 이 기사에서는 로그인 실패 시도를 점검하고 시스템 설정에서 계정이 잠기는 조건을 확인해서 문제에 대처하는 방법을 살펴본다. 가장 먼저 알아야 할 것은 로그인 실패를 확인하는 방법이다. 아래 명령은 우분투 및 관련 시스템에 사용되는 /var/log/auth.log 파일에서 로그인 실패를 찾는다. 누군가 틀린 비밀번호를 사용해 로그인을 시도할 경우 로그인 실패는 아래 라인과 같이 표시된다. $ sudo grep "Failed password" /var/log/auth.log | head -3 Nov 17 15:08:39 localhost ..
리눅스 사용자가 반드시 알아둬야 하는 12가지 명령어 오늘날 리눅스 사용자라도 꼭 필요한 때가 아니면 명령어를 직접 입력할 필요가 없다는 것은 리눅스가 얼마나 변화했는지를 보여주는 증거이다. 이미 많은 현대적인 리눅스 배포판의 GUI는 명령어가 필요없을 만큼의 품질을 보여준다. 하지만 아직도 명령어는 리눅스에서 작업을 수행하는 매우 효율적인 방법이다. 실제로 메뉴를 찾아 클릭하는 것보다 훨씬 간단하고 쉽고 직접적인 방법이다. 1. man 이 명령어를 가장 먼저 제시하는 것은 여러 면에서 가장 기초적인 것이기 때문이다. man은 다른 명령어에 대해 알고자 할 때 반드시 사용해야 한다. 기본적으로 man은 사용할 수 있는 다양한 명령어에 대한 기본적인 소개를 위해 온라인 매뉴얼 페이지를 보여준다. 이 명령어로 다른 명령어의 기능과 사용법을 이해할 수 있다. ‘..
'내부 개발자 플랫폼(IDP)'이란 빠르고 안정적인 소프트웨어 릴리즈를 위해 데브옵스 문화를 성공적으로 구축한 조직들은 ‘내부 개발자 플랫폼(Internal Developer Platform; IDP)’을 사용해 코드를 배포한다. 여기서 IDP는 무엇이며, 이를 어떻게 확보할 수 있는가? 현대적인 애플리케이션 개발에서 클라우드 컴퓨팅, 컨테이너화, 데브옵스, 마이크로서비스 아키텍처가 중요한 구성 요소로 자리 잡으면서 내부 소프트웨어 개발자 팀을 위해 이러한 리소스를 간단하게 관리할 방법이 필요해지고 있다. 많은 엘리트 엔지니어링 조직(예: 구글, 넷플릭스 아마존 등)에서 내부 개발자 플랫폼은 데브옵스 팀의 운영 부하를 완화해주는 한편 소프트웨어 개발자들이 불필요한 의사결정을 내릴 필요가 없도록 해준다. 美 전 대통령 버락 오바마가 과도한 ..
협업을 위한 '아웃소싱 참여 모델' 아웃소싱은 단순히 외부 기업에 일감을 던져주는 과정이 아니다. 전략적 파트너십에 가깝다. 제대로 ‘아웃소싱’ 하기 위해서는 스마트한 준비가 필요하다는 의미다. 제대로만 한다면, 전략적 파트너십은 처음부터 분명한 결과와 과정을 예상할 수 있는 행복한 협업 경험일 수 있다. 외부의 도움을 받아 내부 팀의 역량을 넘어서는 결과물과 혁신을 이루어 낼 수도 있다. 새로운 아이디어란 어디에서나 나타날 수 있기 마련이다. 그러려면 무엇보다 준비 단계가 중요하다. 아웃소싱 파트너와 호흡을 맞추며 파트너의 전문성을 잘 활용해야 한다. 아웃소싱을 단순히 일감을 덜어줄 수단으로만 봐서는 곤란하다. 회사에 잘 맞는 아웃소싱 참여 모델을 선택해 양측 모두에 투명하게 공개하고 아웃소싱 관계의 모든 측면에 있어 강력한 관리, 통제..
프로젝트 관리 '아웃소싱' 검토사항 리스트 업계, 기업 규모나 유형에 맞는 만병통치약 같은 유일한 솔루션 같은 건 존재하지 않는다. 각기 다른 프로젝트 관리 방법론들에서 그랬듯, 위험요소와 이점을 꼼꼼히 따져보고 프로젝트 관리 아웃소싱이 기업에 적합한지 그렇지 않은지 검토해보아야 한다. 프로젝트 관리 아웃소싱에 관심을 둘 만한 상황 직원 규모 제약 업체 규모에 따라 프로젝트 관리 사무실(PMO)을 설치하고 지원하기에 충분한 직원 규모를 갖추지 못하고 있을 수 있다. 한 명 이상의 직원을 오직 프로젝트에만 전념하도록 배정시킬 만큼 충분한 규모가 아닌 기업이 사실 더 많다. 프로젝트 관리를 아웃소싱하면 내부 직원 자원을 재배치할 필요가 없어지는 한편, 프로젝트 이후 발생하는 재배치 문제에서도 벗어날 수 있다. 경험 많은 직원 부족 회사 규모와 무관하..
경력 개발에 도움이 되는 '소프트 스킬' IT전문가들에게 기술력이란 취업의 관문을 통과하기 위한 필요조건이다. 하지만, 임원이 되는 사다리에 오르려면 소프트 스킬이 필요하다. IT전문가들에게 소프트 스킬(Soft Skill)이 필요하다는 주장은 예전에도 제기됐던 것이다. 하지만 이런 소프트 스킬의 계발을 회피해 온 IT 전문가들에게 시간이 점점 부족해지고 있다. 이제는 기술이 비즈니스 전략의 필수적인 부분이 되었기 때문에 컴퓨터밖에 만질 줄 모르는 직원에 만족하는 고용주를 찾아보기가 어려워졌다. 그리고 팀워크 및 협업과 함께 업무 위주의 개인적인 상호작용도 IT내에서 중요해졌다. 첨단 기술이나 우수한 전략보다 더 중요한 것이 소프트 스킬 계발이며 이를 기업 문화의 하나로 만들어야 한다는 주장도 잇다. 훌륭한 기업들은 전략 수립보다 문화 조성을 ..
샤딩의 이해와 해결 과제 국제 금융 거래부터 공급망 관리에 이르기까지 온갖 분야에서 블록체인 파일럿 프로그램이 증가하고 있지만 한 가지 문제는 여전히 남아 있다. 바로 확장성의 부족이다. 피어 투 피어 네트워크에 참여하는 컴퓨터가 많아질수록 전체 시스템의 효율성은 일반적으로 떨어지게 된다. 확장성은 이미 비트코인, 이더리움의 이더와 같은 암호화폐에서 문제점으로 드러났다. 분산 원장이 금융 기술(핀테크) 기업에 도입되고 수백 배 더 빠른 결제 네트워크와 경쟁하려면 확장성과 처리량을 늘리고 지연 문제를 해결할 방법을 반드시 찾아야 한다. 그래서 등장한 것이 “샤딩(sharding)”이다. 샤딩은 거래 처리량을 늘리기 위해 많은 개발자들이 연구하고 있는 여러 방편 중 하나다. 간단히 설명하면 샤딩은 연산 및 저장 부하를 피어 투 피어..
'6 시그마' 프로세스 전략과 IT 시너지 모토롤라가 1980, 90년대 개발한 프로세스 개선 전략인 식스 시그마(Six Sigma)는 제너럴 일렉트릭(General Electric)에 도입된 이후 품질 개선을 위한 캐치 프레이즈로 시장의 주목을 받아왔다. 6 시그마 전략은 본래 제조 및 공급망의 결함을 축소, 제거하기 위한 목적으로 개발된 것이지만, 현재는 IT를 포함한 여타 부문 및 서비스에서도 데이터 주도, 프로세스 개선 전략으로 자리 잡아가고 있다. 그렇다면 IT부문이 6 시그마와 같은 프로세스 개선 전략을 이용할 수 있는 구체적인 방안은 무엇일까? 1. 6 시그마는 보다 나은 의사 결정을 가능케 한다. IT 사업부가 기업 내부의 다양한 인자들에 영향을 미치는 다수의 변화 주도 활동을 동시에 이끄는 역할을 한다는 점을알아야 한다. 6 시그..
개발자들이 알아두면 좋은 'MDM'의 모든 것 그동안 개발자는 데이터 아키텍처, 분석, 마케팅 부서의 많은 간섭 없이 전용 모바일 애플리케이션, API, 내부 워크플로우 애플리케이션을 만들 수 있었다. 하지만 이제 이들 부서는 처음으로, 개발 중인 새로운 애플리케이션을 MDM(master data management, 기준정보관리) 플랫폼과 통합하도록 요구하고 있다. MDM이 낯설게 느껴지는 이들도 있겠지만 사실 그 개념은 오랜 역사를 갖고 있다. 현대적인 시스템으로 등장한 것은 1990년대지만 기업이 빠르게 확산하지는 않았다. 이제는 많은 기업이 정리된 고객 연락처를 유지 관리하고, 데이터 품질을 개선하고, 적극적 사전 조치의 프로액티브(proactive) 데이터 거버넌스를 도입하기 위해 애쓰고 있지만 MDM이 주류로 부상한 것은 불과 몇 년이 안..
SW 프로젝트 속도를 높이는 방법 IT리더와 고객은 소프트웨어 프로젝트가 신속히 마무리되기를 원한다. 그러나 속성 개발은 오류 코드, 부실한 테스팅, 불완전한 솔루션, 심지어 보안되지 않은 소프트웨어로 이어지기 쉽다. 소프트웨어 프로젝트가 실패하기를 원하는 사람은 없겠지만 때에 따라 특정 상황, 예를 들어 시장 환경, 비즈니스 요구, 기회의 여지로 속도를 우선시하는 선택이 정당화될 수 있다. 소프트웨어 개발은 단순히 합리적 노력에 그치지 않는다. 이는 요령이기도 하고 여러 조직에서 비즈니스 전략의 불가결한 부분이기도 하다. 이들 요소가 서로 접하는 지점에서 개발 프로세스를 좀더 효율적으로 조정할 가능성이 존재한다. 물론, 이는 효과적이고 적절하며 단순하고 안전해야 한다. 완전한 소프트웨어를 개발한다는 꿈을 접고, 그 대신 취사선택이 필요..
AI옵스(AIops)란 무엇인가 데브옵스(DevOps)와 SRE(Site Reliability Engineering)는 애플리케이션을 관리 및 유지하는 데 필수적이다. 여기에 더해 AI옵스(AIops)가 효율성을 한 단계 더 높일 수 있다. IT 운영팀은 시스템 및 애플리케이션의 성능 문제를 여러 툴을 사용해 모니터링, 진단, 해결한다. 1,300 명의 IT 전문가를 대상으로 한 ‘모니터링 및 AI옵스의 미래(future of monitoring and AIops)’에 관한 최근 설문조사에 따르면 응답자의 42%가 10가지 이상의 모니터링 툴을, 19%는 25가지 이상의 툴을 사용한다. 단지 시스템을 원활하게 운영하고 애플리케이션 오류를 모니터링, 알림, 조사, 해결하는 데 필요한 데이터를 제공하는 것치고는 너무 많은 도구를 사용한다고..
IT 팀 성과 관리 7단계 모든 IT리더는 성과, 정밀도, 속도로 명성이 자자한 조직을 운영하고 싶어한다. 안타깝게도 이런 고결한 목표는 IT내부의 무능력한 이들 때문에 달성할 수 없는 경우가 많다. 숨겨져 있는 각종 문제를 발견하고 직원들의 적이 되지 않으면서 이를 해결하기란 어렵다. 생각했던 것보다 능력이 부족한 것으로 판명된 IT직원은 아무리 많은 증거를 들이 밀어도 자신의 부족한 성과를 인식하지 못하는 경우가 많다. 무엇보다도 타인이 보유한 기술의 능숙도 또는 우수성을 인식하지 못한다. 그런 사람에게 설명할 수 있는 방법이 없다. 가능한 신속하게 역할을 박탈하는 방법밖에는 없다. 성과가 부실한 직원을 다루기란 헷갈리는 데다 불쾌한 일이다. 문제를 통제하려면 신중한 대화, 전략적인 상담, 통찰력 있는 해결책이 필요하다. 문제..
프로젝트가 실패하는 이유 프로젝트가 실패하면 많은 금전적 손실이 뒤따른다. 프로젝트가 실패하는 이유는 다양하다. 1. 변화를 거부하는 문화 프로젝트가 실패를 향하고 있다는 첫번째 경고 신호이자 가장 중요한 요인은 변화에 저항하는 내부 문화다. 워크플로우의 개선과 새로운 운영적 베스트 프렉티스를 도입하는 프로젝트는 대부분 더 많은 기술을 활용한다. 이러한 변화는 직원에 상당한 공포를 초래할 수 있다. 업무 방식의 변화로 어려움을 겪거나 심지어 일자리를 잃을 수도 있다는 걱정이다. 많은 프로젝트가 시작단계부터 내부 저항에 부딪히는 것도 이 때문이다. 이처럼 변화에 저항하는 문화가 있다면 어떻게 대처해야 할까? 이런 직원들은 종종 정보 공유를 거부하고 프로젝트와 그 기대효과에 대해 부정적인 태도를 보인다. 심지어 직접적으로 반대 의사..
'VPN'과 '바이러스백신'의 차이점과 둘 다 필요한 이유 바이러스백신과 VPN은 같을까? 그렇지 않다. 이 둘은 다른 유형의 보안과 기능을 제공한다. 바이러스백신 소프트웨어는 최신 버전으로 설치해야 한다는 점은 누구나 아는 사실이다. 그러나 VPN은 대부분 사람에게 조금은 이해하기 어려운 기술이다. VPN이 가상사설망(Virtual Private Network)이라는 것도 알지 못할 수 있다. 이는 VPN이 왜 필요한지 모를 수도 있다는 이야기다. VPN을 사용해야 하는 이유 간단히 말해, VPN은 암호화된 인터넷 연결이다. 와이파이 작동 방식을 알고 있다면, 와이파이 네트워크를 비밀번호로 보호하면 연결이 암호화된다는 사실을 알고 있을 것이다. 그러나 이 경우 장비와 라우터, 또는 핫스폿 간 연결만 암호화된다. VPN은 자신이 사용하는 장비와 전세계 어디에나 ..
데브옵스, 꼭 좋은 것만은 아니다 태초에 코드가 있었고 코드를 작성하는 코더가 있었다. 개발자가 모든 것을 책임졌다. 논리를 만들어 냈고 서버에 계속 실행되도록 이런저런 버튼을 눌러야 했다. 그런데 팀이 확장하고 노동 분화가 일어나면서 상황이 달라졌다. 일부 팀원은 코드 작업을 계속했고(개발(devs)) 나머지는 시스템 관리를 담당하게(운영(ops))된 것이다. 최근에는 클라우드 덕분에, 그리고 마이크로서비스가 발달한 덕분에, 소프트웨어는 서로 다른 시스템에서 실행되는 수십 개, 많으면 수천 개에 달하는 구성 요소의 합으로 변모했다. 각자 기술적으로는 독립적이지만 시스템 전체가 함께 작동해야 했다. 이를 보장하기 위한 최선의 수단은 자동화 스크립트다. 이제 데브옵스(DevOps)의 역할이 필요하게 됐다. 데브옵스 팀의 핵심 업무는 이러한..
HTTP 상태 코드 모든 HTTP 응답 코드는 5개의 클래스(분류)로 구분된다. 상태 코드의 첫 번째 숫자는 응답의 클래스를 정의한다. 마지막 두 자리는 클래스나 분류 역할을 하지 않는다. 첫자리에 대한 5가지 값들은 다음과 같다. 1xx (정보): 요청을 받았으며 프로세스를 계속한다 2xx (성공): 요청을 성공적으로 받았으며 인식했고 수용하였다 3xx (리다이렉션): 요청 완료를 위해 추가 작업 조치가 필요하다 4xx (클라이언트 오류): 요청의 문법이 잘못되었거나 요청을 처리할 수 없다 5xx (서버 오류): 서버가 명백히 유효한 요청에 대해 충족을 실패했다 1xx (조건부 응답) 요청을 받았으며 작업을 계속한다. 이 상태의 상태 코드는 상태-라인과 선택적 헤더(컴퓨터에서 출력될 때 각 페이지 맨 윗부분에 자동으로 붙..
효과적인 IT 회의를 위한 21가지 노하우 계획, 피드백, 칭찬은 IT회의를 최대한 활용하는 가장 좋은 방법 중 하나다. 회의를 통해 많은 목적을 달성하지만, 회의가 항상 효과적인 것은 아니다. 회의를 잘못 진행하면 시간 낭비가 될 수 있다. 직원에게 정보를 제공하고 직원을 독려하고 참여시켜 생산성을 높이고 조직 전체의 목표를 명확하게 해주는 회의가 필요하다. 1. 원격 친화적인 회의 실제로 사무실에 다 같이 모여서 할 수 없는 회의를 고려하는 것은 중요하다. 이는 특히 원격 근무자와 관련이 있다. 대표적인 방법으로 화상 회의가 있다. 회의에 참여해야 하는 사람들이 화상 회의에 접근해 프레젠테이션 화면을 공유하고 다른 사람에게 전화를 걸거나 화상 통화로 실제로 회의실에 있는 것처럼 느낄 수 있다. 줌과 기업용 스카이프는 기업이 국내외에서 근무하는..
AI 개발을 위한 최적의 프로그래밍 언어 인공 지능(Artificial Intelligence, AI)는 애플리케이션 개발자에게 무한한 가능성을 제공한다. 머신러닝 또는 딥 러닝을 활용해 훨씬 더 정확한 사용자 프로필, 개인 맞춤 설정, 추천을 만들거나 더 스마트한 검색, 음성 인터페이스 또는 지능형 비서를 구현하거나 그 외의 다양한 방법으로 앱을 개선할 수 있다. 심지어 예전에는 생각지도 못했던, 보고 듣고 상황에 반응하는 애플리케이션을 만들 수도 있다. AI를 온전히 활용하기 위해서는 어떤 프로그래밍 언어를 배워야 할까? 물론 좋은 머신러닝, 딥 러닝 라이브러리가 풍부한 언어가 좋다. 또한 우수한 런타임 성능, 충실한 툴 지원, 대규모 프로그래머 커뮤니티, 건강한 지원 패키지 생태계도 필요하다. 요구사항이 많지만 괜찮은 선택지 역시 풍부하다..
애자일 입문 가이드 애자일이란 무엇인가? 애자일(agile)은 스프린트(sprint)라는 이름의 짧은 개발 사이클을 적용해 제품이나 서비스 개발을 지속해서 개선하는 데 초점을 맞춘 프로젝트 관리 방법론이다. 애자일의 역사는 언제 시작되었나? 1957년 이래로 많은 전문가들이 자신만의 소프트웨어 개발 방법론을 제안해왔다. 그리고 애자일에 대한 심도 있는 논의는 1970년대 윌리엄 로이스가 공개한 대형 소프트웨어 시스템 개발 관련 논문을 통해 본격화됐다. 이후 2001년, 17명의 소프트웨어 개발자가 ‘애자일 선언문’이라는 이름으로 “인간 중심의 반복적 소프트웨어 개발 방법론을 구성하는 4개의 핵심 가치와 12개의 원칙에 대한 공식적인 선언”을 발표하며 애자일은 다시 시장의 주목을 받게 된다. 이 개발자들은 각자의 경험에 기초..
예산·일정 초과 없는 프로젝트 목표 달성 7단계 과거에는 프로젝트가 실패하면 프로젝트 수준의 요인이 더 많은 주목을 받았다. 프로젝트 성공률 또는 실패율을 크게 좌우하는 것은 더 높은 수준의 전사적 요인이라는 사실은 무시하거나 지나치는 경우가 많았다. 이러한 상위 수준의 요인이 부재하거나 프로젝트 목표와 일치하지 않을 경우 프로젝트 전문가가 프로젝트 목표를 달성하는 것은 거의 불가능했다. 일정 및 예산 초과 없는 목표에 맞게 프로젝트를 완수하려 다음 7단계가 관건이다. 이해관계자가 원하는 지속 가능한 결과를 만들어 내려면 회사와 프로젝트 지도부가 이 모든 분야에서 동조해야 한다. 1. EPMO를 통한 전사적 전략 목표 일치 전략은 모든 회사 계획을 이끄는 로드맵이다. 전략이 없으면 기업 내 팀들은 맹목 비행을 무릅쓰게 된다. 그러면 장기 목표도 위험해..
데브옵스 엔지니어의 역할과 조건 데브옵스를 요약해서 설명하면 이전까지 외따로 분리되어 있던 개발(애플리케이션을 만드는 이들)과 운영(이 애플리케이션이 정상적으로 작동하도록 하는 이들)을 하나의 팀으로 통합하고자 하는 문화이자 철학이다. 통합 팀은 지속적 통합과 지속적 전달, 테스트를 사용해서 기존 코드베이스를 자주, 증분적으로 개선해 프로덕션으로 배포한다. 데브옵스 엔지니어는 이런 팀에서 활동하기 위해 필요한 기술을 갖춘 사람이다. 그러나 데브옵스의 모든 것이 그렇듯이, 데브옵스 엔지니어를 딱 부러지게 명확히 정의하기는 어렵다. “데브옵스 엔지니어”라는 말 자체가 이들의 직무를 적확하게 기술하는 용어가 아니라고 주장하는 의견도 있다. 그러나 높은 급여를 주고 ‘데브옵스 엔지니어’를 채용하고자 하고 기업이 점점 늘어나고 있다. 데브옵스 ..
'하이퍼컨버전스'란 무엇인가 하이퍼컨버전스는 데이터센터의 복잡성을 줄이고 확장성을 높이기 위해 스토리지, 컴퓨팅, 네트워킹을 하나의 시스템으로 결합한 IT 프레임워크다. 하이퍼컨버전스 플랫폼에는 가상화 컴퓨팅을 위한 하이퍼바이저(hypervisor), 소프트웨어 정의 스토리지(software-defined storage), 가상화 네트워킹 등이 포함되며, 일반적으로 표준형 서버에서 실행된다. 여러 개의 노드를 컴퓨팅 및 스토리지 리소스 풀을 공유하도록 클러스터링할 수 있어 편리하게 사용할 수 있다. 단일 공급업체가 지원하는 범용 하드웨어를 사용하면 기존 기업 스토리지 인프라보다 유연하고 관리하기가 쉬운 인프라를 만들 수 있다. 하이퍼컨버전스는 데이터센터 현대화 프로젝트를 시작하는 IT 리더에게 기존에 자체적으로 구축한 하드웨어를 포..
SQLite를 사용해야 하는 이유 모든 비즈니스 애플리케이션의 내부에는 구조적 데이터를 저장하고 사용하는 나름의 방법이 구현돼 있다. 클라이언트 측 앱이든 웹 프론트엔드를 사용하는 앱이든 에지 디바이스 앱이든 대부분의 경우 내장 데이터베이스가 필요하다. 이런 경우를 위해 설계된 SQLite는 내장 가능한 오픈소스 데이터베이스로, C로 작성됐으며 일반적인 SQL로 쿼리가 가능하다. SQLite는 킬로바이트의 데이터를 저장하든 수 기가바이트의 블롭(blob)을 저장하든 빠른 속도와 이식성, 안정성을 제공하도록 설계됐다. SQLite의 사용 환경 SQLite의 가장 큰 장점 중 하나는 거의 어디에서나 실행 가능하다는 데 있다. SQLite는 윈도우, 맥OS, 리눅스, iOS, 안드로이드를 비롯한 다양한 플랫폼에 이식됐다. 특히 윈도우 사용자는..
칸반 (Kanban), 효율적인 작업 흐름 관리의 시작 칸반(Kanban)이란 생산 과정에서 효율성과 기민성을 높이기 위한 간소화된 작업 흐름 관리 시스템이다. 일반적으로 소프트웨어 개발에 사용되지만 IT뿐만 아니라 모든 업무 영역에서 점진적인 개선을 지향한다. 1940년대 초반 일본에서 토요타에 의해 개발됐으며, 본래 프로젝트 관리를 대체하거나 개발 방법론 역할을 하려고 만들어진 것이 아니다. 대신, 더 좋은 작업 흐름 구조를 만들어 이미 확립된 공정을 개선하는 데 중점을 둔다. 칸반은 조직 내에 진행 중인 업무(Works In-Progress , WIP)가 일정 수준 이상 밀려 있지 않게 하는 데도 도움을 준다. 이 밖에도 강력한 리더십, 조직적 투명성, 팀워크, 사내 열린 소통과 협업을 지원한다. 칸반을 활용하면 눈에 보이지 않는 작업을 가시화할 수 있..

728x90
반응형
LIST