SlideShare a Scribd company logo

2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화

Terry Cho
Terry Cho

2014년 Software develop trend 초보 개발자 또는 대학생 레벨

1 of 41
Download to read offline
소프트웨어
개발 트렌드의 변화
Facebook Server Side Architect 그룹
대표 운영자 조대협
http://bcho.tistory.com
발표자 소개
• 회원 13만명 자바스터디(www.javastudy.co.kr) 운영자.. (기억의 저편..)
• 천리안 자바 동호회 초대 시삽
• 벤처 개발자
• BEA 웹로직 기술 지원 엔지니어
• 오라클 장애 진단, 성능 튜닝
• NHN 잠깐
• 오라클 컨설턴트 (SOA,EAI,ALM,Enterprise 2.0)
• 오라클 아키텍트 (대용량 분산 시스템)
• MS APAC 클라우드 수석 아키텍트
• 프리렌서 (잘나가는 사장님)
• 지금은 Chief(Cheap?) 아키텍트 – 오픈 소스 기반 글로벌 분산 서버 구축
블로그 : http://bcho.tistory.com
이메일 : bw.cho@samsung.com
페이스북 ServerSideArchitectGroup
https://www.facebook.com/groups/serverside/
조대협 본명 조병욱
????
싸장님
오늘 할 이야기는?
Layer Component Product
Access
Layer
Reverse Proxy apache httpd, nginx, haproxy
Enterprise Service Bus (ESB
Approach)
mule, Oracle Service Bus
Enterprise Service Bus (API
Platform Approach)
Apigee, Layer 7,Mashery,3scale
Identity Management
Shiboleth, SimpleSAML PHP,
OpenAM, CA Site Minder
Integration Layer Apache Camel, Spring Integration
Business
Layer
Transaction processing(Sync)
apache tomcat, jetty ,apache mina ,apache
netty ,redhat jboss ,oracle weblogic
Message Queue (Async) Rabbit MQ, Active MQ, Zero MQ
data grid
Memcached,redis , oracle coherence ,Infinispan
,Hazlecast
Persistent
Layer
RDBMS mysql,maria db, postgres,MS SQL,Oracle
mysql replication Ganglia , tungsten ,oracle golden gate
file system (NFS) glusterfs
file system (object store) openstack swift,S3,BlobStorage
NoSQL
Hbase , Cassandra , mongodb,
Riak, Couch Base
Analysis
Layer
log gathering Flume , flumed, Logstash, GrayLog,Sentry
analysis service splunk
ETL Pentaho
map & reduce Hadoop,pig,hive
cep esper
OAM
cmdb zookeeper
monitoring Jennifer , ganglia , nagios
configuration management Puppet , chef,ancible
Deployment Fabric,RPM
오픈 소스 솔루션 스택?
최신 기술 동향?
대용량 분산 시스템
아키텍쳐?
그것 보다는 많은 사람들에게
도움이 되는 이야기..!!
어떻게 개발 트랜드가 변하고 있는가?
요즘 실리콘 밸리에서는…
개발자는 레티나 디스플레이!!
요즘 실리콘 밸리에서는…
잘하는 것 부터 시작해서 발전
대세는 스크립트 언어
스스로 공부,스스로 개발,내재화
소규모 조직 [10~20명]
대우 받는 개발자
클라우드 컴퓨팅
빠른 시장 진입,저비용,누구나 서비스
젊은 개발자 (한국은 접는 개발자)
협업
[SNS,오픈소스,GitHub]
CI to CD
유연한 고용 시장
메뚜기!!
3년 넘으면 바보
한국은 배신자
개발자의 변신은 무죄
새로운 능력..!! 잉여력STAR UP
요즘 실리콘 밸리에서는…
대세는 수퍼 개발자!!
4가지 관점에서
개발 트렌드의 변화를 이해
이에 적절한 오픈소스 개발 전략 수립!!
소프트웨어 개발
중심의 변화
시대별 기술의
변화
개발 방식의
변화
오픈소스 개발
전략
1. 소프트웨어 개발 중심의 변화
소프트웨어 개발 중심의 변화
시대별로 소프트웨어를 개발하는 이유가 어떻게 변화 했을까?
우리가 지금 쓰는 기술들은 왜?
인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대
서비스 사업자
대단한 님들!!
벤더
개발자!!
(스타트업,앱개발자)
 당신도 할 수 있다
