Offcanvas
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
Offcanvas
1111Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.

개발

블로그 | 2023년, 클라우드 전문가로 살아남는 법

우선, 필자는 새해 결심을 세우는 것에 대해 적극 찬성하는 편은 아니다. 사람들 대부분이 매년 지난해보다 발전해야 한다는 강박이 있는 듯 하나, 1월 1일뿐이다. 이런 것이 인간 본성이든 아니든 간에 필자가 다니는 스포츠 센터는 1월에 가장 북적이다가 2월이 되면 할인 행사에도 사람이 줄고 3월에는 런닝머신보다는 도넛을 택하는 사람들이 많아진다.  그러니 연초에 급여를 높인다거나 직업 만족도를 높인다거나 혹은 두 가지를 모두 실현하기 위한 시도는 잠시 미뤄두길 바란다. 여기 클라우드 전문가라면 고려해야 할 새해 결심이 있다.      클라우드 기술을 다양화하라 오늘날 클라우드 기술은 고도로 전문화돼 있다. 예를 들어 클라우드 데이터베이스 전문가라고 하면 단순한 데이터베이스 전문가가 아니라 특정 클라우드 기반의 특정 클라우드 데이터베이스에 전문성을 가진 사람이다. 클라우드 기반 비즈니스 인텔리전스, 특정 SaaS, 특정 OS 기반의 클라우드 운영 전문가 역시 마찬가지다. 너무 세분화됐다고 느낄 정도다. 이런 한계로 인해 자신이 전문으로 한 클라우드 기술이 대중적 인기를 얻지 못할 경우 선택지가 제한된다. 이럴 때엔 마지막까지 뭔가를 배우려고 하기보단 앞날을 도모하고 기다리는 편이 낫다. 현재 보유하고 있는 기술과 어느정도 연관성이 있는 기술 중 어떤 기술이 가장 수요가 많은 지 알아보려면 구직 사이트를 찾아보고 새로운 직장으로 통하는 기본기를 길러라.  예를 들어 단일 클라우드 객체 데이터베이스에만 집중했다면, 다른 클라우드 솔루션 업체의 객체 데이터베이스를 하나 또는 두 개 정도 배워라. 개념이 흡사할 경우 상대적으로 전환이 용이할 것이다. 현재 클라우드 개발자라면 클라우드에서 파생하는 개발 같은 것을 배워보는 등 업무 분야를 넓힐 수도 있다. 아니면 데이터베이스, 개발, 운영 등 클라우드 아키텍처에 대해 배워 기반 기술을 쌓으며 역량을 키워라. 아키텍처는 그럴 만한 가치가 있다.  자신이 가장...

클라우드 개발 핀옵스 2023.01.02

글로벌 칼럼 | 로우코드와 애플리케이션 복잡성 간의 상관관계

여전히 로우코드에 대한 관심과 논란이 지속되고 있다. 많은 소프트웨어 개발자가 로우코드를 사용하면 애플리케이션의 개발 프로세스가 개선되는지, 아니면 애플리케이션 품질이 떨어지는지 잘 알지 못한다. 어떤 개발자는 로우코드가 보안에 미치는 영향을 우려하기도 한다. 만약 로우코드로 인해 애플리케이션의 복잡성이 증가한다면, 로우코드는 보안 문제를 더 난해하게 만드는 셈이다. 하지만 과연 로우코드가 애플리케이션을 더 복잡하게 만들까? 로우코드 사용과 애플리케이션 복잡성 간의 상관관계를 자세히 살펴보자.     복잡성은 접근법과 별개 로우코드가 반드시 애플리케이션의 복잡성을 야기하는 것은 아니다. 전통적인 애플리케이션 개발과 마찬가지로, 복잡성은 주로 제품 코드 베이스의 라이프사이클과 관련이 있다. 애플리케이션이 어떻게 만들어졌는지에 관계없이 복잡성을 완화하는 여러 방법이 있으며, 이들 접근법을 통해 성능과 확장성, 가용성, 혁신 속도를 개선할 수 있다. 물론 로우코드 애플리케이션에 대해서도 다른 제품 개발 프로세스처럼 복잡성을 낮추는 간소화 기법을 사용해야 한다.   ‘알 수 없는 것’과 복잡성 로우코드를 사용하면 애플리케이션에 개발팀이 직접 사용하지 않은 코드 수가 증가한다. 로우코드 플랫폼에 의해 더 많은 코드가 자동으로 생성되거나, 애플리케이션 작동에 필요하지만 개발자가 만든 것은 아닌 라이브러리에 포함된 코드가 늘어나는 것이다. 따라서 로우코드를 사용하면, 애플리케이션에 ‘알 수 없는 코드’가 더 많아진다. 하지만 ‘알 수 없는 것’과 복잡성은 다르다. 알 수 없는 코드 자체는 애플리케이션의 복잡성을 가중시키지 않는다. 반대로 그런 경우도 있지만 말이다.   복잡성을 낮추는 로우코드 로우코드를 사용하면 애플리케이션의 복잡성을 낮출 수 있다. 로우코드 플랫폼은 애플리케이션 개발자의 인지 부하와 시간 압박을 완화한다. 따라서 개발자는 세부 작업보다 비즈니스 논리에 더 집중할 수 있다. 세부 작업은 로우코드 환경에서 처리된...

로우코드 애플리케이션 개발 2022.05.11

“떡잎부터 잘 키운다” 시민 개발자 육성 가이드 - Deep Dive

