System Compleat.

'Pivotal'에 해당되는 글 8건

  1. 세월 빠르네 2
  2. Pivotal Cloud Foundry - PaaS 3
  3. PaaS Community Leader / Member 를 찾습니다.

세월 빠르네

Techs


(younjin.jeong@gmail.com, 정윤진) 


회사를 옮긴지 벌써 10개월 정도 되어간다. 그동안 여러가지 일들이 많았지만, 역시 엔터프라이즈를 주로 상대하다 보니 이전보다는 업무의 밀도는 조금 낮아진 것 같은 느낌이 드는 것이 사실이다. 글쎄, 하고 있는 일과 해야 하는일, 그리고 그것들이 하고 싶은 일과 잘 맞물림에도 불구하고 뭔가 스스로 삐걱대는 느낌을 지울 수 없다. 그것은 현재 변하고 있는 기술의 패러다임 때문일까, 아니면 보다 편한것을 포기해야 직성이 풀리는 성격 때문일까, 아니면 새로운 도전의 즐거움 뒤에는 격한 스트레스가 있다는 것을 너무 잘 알기 때문일까. 





취미인 무선 조종은 점점 취미가 아닌것 처럼 되어간다. 60불 짜리 윙스팬 2.4미터 짜리 비행기에는 이제 라스베리 파이라던가, 아두이노라던가, 센서들 그리고 날아야 하는 숙명으로 비행기에 필요한 기본적인 것들까지 주렁주렁 붙어서 이제 무선 조종이라고 말하기도 뭐할 지경이 됬다. 거기에 2 axis 짐벌까지 하단으로 달아두고 생각해 보니 이게 과연 이렇게 계속 만들어도 좋을지 어쩔지 무선 통신기사 자격증이라도 확보해야 할 것 같은 느낌. 이거 더 만들다가 NASA Flight Research Center 에 취직하면 어쩌나 걱정할 지경. (은 농담) 





음... 일로서 최근에 많이 보고 있는 것이라면 아무래도 역시 기술이 소프트웨어로 많이 옮겨가고 있다는 사실인것 같다. 이전에는 그저 사서쓰면 되는 것들이 많았는데, 이제는 뭐 사업이 곧 소프트웨어 또는 소프트웨어 기반 서비스다 보니 개발자들 구인에 대한 이야기도 많고, 또 이런 개발자 분들이 일하는 문화, 도구에 대한 것들이 많다. 신사업은 곧 개발자 없이 하기는 불가능하니까, 이제는 SI 수준이 아닌 서비스, 즉 프로젝트 레벨에서 프로덕트 레벨로의 전환이 많이 이야기가 되고, 그 방법에 대해 물어오는 곳이 많기도 하다. 


아울러 이제는 누구나 이야기 하고 있는 마이크로 서비스 같은것들. 근데 이게 다들 이야기 하고 있는데 정작 중요한 것들을 이야기 하고 있지 않는것 같다. 마이크로 서비스가 좋기는 하지만, 일단 어떻게 만들어야 하는지 아는 사람이 거의 없고, 솔직히 국내에서 그것을 경험했을 만한 회사가 많지 않은데 너도나도 전문가 코스프레 하는것 같다는 느낌. 공부가 나쁜건 아니지만 그래도 그건 이렇게 해야 해요 하고 말할때는 경험이 있어야 하지 않나 싶고, 특히 마이크로 서비스의 구성 같은것은 그 키워드가 "재사용성" 에 기반해야 할 정도임에도 불구하고 그 경험을 말하는 이는 별로 없는 느낌. 죄 어디서 외국 블로그 주워다가 같다 붙이기나 하고. 하지만 뭐 그럴 수 밖에 없는것이 어디 국내에서 그렇게 만들려고 하는데가 있어야 경험도 할 것 아니겠냐 말이지. 