기술 변화의 주체
2. 시대별 기술의 변화
시대별 기술의 변화
인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대
EJB, JAVA, SERVLET/JSP
들어는 보셨나요?
벤더 : “이게 최신 기술임!!.
교육 부터 다 해드림!!
나만 믿으세요” $$$
먹고 살 걱정 없음!!
Spring,Hibernate,MySQL
,Struts,Ruby On
Rails,PHP ..
서비스사 : 제품은 비쌈.
우리가 만든거 가져다 쓰
세요!! 대신 책임은 니꺼!
공부해야 함.. 압박!!
조금씩 먹고 살기 힘들어짐
(버틸만 함-그래도 대세는 있음)
JavaScript,
Cloud,node.js, Ruby
on Rails,NoSQL
개발자:어려워서 못 써
먹겠음. 차라리 만듬..!!
기술 변화도 심함
이제는 생존의 문제!!
명퇴가 눈앞에..
시대별 기술 변화
인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대
UNIX 서버
벤더 소프트웨어
X86 서버
오픈소스
클라우드
오픈소스
스크립트 언어!!
ORACLE MySQL NoSQL
API
HTML 5
안드로이드,IOS웹웹,4GL
쉽고 빠른 개발
기술의 홍수
대체제 성격
새로운 기술 흐름을
만드는 전환기
안정성,미션 크리티
컬 업무 위주
시대별 기술자
• 왜 이런 현상이 생기는가? 쉬운 기술이 주목 받는 이유
스타트업. 앱 개발
조합 1.
기획자 창업
디자이너 - 기획자 여자 친구
개발자 – 기획자의 친구 (디자이너를 사랑함)
조합 2.
디자이너 창업
기획자 - 디자이너의 여자 친구
개발자 – 디자이너의 친구 (기획자를 사랑함)
개발자 1인 혼자 다 해야함 (클라이언트, 서버, 하드웨어 인프라)
배우기 쉬워야 함
돈 떨어지기전에 시장 출시해야함
빨리 배울 수 있어야함
시장 상황
수많은 앱들 / 치열한 경쟁
빠른 출시, 빠른 업데이트가 필요
요구 되는 기술
빠른 출시, 빠른 업데이트가 필요
쉬운 기술 필요
낮은 비용
클라우드
컴퓨팅
스크립트
언어
운영 효율화
Devops
자동화
클라우드 컴퓨팅
• 클라우드 컴퓨팅이 가져다준 변화
– 저비용으로 시작 가능
– 무제한적 리소스
– 지역/시간 제약에서 자유로워짐
– 쉽다. 하드웨어 인프라에 대한 작업이 없어짐
개발자가 인프라를 핸들링 가능
클라우드 컴퓨팅
• IaaS (Infrastructure As A Service)도 어렵다.
• PaaS (Platform As A Service) 유행
• IaaS : VM (Linux, Windows box)를 만들어줌
• PaaS : 웹서버, DBMS를 깔아줌.
클라우드 컴퓨팅
• 고려 사항
빠른 시장 진입
운영비 절감
초기 투자비 절감
유연한 자원 사용
(Auto Scale Out)
느려요
IO Performance
싸지 않아요
기존 솔루션이 안돌아요
장애가 납니다. 아주 잘!!
(멀티 데이타 센타 설계)
클라우드 컴퓨팅의 장점 설계시 고려 사항
Devops의 등장
Devops = Development + Operation (개발 + 운영)
개발과 운영 조직을 하나로 묶어서 원할한 의사 소통
빠른 반영, 빠른 피드백 반영 가능
자동화
• 흔한(평범한) 개발 환경 시나리오
– 개발자가 아침에 출근해서
– 이클립스를 키고, 소스코드를 Git에서 Check Out 한후
– JIRA를 통해서 오늘 할당된 작업을 확인 한후에 코딩을 하고
– PC에서 Junit등을 이용하여 단위테스트등을 모두 끝 마치고
– 코드를 Git에 Commit하면
– Jekins에서 코드 변경을 감지하여, 자동으로 Check Out해서 mvn을 이용해서
컴파일 하고, 테스트 서버에 배포해서 단위 테스트를 모두 수행하고, 코드의
라인커버리지를 분석하여 리포팅 한다.
– 팀장은 빌드가 완료되었음을 확인하고, 단위 테스트 100% 완료 및 라인 커
버리지 80% 완료를 확인한다.
– 릴리즈 날짜가 오면, 배포 엔지니어는 별도의 작업 없이 Jenkins에서 빌드된
그날 WAR를 확인하고, Fabric으로 된 배포 스크립트를 수행하면, 자동으로
개발,QA 환경으로 배포가 되고, 환경별로 필요한 resource 파일들이 자동으
로 customization해서 배포가 완료된 후, Junit 기반의 단위 테스트, SOAP UI
기반의 REST API 테스트, Seleniuem 기반의 UI 테스트까지 자동으로 완료
한다. 만약에 배포나 테스트가 실패하면, 이전 버전으로 자동 롤백한다.
자동화
• 빌드 자동화, 테스트 자동화, 배포 자동화
DEV QA STAGE
테스트完
가상화 or 클라우드
필요할때만 전개
릴리즈
연계시스템
클라이언트
단말(모바일)
자동 빌드 배포 시스템
Python Fabric
Ruby Capistrano
mvn & RPM
리포지토리
rpm
스크립트 언어
Ruby on Rails, Python,PHP
대세는 node.js
아키텍쳐 변화
중앙 집중형
고가용성(HA)
분산형
Resilience
트랜젝션 보장 장애 허용
한정된 용량 대용량
목표 성능 한계 성능
엔터프라이즈 시대 모바일 시대
먹고 살기 좋던 시절 요즘
RMI,WebService REST OPEN API
3. 개발 방식의 변화
정보 습득 방식의 변화
벤더 교육 센터 제품 메뉴얼 책
책
온라인 메뉴얼
블로그
찾아보기
물어보기(영어로…)
중수
코드 까보기
고수
네이버?
개발 방식의 변화
벤더가 시키는데로
솔루션에 포함된 예제 보고
책 예제 보고
진리를 깨우치고
물어보고
다른데 프로젝트 했던 SI 불러서
그럴 시간 없음….
Copy & Paste
Stack overflow
하는데 까정 해본다. 시간 없음
기술 검증 PoC,BMT
똑똑하면 소스 깐다.
Trial & Error
단계별 개발 모델의 변화
• 1단계 스타트업!!
스타트업
단계별 개발 모델의 변화
• 2단계 펀딩 받았다.
성숙된 개발 조직
단계별 개발 모델의 변화
• 3단계 깨달았다.
CD & DEVOPS
개발 방법론
<Insert Picture Here>
그래서…
저명한 박사님들께서.. 방법론을 만드시니..
RUP,CBD,CMMI
개발 방법론
But…
그러나 현실은
 방법론은 방법론…
 우리는 조금 더 현실적인 방법론이 필요합니다.