원격 근무 지원부터 최신 기술 배포까지 기업 IT 조직의 부담은 갈수록 늘어나고 있다. 이런 상황에서 IT 전문 지식이 없는 비개발자도 로우코드/노코드 플랫폼에서 기업 애플리케이션을 보완∙수정하고 개발에 참여할 수 있는 시민 개발자(Citizen Developer) 정책이 주목받고 있다. 시민 개발자는 IT 조직과 다른 부서 간 사일로를 제거하고 워크플로우를 최적화함으로써 조직의 혁신 속도를 높일 수 있다. 하지만 누구나 개발자가 될 수 있다는 점은 IT 조직 입장에서 큰 혼란이기도 하다. 시민 개발자 개념과 활용 전략을 중심으로 살펴보자. 주요내용 - “묘책과 삽질 사이” 시민 개발자의 개념 - “섀도우 IT 막으려면 IT 조직의 감독·개입 필요” 시민 개발자 정책 - 시민 개발자와 책임 있는 AI의 양립 가능성 - “잘 써야 보약” 로우코드를 관리하는 방법 8가지

시민개발자 로우코드 노코드 2022.03.15

데브섹옵스팀에 카오스 엔지니어링이 꼭 필요한 이유

‘카오스(chaos)’와 ‘엔지니어링’이라는 단어는 보통 잘 어울리지 않는다. 훌륭한 엔지니어는 결과적으로 혼란(chaos)스러운 상황을 멀리하기 때문이다. 그러나 최근에는 여러 소프트웨어 개발자가 숨겨진 결함을 드러냄으로써 컴퓨터 시스템을 강화하기 위해 적당한 수준의 ‘카오스’를 사용한다. 카오스 특성상 결과가 보장되지는 않으므로 완벽한 방법은 아니지만, 의외로 효과적인 경우가 많다.   카오스 엔지니어링은 문서화되지 않고 예측할 수 없는 백도어를 찾아야 하는 보안 애널리스트에게 특히 유용하다. 카오스 테스트로 모든 보안 문제를 찾을 수는 없지만, 개발자가 생각하지 못한 패치하지 않은 위험한 취약점을 발견할 수 있다. 좋은 카오스 엔지니어링은 데브섹옵스팀과 데브옵스팀에 모두 도움이 된다. 안정성 또는 탄력성 문제가 곧 보안 문제로 이어지는 경우도 있고, 동일한 코딩 실수가 전체 시스템 중단이나 사이버 공격자의 침입으로 이어질 수 있어서다. 카오스 엔지니어링이란? ‘카오스 엔지니어링’은 성공적인 결과가 입증된 여러 기법을 통칭하는 신조어다. 컴퓨터 시스템을 비틀어 균형을 무너뜨리고 멈추게 만들기도 하므로 ‘퍼징(fuzzing)’이나 ‘글리칭(glitching)’이라는 용어를 사용하기도 한다. 카오스 엔지니어링은 소프트웨어에 스트레스를 가하는 무작위 행동을 주입한 후 오작동이나 버그가 나타나는지 주의 깊게 관찰하는 방법이다. 정상적인 사용 환경에서는 발견까지 몇 년이 걸리는 문제를 카오스 엔지니어링으로 비교적 짧은 시간 안에 발견하는 경우가 많다.  EFF(Electronic Freedom Foundation) 공동 설립자 존 길모어는 “코딩은 지속적인 개선 과정이며 카오스 엔지니어링은 가능한 모든 실행 경로를 찾는 속도를 높이는 대표적인 방법이다. 오랜 기간 실행되는 코드는 해당 코드를 처음 실행하는 1,000만 명의 사용자, 코드를 처음 컴파일하는 20개의 컴파일러, 그리고 코드를 처음 실행하는 5개의 운영체제를 통해 대부분의 버그...

카오스엔지니어링 취약점발견 개발 2022.01.24

글로벌 칼럼 | 제품 디자인은 윤리적이어야 할까?

반복되는 스캔들과 EU의 GDPR(General Data Protection Regulation), 넷플릭스의 다큐멘터리 ‘소셜 딜레마(The Social Dilemma)’ 덕분에 대중은 점점 AI와 기술, 그리고 데이터 사용과 관련된 윤리 문제를 인식하고 있다. 사회적 활동을 하며 기업에 비즈니스 관행을 재고할 것을 촉구하는 개발자, 디자이너, 기술자의 움직임이 증가하고 있다. 즉 이런 사람들은 기업이 보다 윤리적이기를 원한다. 최근 필자는 베이스캠프(Basecamp)의 디자이너이자 헬로웨더(HelloWeather)의 공동 제작자인 요나스 다우니와 대화할 기회가 있었다. 베이스켐프는 ‘헤이(Hey)’라는 새로운 이메일 서비스를 제공하고 있는데, 구글의 지메일과 달리 개인정보보호와 윤리적 디자인 개념을 포함한 서비스다. 다우니는 “고수준의 기술 회사는 수익을 위해 해로운 일을 하도록 유도하는 근본적으로 비윤리적인 비즈니스 모델을 가지고 있다”라고 지적했다. 예를 들어, 페이스북은 광고에서 수익을 창출하는데, 광고 조회수를 늘리기 위해 사용자가 가능한 오래, 자주 화면을 보도록 한다. 이런 비즈니스 모델로 인해 기업은 광고 조회수 증가에 도움이 되는 잘못된 정보 또는 혐오 표현(hate speech)가 퍼지는 것을 막지 않게 된다. 다른 한편으로는 의도하지 않은 효과가 나타날 수도 있다. 다우니는 트위터가 영향력있는 도구가 될 것이라고 생각하지 않았다는 점을 지적했다. 결과적으로 트위터는 잘못된 정보와 때로는 노골적인 혐오 발언의 도구가 됐다. 결정적으로 기술 산업은 빠르게 성장했고 무엇이 옳은지 그른지를 통제하기 위한 통합된 윤리적 이론이 없었다. 기업과 개발자는 수익성을 기준으로 의심스러운 부분이 있는 많은 결정을 내려왔으며, 이제는 그것이 표준 관행으로 자리 잡았다. 다우니는 “소셜 미디어 회사가 되기 위한 ‘히포크라테스 선서’는 없다”라고 지적했다. 의사가 의료 윤리를 위반해 환자에게 해로운 일을 하면 벌금이 부과되거나 면허를 잃을 수도 있다. ...