음, 주목할 만한 것으로는 뭐랄까 예전부터 팀을 구성할때는 서로 다른 역할이 모여야 한다고 생각한 적이 많았는데, 요새 들어서는 그 팀의 모양이 더 구체화 되는 느낌이다. UX 는 UX 끼리 DBA 는 DBA 끼리 서로서로 팀짜고 앉아서 일하면 더 잘된다고 생각하시는 분들이 많은것 같은데, 예전에 아마존의 Zocalo, 아 지금은 이름이 바뀌었지. Workdocs 같은거를 오픈스택 Swift 기반으로 만든적이 있는데, 기본은 Node.js, 사용자나 오브젝트 디비 같은건 몽고, 스토리지는 키스톤에 스위프트 정도로 엔터프라이즈용 파일 공유 솔루션 같은걸 만드는데 3달 정도 걸렸던것 같다. 그때 구성이 백엔드도 하는 프론트엔드, 프론트도 좀 하는 백엔드, 그리고 필요한 스택과 라이브러리 그리고 인프라를 준비하는 나님셀프. 똑똑한 사람들과 일하는 것은 아주 즐거운 일이다. 내가 삽질하지 않아야 다른 사람도 퍼포먼스가 나고, 개선이 필요한 부분에 어디를 손보면 좋을지 서로 퍼리가 팍팍 돌아가는 소리가 들리는 것은 좋은 경험이라는 것이지. 이제는 그런 팀의 모양이 마이크로 서비스와 맞물려서 Conway's law 같은 것으로 이야기가 되기도 하지만, 어쨌든 작은팀이 효율적이고 돌아가게 만드는 것이 요새 많은 조직에서 물어오는 내용이기도 하다. 이자리를 빌어서 파이어준과 성열형에게 좋은 경험 함께해줘서 감사. 


이제는 다들 회사를 옮기고 당시 프로젝트는 오픈소스화 되었는데 이젠 시간도 오래 지나서 보는 분들이 있을까 모르겠지만. 레포 주소는 여기. 

https://github.com/younjinjeong/thevelox 


그리고 이건 당시 오픈할때 준호형의 블로그 뽀스팅 

http://firejune.com/1771/The+Velox+%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8+%EA%B3%B5%EA%B0%9C+%EA%B7%B8%EB%A6%AC%EA%B3%A0+%ED%81%B4%EB%A1%9C%EC%A6%88+%EB%B2%A0%ED%83%80?stag=thevelox.com 


요새 보니까 누가 Node.js 의 콜백지옥이 어쩌니 async 가 어쩌니 하시던데 뭔가 알파고 나오니 빅데이터 전문가 한분 탄생하신 그런 느낌? ㅋ 


그리고, 요새 제일 많이 이야기 하고 있는 클라우드 파운더리. 

이게 참 뭐가 뭔지 모르겠다 어쩌고 하고 말이 많은데, 이게 무슨 문제를 해결하는 도구인고 하면, 바로 


"지금 80/443 포트에서 동작하는 웹 앱을 돌리기 위해 얼마나 많은 일을 하고 계심까?" 


에 더하여 


"그런 일을 계속 반복해야 할텐데, 그거 사고도 많이 나고 힘들지 않슴까?" 


의 문제를 해결하는 도구라는 점. 

기술 좋아 하시는 분들은 다커랑 큐버네티스 그런거 좋아하실테니 그 조합의 장점은 다 알고 계실 테지만 그거 어디 프로덕션에 돌리겠어요? 게다가 CVE 터지면 어쩔 것인지도 뭐 확실하지 않고, 내가 보니까 glibc 나 커널 업데이트 못해서 지금 난리가 날 것 같은 상태의 보안 취약점으로 돌아가는 서비스들이 한두개가 아닌데 말이지. 그러지 말고 클라우드 파운더리 써 봅시다. 뭐 설치하지 말고 뭐하지 말고 그냥 http://run.pivotal.io 가면 60일 계정 줌. 그리고 오픈소스 버전도 있는데 그것은 YAML 지옥이라 아직까지는 꽤 공부해야 사용이 가능할 것이란 말. 


거기에 자동화 된 테스트, 모바일 자동 테스트 그런것들도 주제가 많은데 언제고 시간이 되면 각각 디테일하게 써 보는 것으로. 


오랜만에 블로그 와서 여기저기 고장난것도 좀 고치고 방명록에 알 수 없는 러시아 말도 좀 지우고 포스팅도 한건 해줘야 할 것 같아서... 

누구든 조만간 소주 한잔 합시다용 


회사 블로그도 업데이트 해야 하는데... 

http://blog.pivotal.io/kr 