개발 방법론
실용주의 방법론
구세주 등장!!
• 실용주의 방법론
• Erich Gamma, Joel Spolsky, Kent beck, Andrew Hunt
• Iterative & Incremental
• 애자일 기반
• 기존 방법론과 차이
• 요구 사항이 변화할 것을 가정
• 에러가 있을 것을 가정하여, 자주 테스트
• 협업과 커뮤니케이션
개발 방법론
• 대표적인 개발 방법론
스크럼이 대세!!
관리자 입장에서는 예측 불가
조직에 맞게 바꿔서 쓰세요
http://agilescout.com/learn-more-agile-software-
development-methods-this-year/
개발 방법론
http://bcho.tistory.com/
내용이 많아서, 여기에 다 있습니다.
아시는 분들은 이미 알고, 자료도 많으니 모르시는 분들은
이것만도 7박 8일은 이야기 할 수 있으니, Scrum 만 기억해 가세요
개발 방법론
• 이것만 기억하세요
요구 사항은 변한다…
변하는게 나쁜게 아니라 고객이 원한다…
결국은 사람이 답이다.
커뮤니케이션을 원할하게 하는 방향으로 변화
역할과 원칙, 프로세스를 잊지 마라
안그러면 망한다. 애자일은 무슨~~
4. 오픈소스 개발 전략
오픈소스 개발전략은
에코 시스템
영어…!!
13년이나 배웠잖아요
요즘 한국개발자들 많이함
해보면 됨!!
라이센스. 특허!!
개인 정보 보호법
블로그.. 메뉴얼… 예제…
(공모전에는 필요 없을지도…)
몇가지 팁
• 오픈소스는 혜택이 많습니다. (착한 분들이 많아서…)
Atlassian JIRA 무료 입니다 – 오픈소스는 (좋아요.. 꼭쓰세요)
클라우드가 필요하면 Microsoft에서 스타트업용으로 일정기간 무료 제
공 해준답니다. BizSpark 인가? (연락처 : TBD)
정부 단체를 잘 이용하세요.. (법무,세무 컨설팅…)

Recommended

Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해Terry Cho
 
모바일 개발 트랜드
모바일 개발 트랜드모바일 개발 트랜드
모바일 개발 트랜드Terry Cho
 
제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발Terry Cho
 
MSA를 이용해 구현하는 고가용/고확장성 서비스
MSA를 이용해 구현하는 고가용/고확장성 서비스MSA를 이용해 구현하는 고가용/고확장성 서비스
MSA를 이용해 구현하는 고가용/고확장성 서비스DoHyun Jung
 
5. 솔루션 카달로그
5. 솔루션 카달로그5. 솔루션 카달로그
5. 솔루션 카달로그Terry Cho
 
마이크로 서비스 아키텍쳐 소개 및 구현 방법
마이크로 서비스 아키텍쳐 소개 및 구현 방법마이크로 서비스 아키텍쳐 소개 및 구현 방법
마이크로 서비스 아키텍쳐 소개 및 구현 방법Young Soo Lee
 
3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐Terry Cho
 
빠르게훓어보는 Node.js와 Vert.x
빠르게훓어보는 Node.js와 Vert.x빠르게훓어보는 Node.js와 Vert.x
빠르게훓어보는 Node.js와 Vert.xTerry Cho
 

More Related Content

What's hot

Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1SeungHa Eom
 
마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기Jaewoo Ahn
 
SOSCON2015 SI이노베이션
SOSCON2015 SI이노베이션SOSCON2015 SI이노베이션
SOSCON2015 SI이노베이션DoHyun Jung
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴Terry Cho
 
SK플래닛_README_마이크로서비스 아키텍처로 개발하기
SK플래닛_README_마이크로서비스 아키텍처로 개발하기SK플래닛_README_마이크로서비스 아키텍처로 개발하기
SK플래닛_README_마이크로서비스 아키텍처로 개발하기Lee Ji Eun
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해Terry Cho
 
Micro Service Architecture(MSA) 탐방기
Micro Service Architecture(MSA) 탐방기Micro Service Architecture(MSA) 탐방기
Micro Service Architecture(MSA) 탐방기jbugkorea
 
