Rhapsody Android Profile 

1. 개발된 Android app을 정적 동적으로 분석하는데 도움

- cod visualization : class간 class와 Android Framework간 구조 분석용

- Animation : 실행중 sequence diagram 형태로 동적을 보요줌.


2. Android framwork의 분석과 개선에 도움

- Android framework 역시 1의 방법대로 분석이 필요함

- 고객 입장에서 1의 검증이 만족스럽다면 2는 약간의 시간과 인력을 더투여될뿐 같은작업이라고 봄


3. Android를 포함한 새로운 서비스를 개발할때 설계와 검증에서 외부와 협력도움

-예를 들어 단말로는 Andorid를 사용하고 연동대상은 자동차나 가전제품 또는 서버가 되는 서비스들

- RTC와 연계하여 시내,외 모델 기반 협력 도구로 제안할 것이며 협력의 효율을 높여주는 솔루션이라고봄

'Android' 카테고리의 다른 글

Android 프로젝트 생성  (0) 2010.02.10
Android 설치를 해보자~ v2.1.0  (0) 2010.02.10
Posted by MIDDLE
,


1. 비싸던 컴퓨터에서 보급화된 비싼 컴퓨터가 되어지다가 점점 가격이 싸지는 보급형이 되어지면서 개인사용자를 모델로 출시

중앙 집중형 컴퓨터에서 점차 분산으로 자료를 정리 하다보니 관리가 힘들어지면서 하드웨어에서 소프트웨어로 넘어오게 되었다.

Posted by MIDDLE
,

Cloud 서비스

Cloud Service 2015. 4. 13. 16:20

1. 클라우드의 정의

인터넷을 통해 Resource를 빌려쓰고, 사용한 만큼 지불하는 Service


 

가상화가술을 이용하여



Cloud Computing 

 

기존방식 

Cloud(사용자 중심) 

 가상화 기술을 이용하여

IT자원의 가용률을 높이고

(Maximize Utilization)

구매방식 

IT투자, HW임대

1month or more 

인터넷을 통한 신청

A few Minutes 

 사용자가 필요로 하는것을 직접(Self Service)

제공방식 

Manual (구축) 

1Month or more

Automation(주문) 

A few Minutes

 인터넷을 통해 IT 자원을 실시간으로 빌려 쓰며 (Easy to Use)

제공단위 

물리적 장비단위 

Virtual Machine

Core/시간단위 최소기준 

사용한 만큼 지불하는 Service 방식 (Pay as you Go) 

지불방식 

임대/HW에 따른 과금 

사용량 기반 




2. 클라우드의 특징

- Agility improves with users' ability to re-probision technological infrastructure resources.

- Application Programming Interface (API) accessibility to software that enables machines to interact with cloud software in the same way the user interface facilitates interaction between humans and computers. Cloud computing systems typically use REST-based APIs.

- Cost is claimed to be redueced and in a public cloud delivery model capital expenditure is converted to operational expenditure. This is purported to lower barriers to entry. as infrastructure is typically provided by a third-party and does not need to be purchased for one-time or infrequent intensive computing tasks. Pricing on a utility computing basis is fine-grained with usage-based options and fewr IT skills are required for implementation (in-house).

- Deivce and Location independence enable users to access systems using a web browser regardless of their location or what device they are using (e.g. PC, mobile phone). As infrastructure is off-site(typically provided by a third-party) and accessed via the Internet, users can connect from anywhere.

- Multi-tenancy enables sharing of resources and costs across a large pool of users thus allowing for:

~ Centralization of infrastructure in locations with lower costs (such as real estate, eletricity, etc)

~ Peak-load capacity increases (users need not engineer for highest possible load-levels)

~ Utilization and efficiency improvements for systems that are often only 10%-20% utilized.

- Reliability is improved if multiple redundant sites are used. which makes well-designed cloud computing suitable for business continuity and disaster recovery.

- Sacalability via dynamic ("on-demand") provisioning of resources on a fine-grained. self-service basis near real-time, without users having to engineer for peak loads.

(resource가 많은양을 갑작스럽게 요구로 되어질때 항상 같은 퍼포먼스가 나올수 있도록 확장 지원)

- Performance is monitored, and consistent and loosely coupled architectures are constructed using web services as the system interface.

- Security could improve due to centralization of data, increased security-focused resources, etc.. but concerns can presist about loss of control over certain sensitive data, and the lack of security for sotred kernels. Security is often as good as better than under traditional systems, in part becuase providers are able to devote resources to solving security issues that many customers cnanot afford. However, the complexity of security is greatly increased when data is distributed over a wider area or greater number of devices and in multi-tenant systems that are being shared by unrelated users. in addition, user access to security audit logs may be difficult or impossible. Private cloud installations are in part motivated by users desire to retain control overthe infrastructure and avoid losing control of information security.