윤리 디자인 개발 2020.11.19

기능 플래그를 사용한 5가지 애자일 실험 방법

클라우드 애플리케이션 아키텍처, 마이크로서비스, CI/CD(지속적 통합, 지속적 개발) 파이프라인, 테스트 자동화, 코드형 인프라는 모두 애자일 개발을 실현하고 데브옵스 팀이 자주 프로덕션으로 코드를 넘겨줄 수 있게 해주는 기술이다. 이와 같은 기술을 통해 소프트웨어 개발은 과거의 분기별 릴리스와 복잡한 통합에서 현대의 지속적 개발 시대로 접어들었다. 빈번한 릴리스와 개발자 생산성, 기능 개발, 기술 부채 해결을 위한 코드 리팩터링을 지원하도록 코드베이스를 관리하는 방법은 항상 개발자들의 골칫거리다. 깃허브(Github)는 기능 분기, 릴리스 분기, 트렁크 기반 개발, 깃플로우(Gitflow) 워크플로우를 포함한 다양한 개발 및 분기 패러다임을 가능하게 해준다. 분기 전략은 빌드에 들어가는 코드를 구조화하므로 최종 사용자에게 배포되는 기능을 제어하는 데 사용할 수 있다. 분기 접근 방법에 대한 논의는 계속 진행 중이지만, 개발팀이 장기간 실행되는 기능 분기 사용을 피해야 한다는 데는 대부분의 동의한다. 장기 실행 기능 분기는 기능이 주 분기에 통합될 준비가 될 때 복잡한 코드 병합을 유발하는 경우가 많기 때문이다.   기능 플래깅이란? 분기는 코드 배포를 제어하며 기능의 배포 여부를 조절할 수 있다. 그러나 기능의 가용성을 켜고 끌 수 있는, 전체적인 양자택일 제어일 뿐이다. 분기만 사용해서 기능 배포를 제어하는 경우 제품 리더가 최종 사용자에게 기능을 활성화는 경우에 비해 코드가 배포되는 시점을 제어하는 팀의 역량이 제한된다. 제품 소유자와 개발팀이 기능을 배포하고 런타임에 이 기능에 대한 액세스를 제어해야 할 때가 있다. 예를 들어, 특정 고객 세그먼트나 사용자 기반의 일부만 대상으로 기능을 실험하고 테스트하는 방법이 유용하다. 기능 플래깅은 개발자가 제어 플래그로 기능을 래핑할 수 있게 해주는 기능 및 툴 모음이다. 개발자가 기능의 코드를 배포하면 플래그를 통해 기능을 켜고 끄거나 테스트할 수 있으며, 최종 사용자에게 해당 기능이 표시되는지...

기능플래긋 애자일 개발 2020.06.08

토픽 브리핑 | 현 시점에서 배워야 할 프로그래밍 언어들

세상을 움직이고 변화시키는 원동력은 다양하다. 하지만 이런 변화의 중심에는 항상 IT가 있었다. 오늘날 비즈니스 현업 사용자는 IT를 모르고서는 할 수 있는 업무는 그리 많지 않다. 과거에는 오피스 프로그램이나 자신의 업무와 관련된 시스템 정도만 이해해도 충분히 버틸만 했다. 하지만 최근에는 IT를 통해 데이터를 분석해 인사이트를 찾아내고, 새로운 비즈니스를 창출하고, 기업 경쟁력를 확보해야 한다.  개발자라면 자신의 무기를 확장하고, IT 관리자라면 자신의 경쟁력을 강화하며, 현업 사용자라면 현재 비즈니스를 위해 프로그래밍 언어를 배워야 할 때다. 자신이 개발자가 아니라면 ▲웹의 언어인 HTML, CSS, 자바스크립트 ▲차트와 시각화에 쓸모가 있는 R ▲기초 중의 기초인 C ▲자동화를 위한 배시 셸(Bash shell)를 배우는 것이 좋다.  현업 사용자의 경우, 자신은 이미 늦었다고 생각할지도 모른다. 하지만 뒤에서 소개할 인공지능, 사물 인터넷, 블록체인에서 인기있는 프로그래밍 언어의 대부분은 현재 개발 전문가조차도 학창 시절에는 들어보지도 못한 것들이다.  “미래를 생각하는 개발자를 위한” 지금 배워야 하는 프로그래밍 언어 인공지능과 관련이 있다면 배워야 할 프로그래밍 언어   인공지능(AI)은 애플리케이션 개발자에게 새롭게 열리는 가능성의 세계다. 머신러닝 또는 딥 러닝을 활용함으로써 훨씬 더 정밀한 사용자 프로필과 개인화, 추천이 가능하며, 스마트 검색, 음성 인터페이스 또는 지능적인 가상비서를 구현하거나 그 외의 다양한 방법으로 앱을 개선할 수 있다. 심지어 보고 듣고 반응하는 애플리케이션도 만들 수 있다.  이에 필요한 대표적인 프로그래밍 언어는 파이썬(Python)이다. 파이썬은 인공지능에 있어 탁월한 언어이며, 특히 파이썬의 라이브러리는 다른 언어에서는 따라올 수 없을 정도로 독보적이다.  넘파이(NumPy)는 워낙 보편적으로 사용되는 터라 텐서 연산에서 사실상 표준 API ...

개발 프로그래밍 인공지능 2019.07.05