Jbug 발표 msa탐방기_공유자료
Jbug 발표 msa탐방기_공유자료Jbug 발표 msa탐방기_공유자료
Jbug 발표 msa탐방기_공유자료jbugkorea
 
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐Terry Cho
 
기술적 변화를 이끌어가기
기술적 변화를 이끌어가기기술적 변화를 이끌어가기
기술적 변화를 이끌어가기Jaewoo Ahn
 
Ch6 대용량서비스레퍼런스아키텍처 part.1
Ch6 대용량서비스레퍼런스아키텍처 part.1Ch6 대용량서비스레퍼런스아키텍처 part.1
Ch6 대용량서비스레퍼런스아키텍처 part.1Minchul Jung
 
Service operation
Service operationService operation
Service operationTerry Cho
 
SLiPP 스터디 - MSA
SLiPP 스터디 - MSASLiPP 스터디 - MSA
SLiPP 스터디 - MSADaekwon Kang
 
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝Mungyu Choi
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice ArchitectureYoonsung Jung
 
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐Terry Cho
 
서비스 지향 아키텍쳐 (SOA)
서비스 지향 아키텍쳐 (SOA)서비스 지향 아키텍쳐 (SOA)
서비스 지향 아키텍쳐 (SOA)Terry Cho
 
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...Jongwon Han
 
JBUG Korea 소개
JBUG Korea 소개JBUG Korea 소개
JBUG Korea 소개jbugkorea
 
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론Terry Cho
 

What's hot (20)

Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1
 
마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기
 
SOSCON2015 SI이노베이션
SOSCON2015 SI이노베이션SOSCON2015 SI이노베이션
SOSCON2015 SI이노베이션
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
SK플래닛_README_마이크로서비스 아키텍처로 개발하기
SK플래닛_README_마이크로서비스 아키텍처로 개발하기SK플래닛_README_마이크로서비스 아키텍처로 개발하기
SK플래닛_README_마이크로서비스 아키텍처로 개발하기
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
Micro Service Architecture(MSA) 탐방기
Micro Service Architecture(MSA) 탐방기Micro Service Architecture(MSA) 탐방기
Micro Service Architecture(MSA) 탐방기
 
Jbug 발표 msa탐방기_공유자료
Jbug 발표 msa탐방기_공유자료Jbug 발표 msa탐방기_공유자료
Jbug 발표 msa탐방기_공유자료
 
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
 
기술적 변화를 이끌어가기
기술적 변화를 이끌어가기기술적 변화를 이끌어가기
기술적 변화를 이끌어가기
 
Ch6 대용량서비스레퍼런스아키텍처 part.1
Ch6 대용량서비스레퍼런스아키텍처 part.1Ch6 대용량서비스레퍼런스아키텍처 part.1
Ch6 대용량서비스레퍼런스아키텍처 part.1
 
Service operation
Service operationService operation
Service operation
 
SLiPP 스터디 - MSA
SLiPP 스터디 - MSASLiPP 스터디 - MSA
SLiPP 스터디 - MSA
 
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐
대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐
 
서비스 지향 아키텍쳐 (SOA)
서비스 지향 아키텍쳐 (SOA)서비스 지향 아키텍쳐 (SOA)
서비스 지향 아키텍쳐 (SOA)
 
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
 
JBUG Korea 소개
JBUG Korea 소개JBUG Korea 소개
JBUG Korea 소개
 
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
 

Similar to 2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화

DevOps!! 도데체 왜, 어떻게 할까??
DevOps!! 도데체 왜, 어떻게 할까??DevOps!! 도데체 왜, 어떻게 할까??
DevOps!! 도데체 왜, 어떻게 할까??Joseph Kim
 
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스Hee Jae Lee
 
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화KTH, 케이티하이텔
 
DevOps와 자동화
DevOps와 자동화DevOps와 자동화
DevOps와 자동화DONGSU KIM
 
How to implement your dream 20150427
How to implement your dream 20150427How to implement your dream 20150427
How to implement your dream 20150427Will Kim
 
개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호용호 최
 
호갱노노 이렇게 만듭니다
호갱노노 이렇게 만듭니다호갱노노 이렇게 만듭니다
호갱노노 이렇게 만듭니다Ohgyun Ahn
 
Slipp 발표 자료 20151212
Slipp 발표 자료 20151212Slipp 발표 자료 20151212
Slipp 발표 자료 20151212Jinsoo Jung
 
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)VMware Tanzu Korea
 
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원NAVER D2
 
Understanding of Open Source
Understanding of Open SourceUnderstanding of Open Source
Understanding of Open SourceKevin Kim
 
2021년 2월 6일 개발자 이야기
2021년 2월 6일 개발자 이야기2021년 2월 6일 개발자 이야기
2021년 2월 6일 개발자 이야기Jay Park
 
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리Sa-ryong Kang
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님NAVER D2
 
OSS개발자 포럼 캠프
OSS개발자 포럼 캠프OSS개발자 포럼 캠프
OSS개발자 포럼 캠프Hakbeom Hwang
 
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재NAVER D2
 
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)Channy Yun
 
