<commit_before>---
layout: post
title: "클라우드 기반 응용서비스를 개발할 때 고려해야 할 점"
tags: thingplus cloud
published: true
---

씽플러스(Thing+)는 사물인터넷(IoT) 응용서비스를 위한 서비스형 소프트웨어(SaaS)입니다. 사용자에게 IoT 경험을 제공하려는 서비스 파트너에게 클라우드 인프라에서 수행되는 애플리케이션 뿐 아니라 임베디드 미들웨어와 클라이언트 애플리케이션까지 모두 제공해 쉽고 빠르게 서비스를 시작할 수 있도록 도와줍니다. 이번 글에서는 씽플러스 개발 경험을 바탕으로 클라우드 기반 응용서비스를 개발할 때 고려해야 할 점을 살펴보겠습니다.

![](http://techblog.daliworks.net/assets/thingplus_product_20x20cm.jpg)

**확장성과 고가용성을 만족하기 위한 고려**

씽플러스는 개발환경 구성을 위해 한 대의 VM에서 모든 서비스를 수행할 수도 있고, 상용 서비스를 위해 수십 대 이상의 VM에서도 수행될 수 있는 확장 가능한 구조를 가집니다. 또한, 장애조치(failover)를 통해 고가용성을 유지하고 있습니다.

이러한 확장성과 고가용성을 만족하기 위해서는 다음과 같은 고려가 필요합니다.

* 하나의 인스턴스(instance)에서 문제가 있을 때 바로 다른 인스턴스에서 해당 기능을 수행할 수 있도록 장애조치(failover)가 가능한가
* 부하가 많이 걸리면 인스턴스를 더 늘려서 해결할 수 있도록 분산할 수 있는가
  - 샤딩(sharding)을 할 수 있는가
  - 작업큐(job queue)를 사용할 수 있는가
* 여러 개의 인스턴스를 어떤 형태(active/standby, active/active, master/slave)로 수행할 것인가

**풀스택 개발자의 생산성 향상을 위한 고려**

씽플러스는 단순한 기능 하나를 추가하더라도,<commit_msg>md typo<commit_after>---
layout: post
title: "클라우드 기반 응용서비스를 개발할 때 고려해야 할 점"
tags: thingplus cloud
published: true
---

씽플러스(Thing+)는 사물인터넷(IoT) 응용서비스를 위한 서비스형 소프트웨어(SaaS)입니다. 사용자에게 IoT 경험을 제공하려는 서비스 파트너에게 클라우드 인프라에서 수행되는 애플리케이션 뿐 아니라 임베디드 미들웨어와 클라이언트 애플리케이션까지 모두 제공해 쉽고 빠르게 서비스를 시작할 수 있도록 도와줍니다. 이번 글에서는 씽플러스 개발 경험을 바탕으로 클라우드 기반 응용서비스를 개발할 때 고려해야 할 점을 살펴보겠습니다.

![](http://techblog.daliworks.net/assets/thingplus_product_20x20cm.jpg)

**확장성과 고가용성을 만족하기 위한 고려**

씽플러스는 개발환경 구성을 위해 한 대의 VM에서 모든 서비스를 수행할 수도 있고, 상용 서비스를 위해 수십 대 이상의 VM에서도 수행될 수 있는 확장 가능한 구조를 가집니다. 또한, 장애조치(failover)를 통해 고가용성을 유지하고 있습니다.

이러한 확장성과 고가용성을 만족하기 위해서는 다음과 같은 고려가 필요합니다.

* 하나의 인스턴스(instance)에서 문제가 있을 때 바로 다른 인스턴스에서 해당 기능을 수행할 수 있도록 장애조치(failover)가 가능한가
* 부하가 많이 걸리면 인스턴스를 더 늘려서 해결할 수 있도록 분산할 수 있는가
  - 샤딩(sharding)을 할 수 있는가
  - 작업큐(job queue)를 사용할 수 있는가
* 여러 개의 인스턴스를 어떤 형태(active/standby, active/active, master/slave)로 수행할 것인가

**풀스택 개발자의 생산성 향상을 위한 고려**

씽플러스는 단순한 기능 하나를 추가하더라도,

{'fraction_non_alphanumeric': 0.07696307852314092, 'fraction_numerical': 0.004160166406656267, 'mean_word_length': 3.613908872901679, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '105646', 'n_tokens_mistral': 1684, 'n_tokens_neox': 2269, 'n_words': 332}