“스위프트와 엑스코드가 만났다” 애플, UI 개발 프레임워크 스위프트UI 발표

애플이 애플 디바이스용 사용자 인터페이스 개발을 위한 툴과 API의 모음인 스위프트UI(SwiftUI) 프레임워크를 공개했다. 애플은 스위프트UI를 스위프트 언어를 통한 UI 개발의 새로운 패러다임으로 제시했는데, 코드를 읽고 이해하기 쉬운 단순한 선언적 구문을 이용하는 것이 특징이다. 스위프트UI는 툴과 API의 단일 세트로 전체 애플 플랫폼에 걸친 인터페이스를 구축하는 새로운 방법을 제공한다. 이 프레임워크는 코딩과 디자인을 동기화해 엑스코드(Xcode) 디자인 툴과 함께 사용할 수 있다. 동적 유형, 로컬라이제이션, 접근성 기능 등과 같은 기능도 지원한다. 스위프트UI 자체도 스위프트 언어로 만들어져, 엑스코드 11 베타 IDE에서 사용할 수 있다. 스위프트UI의 핵심 기능은 다음과 같다.   · UI의 역할을 표시한은 선언적 구문. 예를 들어, 개발자는 텍스트 필드를 구성하고 싶은 아이템 목록을 구체화한 다음 각 필드의 배열, 폰트, 색상을 지정할 수 있다. 선언 스타일은 애니메이션과 같은 개념에도 적용할 수 있어 개발자는 거의 모든 컨트롤에 애니메이션을 추가할 수 있고 코드 몇 줄로 바로 사용할 수 있는 효과 묶음을 선택할 수 있다. 런타임에서 시스템이 매끄러운 환경을 생성하는 데 필요한 단계를 처리하고 인터럽션을 처리해 앱을 안정적으로 유지한다. · 스위프트UI에서 드래그 앤 드롭 방식의 UI 구축을 위한 엑스코드 11의 디자인 툴 제공. 개발자가 입력을 하는 대로 UI의 변화를 미리 볼 수 있다. 엑스코드는 변경 사항을 다시 컴파일하고 이를 앱의 실행 버전에 넣는다. · 개발자는 스위프트UI 뷰의 프리뷰를 한 번 또는 여러 번 구축해 샘플 데이터를 얻고 iOS 13용으로 계획된 색상 체계인 다크모드나 더 큰 폰트, 로컬라이제이션 등 사용자 편의 기능을 구성할 수 있다. 스위프트UI는 UIKit, AppKit, WatchKit 프레임워크의 오브젝트와 뷰를 통합해 플랫폼 전용 기능을 활용할 수...

개발 스위프트 wwdc 2019.06.04

“삶은 편리하게, 기회는 평등하게” 애플의 접근성 솔루션이 주도하는 변화

스마트 기기의 접근성은 개개인 사용자뿐 아니라, 기업 내 다양성을 추구하는 기업들에게도 중요한 가치이다. 애플의 접근성 툴은 과연 얼마나 많은 변화를 만들어 냈는가? 실제로 접근성 툴을 사용하는 이들과 만나 이야기를 나누고 이들의 가치가 어느 정도인지를 살펴 보았다. 접근성의 개선은 모두에게 도움 줄 것 애플은 접근성이라는 가치에 주목하고 있다. 스마트 기기 접근성을 개선하기 위한 애플의 노력은 미국 맹인협회, 미국 뇌성마비 재단, 청각 장애인 협회 등으로부터 인정을 받아 왔으며 공로상을 수상하기도 했다. 애플은 기술을 사용하는 사람이 많아 질수록 그 힘은 강력해 진다고 말한다. 애플의 글로벌 접근성 정책 및 이니셔티브 디렉터 새라 허링거는 애플 제품에 포함된 접근성 기능을 강화하기 위해 노력하고 있다. 에어팟의 ‘실시간 듣기(Live Listen)’ 기능 등은 그냥 생겨난 것이 아니다. 애플 기기에 내장된 접근성 기능들은 전 세계 인구의 1/7을 차지하는 장애인들에게만 유용하거나 도움이 되는 것이 아니다. 접근성 기능은 나머지 6/7에게도 도움을 준다. (누구나 전화를 받을 때 아이폰 플래쉬가 깜빡이도록 해 두는 것처럼 말이다.) 접근성은 곧 평등이다 접근성 기능을 사용하는 사용자 이안 맥크레이는 “접근성이 중요한 이유는 그것이 제한적으로만 존재하기 때문이다. 하지만 접근성은 결국 평등과 직결된다”고 말했다. 예를 들어 대중교통 수단을 이용할 때 iBus시스템 덕분에 비 장애인들과 다름 없이 버스를 탈 수 있으며, “처음 가보는 초행길이라도 아무 문제가 없다”고 말한다. 또한, “동네 슈퍼마켓에 가면 상품에 붙은 점자 라벨 덕분에 아무런 문제 없이 쇼핑을 할 수 있다. 물론, 일부 상품들의 경우 점자 라벨링이 되어 있지 않는 경우도 있다”고 말했다. * 영국의 슈퍼마켓 체인 ‘쿠퍼레이티브(Cooperative)’는 모...

개발 장애인 접근성 2018.10.22

“핵심은 문화” 데브옵스 도입 전략