my activities before getting a job
my activities before getting a jobmy activities before getting a job
my activities before getting a jobDeo Kim
 
오픈소스로 사업하기 - 가이아쓰리디 이야기(서울시립대학교 창업지원단 특강)
오픈소스로 사업하기 - 가이아쓰리디 이야기(서울시립대학교 창업지원단 특강)오픈소스로 사업하기 - 가이아쓰리디 이야기(서울시립대학교 창업지원단 특강)
오픈소스로 사업하기 - 가이아쓰리디 이야기(서울시립대학교 창업지원단 특강)SANGHEE SHIN
 

Similar to 2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화 (20)

DevOps!! 도데체 왜, 어떻게 할까??
DevOps!! 도데체 왜, 어떻게 할까??DevOps!! 도데체 왜, 어떻게 할까??
DevOps!! 도데체 왜, 어떻게 할까??
 
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
 
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
 
DevOps와 자동화
DevOps와 자동화DevOps와 자동화
DevOps와 자동화
 
How to implement your dream 20150427
How to implement your dream 20150427How to implement your dream 20150427
How to implement your dream 20150427
 
개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호
 
호갱노노 이렇게 만듭니다
호갱노노 이렇게 만듭니다호갱노노 이렇게 만듭니다
호갱노노 이렇게 만듭니다
 
Slipp 발표 자료 20151212
Slipp 발표 자료 20151212Slipp 발표 자료 20151212
Slipp 발표 자료 20151212
 
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
 
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
 
Understanding of Open Source
Understanding of Open SourceUnderstanding of Open Source
Understanding of Open Source
 
2021년 2월 6일 개발자 이야기
2021년 2월 6일 개발자 이야기2021년 2월 6일 개발자 이야기
2021년 2월 6일 개발자 이야기
 
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
 
OSS개발자 포럼 캠프
OSS개발자 포럼 캠프OSS개발자 포럼 캠프
OSS개발자 포럼 캠프
 
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
 
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)
 
about Programmer 2018
about Programmer 2018about Programmer 2018
about Programmer 2018
 
my activities before getting a job
my activities before getting a jobmy activities before getting a job
my activities before getting a job
 
오픈소스로 사업하기 - 가이아쓰리디 이야기(서울시립대학교 창업지원단 특강)
오픈소스로 사업하기 - 가이아쓰리디 이야기(서울시립대학교 창업지원단 특강)오픈소스로 사업하기 - 가이아쓰리디 이야기(서울시립대학교 창업지원단 특강)
오픈소스로 사업하기 - 가이아쓰리디 이야기(서울시립대학교 창업지원단 특강)
 

More from Terry Cho

Kubernetes #6 advanced scheduling
Kubernetes #6   advanced schedulingKubernetes #6   advanced scheduling
Kubernetes #6 advanced schedulingTerry Cho
 
Kubernetes #4 volume &amp; stateful set
Kubernetes #4   volume &amp; stateful setKubernetes #4   volume &amp; stateful set
Kubernetes #4 volume &amp; stateful setTerry Cho
 
Kubernetes #3 security
Kubernetes #3   securityKubernetes #3   security
Kubernetes #3 securityTerry Cho
 
Kubernetes #2 monitoring
Kubernetes #2   monitoring Kubernetes #2   monitoring
Kubernetes #2 monitoring Terry Cho
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 introTerry Cho
 
머신러닝으로 얼굴 인식 모델 개발 삽질기
머신러닝으로 얼굴 인식 모델 개발 삽질기머신러닝으로 얼굴 인식 모델 개발 삽질기
머신러닝으로 얼굴 인식 모델 개발 삽질기Terry Cho
 
1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스Terry Cho
 
애자일 스크럼과 JIRA
애자일 스크럼과 JIRA 애자일 스크럼과 JIRA
애자일 스크럼과 JIRA Terry Cho
 
REST API 설계
REST API 설계REST API 설계
REST API 설계Terry Cho
 
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개Terry Cho
 
R 프로그래밍-향상된 데이타 조작
R 프로그래밍-향상된 데이타 조작R 프로그래밍-향상된 데이타 조작
R 프로그래밍-향상된 데이타 조작Terry Cho
 
R 프로그래밍 기본 문법
R 프로그래밍 기본 문법R 프로그래밍 기본 문법
R 프로그래밍 기본 문법Terry Cho
 
R 기본-데이타형 소개
R 기본-데이타형 소개R 기본-데이타형 소개
R 기본-데이타형 소개Terry Cho
 
Redis data modeling examples
Redis data modeling examplesRedis data modeling examples
Redis data modeling examplesTerry Cho
 
대용량 분산 아키텍쳐 설계 #5. rest
대용량 분산 아키텍쳐 설계 #5. rest대용량 분산 아키텍쳐 설계 #5. rest
대용량 분산 아키텍쳐 설계 #5. restTerry Cho
 
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴Terry Cho
 
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용Terry Cho
 
자바 성능 강의
자바 성능 강의자바 성능 강의
자바 성능 강의Terry Cho
 

More from Terry Cho (18)