(younjin.jeong@gmail.com, 정윤진) 









Pivotal Cloud Foundry - PaaS

Techs


(younjin.jeong@gmail.com, 정윤진) 


회사의 공식 블로그 계정을 얻었는데, 아무래도 거기는 정식 교육을 다 마친후에 포스팅을 하는것이 좋을 것 같아서 일단 여기에. Pivotal 에 입사한 이후에 회사가 가진 다양한 제품에 대해 이리저리 살펴보다 보니, 이 PaaS 라고 불리는 물건이 꽤나 재미있어서 포스팅을 한번. 


Pivotal 이라는데가 사실 제법 꽤 유명한 회사인데, 아직 잘 모르시는 개발자 분들을 많이 만남.  

https://spring.io/ 페이지 맨 아래 보시면. 

© 2015 Pivotal Software, Inc. All Rights Reserved. Terms of Use and Privacy  


앞으로 Spring 하시면서 Pivotal 모르기 없기. (Grails 와 Groovy 도..) :-) 




쭉 쓰다 보니 막상 Cloud Foundry PaaS 를 어떻게 쓰는지, 어떤 컨셉인지에 대한 설명이 잘 없는것 같아서 긴급 추가. Syntax highlight 는 살짝 귀찮아서 나중에 업데이트를 하기로 ㅎㅎ 


git clone [깃트허브에서원하는코드를클론]

cd [클론된코드디렉토리]

cf push [앱이름]


배포 끝. http://앱이름.도메인.컴 으로 접근해 보면 즉각 확인 ㅎㅎ 

내가 지금 MySQL이 내 어플리케이션에 필요하다. 그렇다면 


cf create-service mysql [서비스플랜] [내mysql이름]

cf bind-service [내mysql이름] [앱이름]


그럼 접근 정보는 어떻게 참조하냐. 서비스가 앱에 연결이 되어 있다면 환경 변수로 참조가 가능하겠다. 

https://docs.cloudfoundry.org/devguide/services/managing-services.html


백문이 불여일견. 백견이 불여일행. 이 포스팅을 다 읽고 궁금하시면 http://run.pivotal.io/ 로 고고씡. 60일 트라이얼. PCF 버전에서 현재 지원하는 언어는 아래와 같고, 현재 .NET 을 실험적으로 올려볼 수 있음. 


MacBook-Air:cf-release yjeong$ cf buildpacks

Getting buildpacks...

buildpack                position   enabled   locked   filename   

staticfile_buildpack     1          true      false    staticfile_buildpack-cached-v1.0.0.zip   

java_buildpack_offline   2          true      false    java-buildpack-offline-v3.0.zip   

ruby_buildpack           3          true      false    ruby_buildpack-cached-v1.3.1.zip   

nodejs_buildpack         4          true      false    nodejs_buildpack-cached-v1.2.1.zip   

go_buildpack             5          true      false    go_buildpack-cached-v1.2.0.zip   

python_buildpack         6          true      false    python_buildpack-cached-v1.2.0.zip   

php_buildpack            7          true      false    php_buildpack-cached-v3.1.1.zip  



일단 이 Pivotal 이란 회사가 가진 서비스와 제품의 카테고리는 크게 3가지 정도. 


1. Pivotal Labs 라고 불리는 Software 컨설팅 조직. 고객의 개발자와 모니터를 함께 보며 나란히 앉아 합의한 scope 에 따라 8주 - 12주 정도로 개발을 함께 한다. 이를통해 고객은 빠른 속도로 소프트웨어를 개발하는 방법을 습득 가능. 


2. PaaS. 다양한 클라우드 인프라 기반 위에서 쉽게 코드를 푸시하여 다양한 서비스와 함께 동작시킬 수 있는 서비스. Cloud Foundry 라 불리우는 플랫폼과 그 외의 Pivotal 이 지원하는 다양한 소프트웨어를 함께 구동하고, 서비스에 반영할 수 있다. 로컬 데이터센터 및 퍼블릭 클라우드, 프라이빗 클라우드 모두에서 동작이 가능. 


3. 빅데이터 관련 제품들. 제법 유명한 Greenplum 과 HAWQ, Pivotal Hadoop 등이 있다. Big Data Suite (BDS) 라 불리우는 패키지로 존재하기도. 