기트랩(GItLab)의 ‘2018 글로벌 개발자 보고서(Global Developer Report)’가 밝혀낸 중요한 사항 중 하나는 데브옵스(DevOps)를 도입한 조직들이 애자일(Agile)을 실천하기보다 수요에 따라 도입하고 자동화에 우선순위를 두는 경향이 있다는 것이다. 데브옵스는 개발자와 소프트웨어 담당자의 워크플로를 개선하는 데 도움을 주는 ‘나이스 투 해브(갖고 있으면 좋은 것)’에서 ‘머스트 해브(반드시 갖고 있어야 하는 것)’가 되고 있다. 기트랩(GitLab)이 5,200명이 넘는 개발자, CTO, IT종사자를 설문 조사한 결과에 따르면, 데브옵스가 개발 프로세스의 시간을 많이 절약해준다고 대답한 비율이 2/3에 달한다. 또한 약 30%는 올 한 해 데브옵스에 투자할 계획이 있다고 답했다. 뉴 렐릭(New Relic)이 지난 해 실시한 조사는 데브옵스 사고방식 도입이 증가하면서 팀 간 커뮤니케이션 같은 핵심 지표의 만족도가 높아졌음을 보여준다. 실제 데브옵스 도입 후 가장 크게 개선된 부분을 묻는 질문에 커뮤니케이션을 꼽은 비율이 23-57%였다. 뉴 렐릭의 시장 전략:EMEA 책임자인 에버린 올리치는 “팀 간 효과적인 커뮤니케이션이 업무 관계와 더 창의적인 문화를 촉진한다. 이는 데브옵스 성공의 핵심 구현 요소들이다”고 강조했다. 사고방식의 변화 그러나 데브옵스를 올바르게 실천하기 쉽지 않다. 또한 애자일과 데브옵스는 배타적이지 않다. 서로 조화롭게 작동을 한다. 클라우드 파운드리 파운데이션(Cloud Foundry Foundation)의 CTO 칩 칠더스는 데브옵스는 돈을 주고 살 수 있는 것이 아니라고 강조한다. 그는 “데브옵스를 판매하려 시도하는 회사들이 많지만, 데브옵스는 도구나 제품이 아니다. 데브옵스는 문화적인 변화가 아주 중요하다. 문화적인 맥락에서 새로운 프로세스와 기존 시스템이 조화되도록 기술과 도구, 제품을 ...

개발 운영 애자일 2018.07.10

현대적인 소프트웨어 개발 방법 ‘클라우드 네이티브’의 정의와 특징

“클라우드 네이티브”라는 용어가 특히 클라우드 제공업체들 사이에서 자주 거론된다. 2015년 리눅스 재단은 클라우드 네이티브 컴퓨팅 재단(Cloud Native Computing Foundation, CNCF)라는 이름의 조직까지 출범했다. ‘클라우드 네이티브’의 정의 일반적인 의미에서 “클라우드 네이티브”는 클라우드 컴퓨팅 제공 모델의 이점을 활용하는 애플리케이션 구축 및 실행 접근 방법이다. “클라우드 네이티브”의 핵심은 애플리케이션을 어떻게 만들고 배포하는지에 있으며 위치는 중요하지 않다. 클라우드 네이티브는 구내 데이터센터와 달리 애플리케이션이 퍼블릭 클라우드에 위치함을 암시한다. CNCF가 정의하는 “클라우드 네이티브”의 의미는 조금 더 좁아서, 컨테이너화되는 오픈소스 소프트웨어 스택을 사용하는 것을 의미한다. 여기서 애플리케이션의 각 부분은 자체 컨테이너에 패키징되고 동적 오케스트레이션을 통해 각 부분이 적극적으로 스케줄링 및 관리되어 리소스 사용률을 최적화하며, 마이크로서비스 지향성을 통해 애플리케이션의 전체적인 민첩성과 유지 관리 편의성을 높인다. 컨설팅 업체 딜로이트의 마이크 캐비스 이사는 “클라우드 네이티브 앱은 현대의 클라우드 컴퓨팅 플랫폼에 필요한 탄력적이고 분산된 방식으로 실행되도록 설계된다”면서 “이러한 앱은 느슨하게 결합된다. 즉, 코드가 인프라 구성 요소에 고정되지 않으므로 수요에 따라 앱을 확장, 축소할 수 있고 불변적 인프라 개념을 포용할 수 있다. 일반적으로 이러한 아키텍처는 마이크로서비스를 사용해서 구축되지만 꼭 그래야 하는 것은 아니다”라고 말했다. 클라우드 서비스 제공업체 스플렁크(Splunk)의 최고 기술 지지자인 앤디 맨은 클라우드 네이티브 애플리케이션의 가장 큰 차이점은 애플리케이션을 구축, 제공, 운영하는 방식에 있다면서 “클...

소프트웨어 개발 클라우드네이티브 2018.06.18

어른이 스위프트 플레이그라운드로 코딩을 배운다면?

애플은 모두가 코딩 방법을 배우는 것이 매우 중요하다고 생각한다. 직접적으로 업무에 도움이 되지는 않을 수 있지만 유용한 기술을 알려주고 우리가 매일 사용하는 제품과 툴의 근본적인 작동 방식에 관한 기본적인 지식을 생성한다. 아이들이 학교에서 반드시 해야 할 뿐 아니라 성인을 위한 지속적인 교육의 중요한 부분이기도 하다. 그래서 애플은 아이부터 어른까지 코드 작성의 기본을 쉽게 학습할 수 있는 에브리원 캔 코드(Everyone Can Code)라는 프로그램을 마련했다. 기본적으로 C++이나 자바스크립트(JavaScript)보다는 애플의 스위프트(Swift) 프로그래밍 언어를 중심으로 이루어져 있다. 그리고 이 모든 것들이 아이들도 이해할 수 있을 정도로 쉽게 코딩의 기초를 가르치는 귀여운 아이패드 앱인 스위프트 플레이그라운드(Swift Playgrounds)에서부터 시작된다. 필자는 어린애가 아니다. 필자는 43세이고 애플 II(Apple II)부터 쭉 컴퓨터를 사용했다. 나이 든 사람에게도 새로운 기술을 가르칠 수 있는지 알아보기 위해 스위프트 플레이그라운드 활동에 참여해 보았다. 처음부터 시작하기 필자는 프로그래밍을 전혀 모르는 것이 아니지만 "조금"이라는 말은 매우 절제된 표현이라 할 수 있다. 필자는 중학교 시절 애플 II에서 단순한 BASIC 프로그램을 작성했었지만 필자가 코드를 작성해 본 지 20년 이상이 흘렀다. (대학에서 C++ 수업을 들었다). 필자는 실제 현대적인 개발 환경을 사용하는 느낌이 어떤지 또는 스위프트 등의 현대적인 언어가 어떤지 모르는 상태에서 이 연습을 시작했다. 필자가 완전히 초보는 아니지만 처음부터 시작하는 것이 편하다. 아이패드에서 스위프트 플레이그라운드를 실행시켰다. 와, 정말 귀엽다! 그리고 쉽다! 정말로 쉽다. 분명 어린이가 이해할 수 있도록 만들어졌다. 작은 애니메이션 캐릭터인 바이트(Byte)를 따라 프로그램의 기본 개념을 쉽게 이해할 수 있었지만 스위프트 플레이그라운...