Kubernetes #6 advanced scheduling
Kubernetes #6   advanced schedulingKubernetes #6   advanced scheduling
Kubernetes #6 advanced scheduling
 
Kubernetes #4 volume &amp; stateful set
Kubernetes #4   volume &amp; stateful setKubernetes #4   volume &amp; stateful set
Kubernetes #4 volume &amp; stateful set
 
Kubernetes #3 security
Kubernetes #3   securityKubernetes #3   security
Kubernetes #3 security
 
Kubernetes #2 monitoring
Kubernetes #2   monitoring Kubernetes #2   monitoring
Kubernetes #2 monitoring
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 intro
 
머신러닝으로 얼굴 인식 모델 개발 삽질기
머신러닝으로 얼굴 인식 모델 개발 삽질기머신러닝으로 얼굴 인식 모델 개발 삽질기
머신러닝으로 얼굴 인식 모델 개발 삽질기
 
1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스
 
애자일 스크럼과 JIRA
애자일 스크럼과 JIRA 애자일 스크럼과 JIRA
애자일 스크럼과 JIRA
 
REST API 설계
REST API 설계REST API 설계
REST API 설계
 
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
 
R 프로그래밍-향상된 데이타 조작
R 프로그래밍-향상된 데이타 조작R 프로그래밍-향상된 데이타 조작
R 프로그래밍-향상된 데이타 조작
 
R 프로그래밍 기본 문법
R 프로그래밍 기본 문법R 프로그래밍 기본 문법
R 프로그래밍 기본 문법
 
R 기본-데이타형 소개
R 기본-데이타형 소개R 기본-데이타형 소개
R 기본-데이타형 소개
 
Redis data modeling examples
Redis data modeling examplesRedis data modeling examples
Redis data modeling examples
 
대용량 분산 아키텍쳐 설계 #5. rest
대용량 분산 아키텍쳐 설계 #5. rest대용량 분산 아키텍쳐 설계 #5. rest
대용량 분산 아키텍쳐 설계 #5. rest
 
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
 
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
 
자바 성능 강의
자바 성능 강의자바 성능 강의
자바 성능 강의
 