위의 세가지는, 빠르게 소프트웨어를 개발하는 플랫폼으로 PaaS 를 사용하고 -> 이를 통해서 얻어지는 로그 및 다양한 데이터를 분석해서 -> 다시 어플리케이션에 반영하는 구조에 최적화 되어 있다. 만약 IT 를 전문으로 하는 회사가 아니라면 Labs 과 함께 실제 어플리케이션 개발을 진행해 봄으로서 경험을 체득하는 형태로 구성된다. 


Pivotal Labs 에 대한 간략한 설명 

https://en.wikipedia.org/wiki/Pivotal_Labs

Case: http://pivotallabs.com/case-studies/

Pivotal Tracker : http://www.pivotaltracker.com/



PaaS 그 자체가 가진 기능도 기능이겠지만, eco system 도 살펴볼 필요가 있다. 어떤 도구들을 함께 PaaS 에서 사용할 수 있는지는 개발자들에게는 매우 중요하니까.  https://pivotal.io/platform-as-a-service/pivotal-cloud-foundry/services


그니까 간단하게 몇가지만 소개를 해 보자면. 

- Redis 

- RabbitMQ

- MySQL 

- Gemfire : 이게 제법 엄청난 물건. 글로벌 레벨로 동기화가 가능한 인-메모리 NoSQL : http://pivotal.io/big-data/pivotal-gemfire 

- Pivotal Hadoop 

- Cassandra with Datasax 

- Riak CS, S3 compatible storage

- MongDB

- Neo4j 

- Jenkins 

- Mobile 관련 : Data sync, App Gateway, Push Notifications, App Distribution 


이것들은 모두 Pivotal 의 Cloud Foundry 라 불리는 PaaS 안에서 서비스의 형태로 자연스럽게 연동되며, 여기에 없는 서비스라도 service broker 라는 메커니즘을 통해 외부의 서비스와 연동이 가능하다. 따라서 개발자는 원하는 서비스를 입맛에 맞게 선택하고 이를 코드로 작성하여 바로 배포하여 사용할 수 있는, 그것도 우리 회사의 데이터센터와 AWS, 이후에는 Azure 및 GCE 등에도 코드 변경없이 그대로 푸시가 가능하다는 점. 


Pivotal 은 역시 또 그 자체로 다양한 오픈소스의 공헌자이기도 하다. 아래는 Pivotal 이 씨게 지원하고 있는 OSS 리스트. 

http://pivotal.io/oss


HP나 IBM의 PaaS 관련 제품들이 Cloud Foundry 기반이라는 것은 이미 널리 알려진 사실. 그리고 이 오픈 소스 버전의 Cloud Foundry 에 commit 되는 code 의 90% 이상이 Pivotal 에서 나온다는 점. 그리고 그 오픈소스에 대한 지원과 사용의 편의성을 구현한 것이 바로 Pivotal Cloud Foundry. 


만약 VMware 기반의 vCenter 환경이 있거나, AWS에 계정이 있거나, 또는 OpenStack 을 구성했다면 Pivotal CF 를 다운받아서 설치해 볼 수 있다. 관련 제품의 다운로드는 https://network.pivotal.io/ 에서. 



아니 그래서 그게 뭔데 라고 아직도 궁금해 하시는 분들을 위해 설명을 조금 보태자면. 


코드는 일반적으로 어떤 서비스를 사용하느냐에 따라 종속성을 가지게 되는데, 이는 클라우드 서비스 공급자 별로 제공하는 SDK 는 물론이거니와 코드 내에서도 어떤 WAS 를 사용하는가, 또는 어떤 캐시클러스터를 사용하는가에 따라 어떠한 환경에 종속적이게 된다. 이러한 제약은 이전에는 뭐 그래, 우리가 그런 소프트웨어와 인프라를 구매 했으니까 라고 생각 될 수 있겠지만, 클라우드 시대에는 각 퍼블릭 클라우드가 제공하는 가격에 따라, 그리고 지역적인 요건, 네트워크의 성능등 다양한 사업 요구 조건에 따라 어플리케이션을 배포하고 구동할 수 있어야 한다는 것. 그러나 이럴때마다 매번 각 환경에 맞도록 코드를 다시 써야한다면 엄청난 수고가 아닐 수 없다. 