개발 스위프트 ios 2018.04.10

데브섹옵스란 무엇인가, 더 안전한 애플리케이션 개발하기

데브섹옵스(DevSecOps)의 전제는 단순하다. 소프트웨어 개발 라이프사이클에 관여하는 모든 사람에게 보안에 대한 책임이 있으며, 본질적으로 운영과 개발을 보안 기능과 함께 하나로 합치는 것이다. 데브섹옵스의 목표는 개발 프로세스의 모든 부분에 보안을 내장하는 데 있다. 중요한 점은 끝에 덧붙이는 것이 아닌 데브옵스 워크플로우의 초반에 보안 제어와 프로세스를 내장함으로써 핵심 보안 작업을 자동화하는 것이다. 예를 들어 마이크로서비스 마이그레이션, 지속적 통합 및 지속적 딜리버리(CI/CD) 파이프라인 확장, 컴플라이언스 자동화 또는 단순한 클라우드 인프라 테스트 등이 여기에 해당된다. 데브섹옵스가 중요한 이유 IT 인프라는 최근 몇 년 사이 큰 변화를 거쳤다. 다이내믹 프로비저닝, 공유 리소스, 클라우드 컴퓨팅으로의 전환은 IT 속도와 민첩성, 비용 측면의 혜택을 이끌었으며 이러한 모든 장점이 애플리케이션 개발의 개선으로 이어졌다. 클라우드에서 애플리케이션을 배포하는 기능은 규모와 속도 두 가지를 모두 개선했다. 애자일(agile) 및 데브옵스(DevOps) 방법론으로의 전환과 이를 통한 지속적 딜리버리로 인해 "빅뱅" 방식의 애플리케이션 출시는 과거 속으로 사라졌다. 특히 데브옵스(개발과 IT 운영을 '하나의 자동화된 우산' 아래로 통합하는 방식)는 더 빈번한 기능 릴리스와 애플리케이션 안정성 향상에 이르기까지 모든 부분에 기여했다. 그러나 여전히 많은 보안 및 컴플라이언스 모니터링 툴이 이런 변화의 속도에 발을 맞추지 못하는 실정이다. 애초에 데브옵스에 필요한 속도로 코드를 테스트하도록 만들어지지 않았기 때문이다. 이로 인해 보안이 빠른 애플리케이션 개발, 더 일반적으로는 IT 혁신의 가장 큰 장벽이라는 시각이 더욱 굳어졌다. 라드웨어(Radware)의 보안 연구원 파스칼 지넨스는 "데브옵스는 민첩하고 실적이 우수한 기업의 제2의 천성이 되었으며, 온라인 비즈니스의 성공을 위한 기본&q...

개발 보안 데브옵스 2018.01.11

토픽 브리핑 | “AI, AI, AI!” 한 눈에 보는 2018년 IT 전망

여느때처럼 연말부터 2018년 전망에 대한 기사가 쏟아지고 있다. 클라우드 컴퓨팅, 데이터센터, 인프라스트럭처, 보안, 모바일 등 각 분야에서 올 한해 어떤 변화가 일어날지 가지각색으로 전망한다. 하지만 올해 모든 분야를 관통하는 기술이 하나 있다. 바로 ‘인공지능’이다. 이제 인공지능은 기업들이 업계의 추이를 지켜보는 수준이 아니라, 하나둘 본격적으로 발을 담그기 시작한 모양새다. "인공지능, 보안, 에지 솔루션"…2018년 IoT 트렌드 2018년을 대표할 7가지 IoT 트렌드 2018년 가장 '핫'하게 될 IoT 애플리케이션 인공지능의 활약이 두드러질 것으로 전망되는 분야는 사물인터넷이다. 연결된 기기를 주변 환경 변화에 즉각 대응하도록 하기 위해서는 일정 수준의 자동화가 필요하기 때문이다. 또한, 여기서 생성되는 수많은 데이터들은 인공지능 개발자에게도 많은 기회를 제공한다. 이 때문에 인공지능 기술을 활용한 사물인터넷용 애플리케이션을 더욱 많이 볼 수 있을 것으로 보인다. IDG 블로그 | 2018년 주목해야 할 데이터센터 동향 2018년 하이퍼컨버전스, 성장 빨라진다…대기업 환경 진출 본격화 예상 데이터센터도 마찬가지다. 서버리스 컴퓨팅과 에지 컴퓨팅에 대한 관심도 있으나, 인공지능은 보다 가시적인 트렌드를 이끌 것으로 보인다. 특히, 데이터센터 관리에 있어, 사람보다 저 빠르고 정확함이 필요한 부분에서 인공지능이 큰 역할을 할 것으로 기대된다. 스냅드래곤 845 칩이 2018년 안드로이드 스마트폰에 끼칠 5가지 영향 다소 과격한 예언?···"2018년에는 태블릿 지고 듀얼 화면 클램쉘 기기 뜬다" 모바일도 예외는 아니다. 이미 구글 어시스턴트나 시리, 코타나 등이 있지만, 더 발전된 스냅드래곤 845와 같은 칩으로 활용성이 더욱 늘어날 전망이다. 이와 함께 VR, A...