2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화

  • 1. 소프트웨어 개발 트렌드의 변화 Facebook Server Side Architect 그룹 대표 운영자 조대협 http://bcho.tistory.com
  • 2. 발표자 소개 • 회원 13만명 자바스터디(www.javastudy.co.kr) 운영자.. (기억의 저편..) • 천리안 자바 동호회 초대 시삽 • 벤처 개발자 • BEA 웹로직 기술 지원 엔지니어 • 오라클 장애 진단, 성능 튜닝 • NHN 잠깐 • 오라클 컨설턴트 (SOA,EAI,ALM,Enterprise 2.0) • 오라클 아키텍트 (대용량 분산 시스템) • MS APAC 클라우드 수석 아키텍트 • 프리렌서 (잘나가는 사장님) • 지금은 Chief(Cheap?) 아키텍트 – 오픈 소스 기반 글로벌 분산 서버 구축 블로그 : http://bcho.tistory.com 이메일 : bw.cho@samsung.com 페이스북 ServerSideArchitectGroup https://www.facebook.com/groups/serverside/ 조대협 본명 조병욱 ???? 싸장님
  • 4. Layer Component Product Access Layer Reverse Proxy apache httpd, nginx, haproxy Enterprise Service Bus (ESB Approach) mule, Oracle Service Bus Enterprise Service Bus (API Platform Approach) Apigee, Layer 7,Mashery,3scale Identity Management Shiboleth, SimpleSAML PHP, OpenAM, CA Site Minder Integration Layer Apache Camel, Spring Integration Business Layer Transaction processing(Sync) apache tomcat, jetty ,apache mina ,apache netty ,redhat jboss ,oracle weblogic Message Queue (Async) Rabbit MQ, Active MQ, Zero MQ data grid Memcached,redis , oracle coherence ,Infinispan ,Hazlecast Persistent Layer RDBMS mysql,maria db, postgres,MS SQL,Oracle mysql replication Ganglia , tungsten ,oracle golden gate file system (NFS) glusterfs file system (object store) openstack swift,S3,BlobStorage NoSQL Hbase , Cassandra , mongodb, Riak, Couch Base Analysis Layer log gathering Flume , flumed, Logstash, GrayLog,Sentry analysis service splunk ETL Pentaho map & reduce Hadoop,pig,hive cep esper OAM cmdb zookeeper monitoring Jennifer , ganglia , nagios configuration management Puppet , chef,ancible Deployment Fabric,RPM 오픈 소스 솔루션 스택? 최신 기술 동향? 대용량 분산 시스템 아키텍쳐?
  • 5. 그것 보다는 많은 사람들에게 도움이 되는 이야기..!!
  • 6. 어떻게 개발 트랜드가 변하고 있는가?
  • 8. 요즘 실리콘 밸리에서는… 잘하는 것 부터 시작해서 발전 대세는 스크립트 언어 스스로 공부,스스로 개발,내재화 소규모 조직 [10~20명] 대우 받는 개발자 클라우드 컴퓨팅 빠른 시장 진입,저비용,누구나 서비스 젊은 개발자 (한국은 접는 개발자) 협업 [SNS,오픈소스,GitHub] CI to CD 유연한 고용 시장 메뚜기!! 3년 넘으면 바보 한국은 배신자 개발자의 변신은 무죄 새로운 능력..!! 잉여력STAR UP
  • 10. 4가지 관점에서 개발 트렌드의 변화를 이해 이에 적절한 오픈소스 개발 전략 수립!! 소프트웨어 개발 중심의 변화 시대별 기술의 변화 개발 방식의 변화 오픈소스 개발 전략
  • 11. 1. 소프트웨어 개발 중심의 변화
  • 12. 소프트웨어 개발 중심의 변화 시대별로 소프트웨어를 개발하는 이유가 어떻게 변화 했을까? 우리가 지금 쓰는 기술들은 왜? 인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대 서비스 사업자 대단한 님들!! 벤더 개발자!! (스타트업,앱개발자)  당신도 할 수 있다 기술 변화의 주체
  • 14. 시대별 기술의 변화 인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대 EJB, JAVA, SERVLET/JSP 들어는 보셨나요? 벤더 : “이게 최신 기술임!!. 교육 부터 다 해드림!! 나만 믿으세요” $$$ 먹고 살 걱정 없음!! Spring,Hibernate,MySQL ,Struts,Ruby On Rails,PHP .. 서비스사 : 제품은 비쌈. 우리가 만든거 가져다 쓰 세요!! 대신 책임은 니꺼! 공부해야 함.. 압박!! 조금씩 먹고 살기 힘들어짐 (버틸만 함-그래도 대세는 있음) JavaScript, Cloud,node.js, Ruby on Rails,NoSQL 개발자:어려워서 못 써 먹겠음. 차라리 만듬..!! 기술 변화도 심함 이제는 생존의 문제!! 명퇴가 눈앞에..
  • 15. 시대별 기술 변화 인터넷,SNS의 시대엔터프라이즈 시대 모바일 시대 UNIX 서버 벤더 소프트웨어 X86 서버 오픈소스 클라우드 오픈소스 스크립트 언어!! ORACLE MySQL NoSQL API HTML 5 안드로이드,IOS웹웹,4GL 쉽고 빠른 개발 기술의 홍수 대체제 성격 새로운 기술 흐름을 만드는 전환기 안정성,미션 크리티 컬 업무 위주
  • 16. 시대별 기술자 • 왜 이런 현상이 생기는가? 쉬운 기술이 주목 받는 이유 스타트업. 앱 개발 조합 1. 기획자 창업 디자이너 - 기획자 여자 친구 개발자 – 기획자의 친구 (디자이너를 사랑함) 조합 2. 디자이너 창업 기획자 - 디자이너의 여자 친구 개발자 – 디자이너의 친구 (기획자를 사랑함) 개발자 1인 혼자 다 해야함 (클라이언트, 서버, 하드웨어 인프라) 배우기 쉬워야 함 돈 떨어지기전에 시장 출시해야함 빨리 배울 수 있어야함
  • 17. 시장 상황 수많은 앱들 / 치열한 경쟁 빠른 출시, 빠른 업데이트가 필요
  • 18. 요구 되는 기술 빠른 출시, 빠른 업데이트가 필요 쉬운 기술 필요 낮은 비용 클라우드 컴퓨팅 스크립트 언어 운영 효율화 Devops 자동화
  • 19. 클라우드 컴퓨팅 • 클라우드 컴퓨팅이 가져다준 변화 – 저비용으로 시작 가능 – 무제한적 리소스 – 지역/시간 제약에서 자유로워짐 – 쉽다. 하드웨어 인프라에 대한 작업이 없어짐 개발자가 인프라를 핸들링 가능
  • 20. 클라우드 컴퓨팅 • IaaS (Infrastructure As A Service)도 어렵다. • PaaS (Platform As A Service) 유행 • IaaS : VM (Linux, Windows box)를 만들어줌 • PaaS : 웹서버, DBMS를 깔아줌.
  • 21. 클라우드 컴퓨팅 • 고려 사항 빠른 시장 진입 운영비 절감 초기 투자비 절감 유연한 자원 사용 (Auto Scale Out) 느려요 IO Performance 싸지 않아요 기존 솔루션이 안돌아요 장애가 납니다. 아주 잘!! (멀티 데이타 센타 설계) 클라우드 컴퓨팅의 장점 설계시 고려 사항
  • 22. Devops의 등장 Devops = Development + Operation (개발 + 운영) 개발과 운영 조직을 하나로 묶어서 원할한 의사 소통 빠른 반영, 빠른 피드백 반영 가능
  • 23. 자동화 • 흔한(평범한) 개발 환경 시나리오 – 개발자가 아침에 출근해서 – 이클립스를 키고, 소스코드를 Git에서 Check Out 한후 – JIRA를 통해서 오늘 할당된 작업을 확인 한후에 코딩을 하고 – PC에서 Junit등을 이용하여 단위테스트등을 모두 끝 마치고 – 코드를 Git에 Commit하면 – Jekins에서 코드 변경을 감지하여, 자동으로 Check Out해서 mvn을 이용해서 컴파일 하고, 테스트 서버에 배포해서 단위 테스트를 모두 수행하고, 코드의 라인커버리지를 분석하여 리포팅 한다. – 팀장은 빌드가 완료되었음을 확인하고, 단위 테스트 100% 완료 및 라인 커 버리지 80% 완료를 확인한다. – 릴리즈 날짜가 오면, 배포 엔지니어는 별도의 작업 없이 Jenkins에서 빌드된 그날 WAR를 확인하고, Fabric으로 된 배포 스크립트를 수행하면, 자동으로 개발,QA 환경으로 배포가 되고, 환경별로 필요한 resource 파일들이 자동으 로 customization해서 배포가 완료된 후, Junit 기반의 단위 테스트, SOAP UI 기반의 REST API 테스트, Seleniuem 기반의 UI 테스트까지 자동으로 완료 한다. 만약에 배포나 테스트가 실패하면, 이전 버전으로 자동 롤백한다.
  • 24. 자동화 • 빌드 자동화, 테스트 자동화, 배포 자동화 DEV QA STAGE 테스트完 가상화 or 클라우드 필요할때만 전개 릴리즈 연계시스템 클라이언트 단말(모바일) 자동 빌드 배포 시스템 Python Fabric Ruby Capistrano mvn & RPM 리포지토리 rpm
  • 25. 스크립트 언어 Ruby on Rails, Python,PHP 대세는 node.js
  • 26. 아키텍쳐 변화 중앙 집중형 고가용성(HA) 분산형 Resilience 트랜젝션 보장 장애 허용 한정된 용량 대용량 목표 성능 한계 성능 엔터프라이즈 시대 모바일 시대 먹고 살기 좋던 시절 요즘 RMI,WebService REST OPEN API
  • 28. 정보 습득 방식의 변화 벤더 교육 센터 제품 메뉴얼 책 책 온라인 메뉴얼 블로그 찾아보기 물어보기(영어로…) 중수 코드 까보기 고수 네이버?
  • 29. 개발 방식의 변화 벤더가 시키는데로 솔루션에 포함된 예제 보고 책 예제 보고 진리를 깨우치고 물어보고 다른데 프로젝트 했던 SI 불러서 그럴 시간 없음…. Copy & Paste Stack overflow 하는데 까정 해본다. 시간 없음 기술 검증 PoC,BMT 똑똑하면 소스 깐다. Trial & Error
  • 30. 단계별 개발 모델의 변화 • 1단계 스타트업!! 스타트업
  • 31. 단계별 개발 모델의 변화 • 2단계 펀딩 받았다. 성숙된 개발 조직
  • 32. 단계별 개발 모델의 변화 • 3단계 깨달았다. CD & DEVOPS
  • 33. 개발 방법론 <Insert Picture Here> 그래서… 저명한 박사님들께서.. 방법론을 만드시니.. RUP,CBD,CMMI
  • 34. 개발 방법론 But… 그러나 현실은  방법론은 방법론…  우리는 조금 더 현실적인 방법론이 필요합니다.
  • 35. 개발 방법론 실용주의 방법론 구세주 등장!! • 실용주의 방법론 • Erich Gamma, Joel Spolsky, Kent beck, Andrew Hunt • Iterative & Incremental • 애자일 기반 • 기존 방법론과 차이 • 요구 사항이 변화할 것을 가정 • 에러가 있을 것을 가정하여, 자주 테스트 • 협업과 커뮤니케이션
  • 36. 개발 방법론 • 대표적인 개발 방법론 스크럼이 대세!! 관리자 입장에서는 예측 불가 조직에 맞게 바꿔서 쓰세요 http://agilescout.com/learn-more-agile-software- development-methods-this-year/
  • 37. 개발 방법론 http://bcho.tistory.com/ 내용이 많아서, 여기에 다 있습니다. 아시는 분들은 이미 알고, 자료도 많으니 모르시는 분들은 이것만도 7박 8일은 이야기 할 수 있으니, Scrum 만 기억해 가세요
  • 38. 개발 방법론 • 이것만 기억하세요 요구 사항은 변한다… 변하는게 나쁜게 아니라 고객이 원한다… 결국은 사람이 답이다. 커뮤니케이션을 원할하게 하는 방향으로 변화 역할과 원칙, 프로세스를 잊지 마라 안그러면 망한다. 애자일은 무슨~~
  • 40. 오픈소스 개발전략은 에코 시스템 영어…!! 13년이나 배웠잖아요 요즘 한국개발자들 많이함 해보면 됨!! 라이센스. 특허!! 개인 정보 보호법 블로그.. 메뉴얼… 예제… (공모전에는 필요 없을지도…)
  • 41. 몇가지 팁 • 오픈소스는 혜택이 많습니다. (착한 분들이 많아서…) Atlassian JIRA 무료 입니다 – 오픈소스는 (좋아요.. 꼭쓰세요) 클라우드가 필요하면 Microsoft에서 스타트업용으로 일정기간 무료 제 공 해준답니다. BizSpark 인가? (연락처 : TBD) 정부 단체를 잘 이용하세요.. (법무,세무 컨설팅…)