- Maintenance of cloud computing application is easier, because they do not need to be installed on each user's computer. They are easier to support and to improve, as the changes reach the clients instantly.


이러한 형태의 애플리케이션을 개발하도록 노력


3. 클라우드 컴퓨팅의 유형

 - 소유 방식에 따라 private 과 public cloud로 구분

 - IT자원의 성격에 따라 IaaS, PaaS, SaaS로 분류


서비스 유형 

 

 Public Cloud

인터넷 상으로 여러 사용자들에 의해 공유되는 IT 환경
Cloud Sevice Provider가 제공 및 관리

 Private Cloud

한 기업이나 기관에 의해 인트라넷상에서 배타적으로 사용되는 IT환경
기업 및 기관에 의해 통제 및 관리 

 




서비스 모델 

 

 SaaS

 기업 또는 일반 소비자가 다양한 어플리케이션을 인터넷 및 웹브라우저를 통해 서비스 제공

ex) prezi, onlineoffice

 PaaS

 기업이 Web App등의 어플리케이션을 개발하기 위한 환경을 서비스 형태로 제공

 IaaS

 물리적 서버(CPU, Memory, O/S), 스토리지 네트워크를 가상화하여 다수의 고객에게 Flexible하게 인프라 서비스 형태로 제공

 




클라우드 애플리케이션

클라우드 애플리케이션과 기존 애플리 케이션의 차이


 Service Model

Self Service Model

애플리케이션 개발과 운영이 밀접한 관계를 가짐 

SW & deploy Model 

Distributed 

애플리케이션이 독립 서비스로 모둔 분산 되어있음(분산 컴퓨팅) 

Scaling Model 

Horizontal Scaling 

애플리케이션이 서비스의 부하를 인지하여 부하를 분산 

HA Model 

Software HA 

애플리케이션이 장애를 인지하여 자동으로 Failover 시킴 

SLA Platform 

Designed to fail(always on) 

 

Hardware Platform

Cheap commodity hardware 

 









하드웨어 따로              하드웨어 공유         OS 공유              WaS하나에           애플리케이션하나로

vm 따로                    IaaS 방식             VMware                 여러가지 공유       많은 조직들이 사용

                                                                                                     어렵다.                  데이터 제공량이 많다.                                                   공유할수록 필요 데이터 적어진다.

                                                                            그러나 문제는 독립적으로 적용하기위해서는                                                                             그만큼 많은 데이터베이스와 개개인에 맞춤

                                                                            Class를 적용시켜줘야한다.

                                                                      Java에서는 tenant Level Class분리가 힘듬..

매우 중요!!!




보이는건 IaaS레벨정도이지만 안보이는 기술필요가 엄청나게 많다. 멀티태넌시를 어떻게 구현할 수 있을까

쉽지 않은 문제. 각지역마다 4-50개 있다치면 배포하는데에만 엄청난 시간이 필요 전세계를 테스트 해야만한다.


Dynamic Resource Usage

네트워크,스토리지의 사용량보다 가상 서버의 사용량이 제일 많음(가상머신 생성, 제거, 스펙 변경 등)

가상화 시켜 배포하면 리소스를 생성하고 없애는게 굉장히 빈번하다. 


클라우드에서 소수의 운영자가 수많은 서버를 관리하는 비결은 자동화 도구

페이스북은 IT인프라에 대한 매뉴얼 관리를 최대한 제거했다. 서버와 저장매체는 오픈 컴퓨트프로젝트(OCP)에 기반한 디자인 덕분에 도구없이도 교체 가능하다. 사이보그(Cybog)라 불리는 시스템은 오작동하는 서버들을 자동으로 수리하여, 셰프같은 프로비저닝 도구가 수천대의 서버관리를 도와준다.

페이스북은 최신 자동화 툴은 클러스터 플래너란것이다. 페이스북은 끊임없이 비즈니스 요구사항변화에 맞추기 위해 수천대의 서버를 규칙적으로 배포한다. 클러스터플래너는 전세계 데이터 센터에 걸쳐 서버 클러스터의 최적의 위치를 찾아준다.

그는 우리가 효율적으로 서버 수리를 할 수 있는건 데이터를 수집하고 분석하는 자동화된 시스템을 보유했기 때문 이라며 사이보그는 재시작같은 단순한 작업을 요하는 서버 수리를 시도한다.


Virtual Server의 생성 절차

가상 서버를 생성하는 전체 과정은 단순한 과정이 아닌 매우 복잡하고 많은 작업을 동반함

Virtual Network -> Virtual Storage -> Virtual Server 

-> OS installation -> 

Software Installation -> Software Configuration -> Verification

소프트웨어 생성시 config는 발생한다.

개발자가 3가지를 해야하지만 까다롭다.




'Cloud Service' 카테고리의 다른 글

데이터 과학이란?  (0) 2015.08.28
Cloud 사용 기술들 정리  (0) 2015.04.23
Posted by MIDDLE
,