개발 인공지능 AI 2018.01.05

작업 현장을 노리는 홀로렌즈… 더 쉬운 애플리케이션 개발 도구가 필요하다

데스크톱 PC 혁명이 일어난 지 몇십 년이 지난 현재, 전 세계 20억 명 이상의 직장인들은 책상이 없는 곳에서 일하고 있다. 대부분이 우리의 세상을 돌아가도록 하는 인프라를 유지하는 일을 하는 사람들이다. 지난 몇 년간 그들은 노트북, 태블릿, 그리고 스마트폰을 사용했지만, 여전히 필요한 정보 중 상당수를 놓치고 있다. 터치스크린이나 펜 입력이 지원되더라도, 컴퓨터는 양손을 모두 사용할 수 있는 사람들을 위해 설계된 것이기 때문이다. 연료 펌프, 항공 엔진, 리프트 전동기의 기계 장치를 조정하기 위해 양손을 써야 한다면, 컴퓨터나 태블릿을 사용해 필요한 설명서를 읽는 것이 불가능하다. 스마트폰은 한 손으로 사용할 수는 있겠지만, 이상적인 작업 환경은 아니다. 이런 작업자들이 손을 쓰지 않고도 필요한 정보를 볼 수 있다면 어떨까? 컴퓨터를 사용할 수 없는 작업자들에게 컴퓨팅 역량을 제공하는 것. 이것이 바로 마이크로소프트가 윈도우 10 기반의 홀로렌즈 바이저 기술과 관련된 증강현실 기술을 통해 이루고 싶은 것이다. 사실 홀로렌즈가 처음 등장했던 18개월 전 마이크로소프트는 홀로렌즈를 몰입형 게임부터 컴퓨터의 도움이 필요한 현장 작업, 3D 모델링 등 모든 영역에서 활용되도록 하는 것을 목표로 했었다. 이런 목표를 더 다듬어서 현장 작업에 초점을 맞춘 것이다. 컴퓨팅 역량을 작업 현장에서도 사용할 수 있도록 하는 것은 새로운 미션이 아니다. 기술 업계에서는 이 문제를 해결하기 위해 여러 시도를 했었다. 1990년대 초, 필자가 일하던 한 연구소에서는 유럽의 군용 비행기 제조업체에게 비행 대기선에서 일하는 엔지니어들을 지원하기 위한 휴대용 디바이스 개발을 제안하기도 했다. 안전한 무선 네트워크를 활용해 유지 관리 매뉴얼을 제공하고, 엔지니어들이 필요할 때 이런 정보를 이용할 수 있도록 하는 기기였다. 홀로렌즈, 새로운 인증과 애드온, 소프트웨어로 작업 현장에 진출하다 홀로렌즈 같은 디바이스들은 현장 작업 도구로 아주 적합하다. 손이 필...

애플리케이션 개발 증강현실 2017.11.08

IDG 블로그 | 애플의 오픈소스 스위프트 언어를 배워야 할 12가지 이유

현직 개발자이거나 장래희망이 개발자인 사람, 아니면 가정이나 학교, 대학에서 앱 구축 방법을 배워볼까 하는 사람이라면 애플의 스위프트(Swift) 언어를 배워볼 만하다. 그 이유를 몇 가지 소개한다. 1. 스위프트는 오픈소스이다 스위프트의 사용 및 개발은 애플이 오픈 소스로 만든 이후 가속도가 붙었다. 2017년 3월 월간 TIOBE 지수에 따르면 스위프트는 전세계에서 가장 인기 있는 10대 프로그래밍 언어에 등극했다. PYPL 프로그래밍 언어 인기도 추적에서 평가한 10대 언어 가운데 하나이기도 하다. 2. 스위프트는 배우기 쉽다 스위프트는 파이썬(Python)에 필적하는 간단한 문법으로 사용하기 쉽게 구축되었다. 다른 어떤 개발 플랫폼을 배울 때보다 훨씬 빨리 앱을 실제로 구축할 수 있게 된다는 뜻이다. 일각에서는 불과 3~4 개월 만에 앱 아이디어를 실현시킬 수 있을 것이라고 한다. 3. 스위프트는 빠르다 스위프트를 사용해서 만든 코드가 컴파일된 C 코드만큼 속도가 빠르다는 주장이 있다. 이 언어는 대응력이 향상된 개발 환경을 위해 지루한 작업(예: 행 바꿈 시 세미콜론 입력)을 없애는 방식으로 개발되었다. 애플의 주장에 따르면 검색 알고리즘 완성 속도가 오브젝티브-C(Objective-C)보다는 최대 2.6배, 파이썬 2.7보다는 최대 8.4배 빠르다고 한다. 애플은 스위프트를 "실시간 피드백을 제공하고 기존 오브젝티브-C 코드에 완벽히 통합 가능한 빠르고 효율적인 언어”라고 소개한다. 4. 스위프트는 이해하기 쉽다 코딩 언어는 쉽지 않다. 아이디어를 실현하려면 필요한 언어(들)을 배워야 한다. 따라서 애플은 매우 다양한 학습 자료를 제공해 왔다. 그 중에 스위프트 플레이그라운드(Swift Playgrounds) 앱을 활용하면 이 언어의 개념을 빨리 배울 수 있다. 5. 스위프트는 안전하다 스위프트 팀은 보안에 신경을 많이 쓰고 있다. 따라서 이 언어로 작업할 때 안전하지 않은 코드가 나타나...