단순히 멀티클라우드에 대한 요구 사항 뿐만 아니라, 작성된 코드의 동작 여부를 빠르게 확인하고, 이를 prod / stag / dev 환경의 변화에 따른 코드 변화 없이 바로 서비스에 반영할 수 있다는 장점을 얻을 수 있는것. 


이 모든것은 '스피드'와 연관이 있으며, 개발이 빨라질 수록 사업의 혁신도 빨라진다는 이야기. 

한가지 더 추가 하자면, Cloud Foundry 에 배포되는 앱은 컨테이너 기반이라는 것. - 재밌겠쥬? 




아래는 PCF 의 화면. run.pivotal.io 




그리고 이것은 AWS에 설치한 PCF. 



Cloud Foundry 에 대한 더 쉬운 설명은... 흠. 

"On-premise 와 AWS, GCE, Azure, OpenStack, VMware 를 지원하는 확장된 Heroku"


간단 데모 





STS + Cloud Foundry  







백견이 불여일행. 

https://run.pivotal.io


더 재미있는것은 공식 블로그 오픈과 함께 고고씡! 

추가. 


Cloud Foundry on AWS 

http://blog.pivotal.io/pivotal-cloud-foundry/products/pivotal_cloud_foundry_on_amazon_web_services


Cloud Foundry on Azure 

https://azure.microsoft.com/blog/2015/05/29/try-cloud-foundry-on-azure-today/ 


Cloud Foundry on GCE 

http://blog.pivotal.io/pivotal-cloud-foundry/products/deploy-and-update-your-google-compute-engine-vms-using-cloud-foundry-bosh


Cloud Foundry on OpenStack 

http://blog.pivotal.io/pivotal-cloud-foundry/products/migrating-a-cloud-foundry-paas-to-run-on-openstack



(younjin.jeong@gmail.com, 정윤진) 




PaaS Community Leader / Member 를 찾습니다.

Techs


(younjin.jeong@gmail.com, 정윤진) 


클라우드에 관심이 있으신 분이라면 한번쯤은 들어보셨을 법한 Cloud Foundry 의 한국 Community 를 만들어 보고자 합니다. 

국내에서는 Spring Framework 이 매우 유명하고, 많이들 사용하시는 것으로 알고 있습니다만 그 Spring framework 을 만든 회사가 Pivotal 이라는 사실을 아시는 분은 많이 없으신 것 같더라구요. :) 


Pivotal 의 경우, Spring framework 및 기타 다양한 Open source 에 기여하고 있으며 또한 소프트웨어 업계에서 유명한 컨설팅/외주 업체인 Pivotal Labs, 그리고 Big data 관련 제품을 담당하고 있는 Big data suite, 마지막으로 이번에 조직중인 Cloud Foundry 의 크게 세가지 제품을 주력으로 한국 고객들을 뵙고 있습니다.  http://pivotal.io






이는, 단순히 상용 클라우드 플랫폼 뿐만 아니라 Pivotal 이 90% 이상의 code 를 commit 하고 있는 OSS Cloud Foundry 영역을 포함합니다. http://cloudfoundry.org/index.html


Cloud Foundry 는 PaaS 서비스로서, 현존하는 다양한 퍼블릭/프라이빗 클라우드를 Platform level 에서 묶을 수 있는 강력한 도구 입니다. 백문이 불여 일견, 아래의 이미지로 대신 할게요. 






아무튼 OSS Cloud Foundry 및 Pivotal Cloud Foundry 모두에 관심이 있으신 분들, 그리고 기존의 퍼블릭, 하이브리드, 엔터프라이즈 비지니스 등에 관심 있으신 많은 분들의 연락을 기다리고 있겠습니다. 물론 인프라 하시는 분들 뿐만 아니라 개발하시는 분들께도 좋은 내용을 많이 소개해 드릴 수 있을 것 같네요.


재미있는 신기술에 대해 함께할 멤버를 찾습니다!  


아래의 링크 Meetup.com 에서 FB 로그인을 통해 쉽게 만나보실 수 있어요. 

http://www.meetup.com/Seoul-Cloud-Foundry-Meetup/ 



(younjin.jeong@gmail.com, 정윤진)