개발 스위프트 모바일앱 2017.08.29

"공들여 개발한 앱" 앱 스토어에서 존재감 어필하는 6단계 원칙

밤낮을 지새워 가며 마침내 만족스러운 앱을 제작한 개발자. 설레는 마음으로 앱 스토어에 등록을 마치고 앱을 공개했지만, 시장의 반응은 차갑기만 하다. 이런 모바일 개발자들에게, 앱 스토어 최적화 전략은 선택이 아니라 필수다. 모바일 앱 애널리틱스 업체 앱 애니의 시장 분석 디렉터 아미르 고드라티는 이들은 특히 앱 접근성과 선호도에 신경 쓸 필요가 있다고 말한다. 다행히 앱 스토어에서 모바일 앱의 존재감을 키워주기 위한 방법이 없는 것은 아니다. 아래 소개할 6단계를 충실히 따라 가다 보면 악플보다 무서운 무관심을 피할 수 있게 될 것이다. 특히 첫 3단계는 앱 출시 이후가 아닌 앱 개발 도중에서부터 중시해야 하는 단계로, 성공적인 앱 출시를 위해서는 시작부터 제대로 되어야 함을 보여 준다. 앱 스토어 사용자들은 생각보다 똑똑하다. 겉만 그럴 듯한 앱에 속아 넘어 가지 않는다. 1단계 : 앱 자체의 퍼포먼스, 기능성, 보안 강화에 신경 쓸 것 전체 다운로드 앱 중 25% 가량은 다운로드 후 한 번도 사용되지 않는다고 한다. 생각했던 것과 다른 앱이어서 이거나, 혹은 기능이 별로이기 때문일 것이다. 이런 앱들의 특징 중 하나는 웹사이트에서도 충분히 할 수 있는 기능들을 그저 모바일 앱으로 옮겨 놓았을 뿐이라는 점이다. 위치 정보를 활용하거나 애플 페이나 구글 페이 같은 손쉬운 결제 방법을 이용할 수 있다거나 하는 식으로, 웹사이트와 차별되는 모바일 앱 만의 특징이 있어야 한다. 앱 인터페이스가 깔끔하고 안전한 인상을 주는 것도 중요하다. 아마추어 티가 팍팍 나는 앱은 사용자의 신뢰를 얻지 못한다. 특히 건강이나 보건, 금융 같이 사람들이 안전에 민감한 분야를 다루는 앱은 두말 할 나위 없이 그렇다. 모바일 앱 및 디바이스 크라우드 테스팅 업체 어플라우즈의 마케팅 부 대표 피터 블레어는 “특히 사람들은 신용카드 결제 등 모바일 앱으로 금융 거래를 하다가 앱이 버벅대거나 문제를 일으키는 현상이 발생할 경우 패닉에 빠진다&rdqu...

앱스토어 개발 SEO 2017.06.16

“비즈니스 개선 위한 모바일 앱 개발 기업 증가” 가트너

업무 프로세스 개선을 위해 모바일 앱을 개발하는 기업이 증가하고 있는 것으로 나타났다. 가트너에 따르면, 2016년 비즈니스용 모바일 앱 개발을 위해 모바일 앱 개발 플랫폼(mobile app development platform, MADP)를 사용하는 기업이 전년 대비 13% 포인트 증가했다. 가트너는 2017 MADP 매직 쿼드런트 선정을 위해, 총 35개의 MADP를 평가한 보고서를 통해, 2016년 비즈니스 프로세스를 처리하는 간단한 앱 등 자체 모바일 앱을 개발하는 기업이 73%로, 2015년의 60%보다 증가했다고 밝혔다. MADP는 기업이 맞춤형 모바일 앱과 웹 앱, 웹사이트를 쉽게 개발할 수 있도록, 핵심적인 도구와 기술 및 구성 요소와 서비스를 제공한다. 기업들은 MADP를 사용해서 고객 대상 앱뿐만 아니라, 직원과 파트너 업체들을 위한 비즈니스 크리티컬 앱 등을 개발하고 있다. 구체적으로는, HR 부서의 직원 휴가 일수 추적, 승인, 등록, 운영 테스트, 협업 등에 활용된다. 가트너의 리서치 책임자 제이슨 웡에 따르면, “증강현실, IoT, 음성 제어 등 새로운 기능들이 등장함에 따라, 현장 서비스나 영업 역시 주요 투자 대상이다. 이런 기술들은 모두 앱 안에 포함되어야 하는 새로운 것들이다”라고 말했다. 현재 기업이 배포하는 모바일 앱의 평균 수는 8개다. 점점 더 많은 MADP가 웨어러블, 챗봇, 가상비서, 대화형 사용자 인터페이스를 지원한다. 웡은 MADP가 앱 개발자가 조직 내부에 있든 외부에 있든 상관없이, 가시성과 거버넌스를 제공함으로써, 앱 개발 프로세스를 간소화해준다고 설명했다. 기업에서 환영받는 MADP는 수동 코딩이 적어 생산성이 높은 플랫폼들이다. 이러한 모바일 앱 개발 플랫폼 혹은 도구들은 고급 개발 능력이나 인력을 필요로하지 않기 때문에 매력적이다. 웡은 “단순한 워크플로우 앱이나 승인 앱, 검토나 설문용 앱 등 간단한 앱을 만들려는 기업들은 코드 ...

개발 가트너 매직쿼드런트 2017.06.14

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2023 International Data Group. All rights reserved.