Да се запознаем с Cloud и Cloud стека

В последно време, думата Cloud взе да се появява все повече в речника ни. Вече почти всичко е клaуд или работи в клауда. Но, какво всъщност е клаудът? Този пост има задачата да ви запознае, ако все още не се чувствате хакери в тази област :)

Окей! Но какво е Cloud?

Cloud Снимка от http://www.flickr.com/photos/tropical-blizzard/4645527394/in/photostream/

Според Wikipedia Клауд компютингът е термин, който олицетворява големи мрежи от компютри, на които работят нашите програми и приложения. Разликата между клауд компютингът и класическия модел с един обикновен компютър е, че в клауда изчисленията могат да се извършват на един или много свързани компютри, използвайки концепцията "Виртуализация". Посредством "Виртуализацията" един или много компютри могат да бъдат конфигурирани и разделени на множество "виртуални" сървъри, които работят независимо и за крайния потребител изглеждат като обикновен физически сървър :)

Както може би подозирате, след като говорим за "виртуални" сървъри, това означава, че те не съществуват физически. Това свойство им дава гъвкавостта да бъдат местени много лесно от едно място на друго, а ако се налага да бъдат ъпгрейдвани или даунгрейдвани, без това да засяга крайния потребител.

Важното, което трябва да запомним тук е, че благодарение на Cloud технологиите имаме толкова ресурси, колкото ни трябват, за толкова време, колкото ни е нужно!

Cloud стекът

Cloud

След като вече се запознахме набързо със значението на популярната дума Cloud, сега идва ред да се гмурнем малко по-дълбоко към други 3 съкращения, които се използват когато се говори за клауд и клауд технологии.

На снимката горе виждате 3-те основни слоя в клауд стека. Редът в, който са подредени не е случаен. Класическия модел на клауд услугите е следния. Най-долу в йерархията са IaaS (Infrastructure as a Service) услугите, на базата на ,които стъпват PaaS (Platform as a Service) услугите и съответно над тях са SaaS (Softawre as a Service) услугите. Това, както споменах е нещо като класичеки модел, който не винаги се имплементира по-този начин. За по-ясно ще разгледаме отделно всеки един слой.

Защо се появява IaaS?

Причината, която прави IaaS услугите много по-предпочитани пред традиционните услуги е, защото провайдърите от този тип решават доста проблеми на потребителите си.

Използвайки IaaS услугите вие спирате да мислите за:

Инвестиции в хардуер и колокацията му

Няма нужда да планиране покупка на сървъри, конкретни параметри, хард дискове и т.н. Отпада необходимостта от търсене на партиди и чакането им със седмици и месеци, както и резервирането на всеки сървър. IaaS услугите предлагат готова инфраструктура, която може да използвате.

Хардуерни проблеми

Ако някога ви се е случвало да ставате от сън в 4 часа сутринта, за да отидете до дейта центъра и да смените изгорял хард диск, това няма да ви се наложи с IaaS провайдър. Те ще стават вместо вас. :)

Какво ви дава IaaS?

Като цяло, IaaS услугите ви дават Свързаност, Дисково пространство и Компютърни ресурси колкото ви трябват и когато ви трябват. Това всъщност си е като обикновените сървъри, но разликата е в клауд средата.

За съжаление обаче, вие продължавате да се грижите за поддръжката и управлението всички тези сървъри, макар и те да са виртуални, гъвкави и еластични.

За радост тук идват на помощ PaaS услугите, каквато е и CloudStrap.io :).

Защо се появява PaaS?

Както споменах по-горе, при IaaS услугите виe продължавате да се грижите за всичко свързано със сървърите си. Ако не сте системен администратор или нямате такъв под ръка, това си е доста сложно и трудоемко занимание.

В много от фирмите, които нямат системен администратор, се получава така, че някой от програмистите изземва тази роля. Това донякъде върши работа, но определено не е постоянно решение спрямо проектите и клиентите на компанията.

Ето затова се появяват PaaS доставчиците. Те ви решават проблемите свързани с:

  • Иснталация и конфигуриране на сървъри
  • Мониторинг на сървърите и услугите, които работят върху тях
  • Конфигуриране и поддръжка на защитни стени и системи за сигурност
  • Инсталиране и конфигуриране и поддръжка на софтуер като:
    • MySQL, MongoDB, PostgreSQL
    • Memcache, Redis, ElasticSearch
    • PHP, NodeJS, Ruby, Python
    • и др.

Целта на PaaS услугите е да направят клауда много по-лесен за използване и да върнат удоволствието от работата ни като програмисти. Оставят ни да се фокусираме върху писането на по-добри приложения, без да се занимаваме със сървърна администрация.

Защо креативните програмисти обичат PaaS?

Вече знаем, че PaaS ни решава проблемите със сървърите, но това не е всичко :). Ето няколко примера, какви глезотии предлага CloudStrap.io, като PaaS провайдър.

Уникално лесен за използване

Вижте пример как създаваме приложение в клауда, което използва PHP 5.5

app create phpapp php-5.5

Благодарение на този 1 ред в терминала, CloudStrap.io ще ви създаде един "виртуален сървър" в клауда, ще ви инсталира Apache, PHP 5.5, SSH user и домейн (https://phpapp-namespace.sapp.io), найс а? :)

Със същата тази команда можете да си създадете NodeJS, Ruby или Python среда в клауда.

Git push deployments

Вече не е нужно за всяко едно приложение да пишете Capistrano, Fabric или bash скриптове, които да автоматизират deployment процеса ви.

В CloudStrap, без значение на колко сървъра в клауда работи приложението ви, това което трябва да направите е:

git commit -am "my changes"
git push

CloudStrap ще се погрижи кодът ви да бъде дистрибутиран по сървърите.

Лесен достъп до технологии

Ако искате да добавите други технологии, като бази данни например, няма нужда да се занимавате с инсталиране на пакети и настройки, тунинговане и т.н. CloudStrap.io ви дава много лесен достъп до тях, следвайки добрите практики за поддържането им.

Ето как на вашето приложение phpapp можете да добавите например MongoDB:

app cartridge add mongodb-2.2

Написвайки тази команда, MongoDB ще бъде инсталиран и конфигуриран автоматично. Ще ви бъде създадена база данни, както и потребителско име и парола за достъп до нея. Единственото, което трябва да направите да я използвате :)

Ползването на една и съща платформа за Development, Staging, Production

Един от най-готините фийчъри за нас програмистите, е че благодарение на технологиите зад CloudStrap.io можем да използваме една и съща среда за development и production.

Представете си, че трябва да разработвате нов проект. Да речем, че е електронен магазин за ваш клиент.

Какво бихте направили в класическия случай: - Ще си инсталирате виртуална машина на лаптоп-а - Ще инсталирате някъде виртуални сървъри за да показвате на клиента - Ще пишете deployment скриптове и ще инсталирате production сървъри или още по-зле - ще използвате споделен хостинг

Какво ви предлага CloudStrap.io?

Ще създадете вашето тестово приложение:

app create newshop php-5.5 mysql-5.5

Програмирате, програмирате, програмирате. Готови сте.

app create productionshop --from-app newshop --scaling

С този 1 ред в терминала, CloudStrap ще направи клонинг на вашето приложение. Ще създаде нов сървър, ще копира кода, ще копира базата данни и всички настройки, които сте направили по време на разработка. Нещо повече! Благодарение на аргумента --scaling, CloudStrap.io ще конфигурира вашето приложение, че то ще скалира само, когато имате извънредно повече потребители на сайта си. Найс :)

В CloudStrap.io се случват още доста подобни магии, но за сега ще ви разкрием само тези :)

За кого е подходящ CloudStrap?

Ако се чудите дали CloudStrap е подходящ за вас, ето няколко хинта от наша страна:

Ако сте креативен програмист, който обича да пише софтуер и да не си губи времето с други неща, тогава CloudStrap.io е подходящ за вас!

Ако сте StartUP и искате да сте фокусирани върху бизнеса си, и нямате възможност да инвестирате в сървъри, системни администатори и персонал, за да поддържа услугите живи и работещи, тогава CloudStrap.io е подходящ за вас!

Ако сте Дигитална Агенция, която произвежда сайтове, електронни магазини, Facebook приложения или промоционални приложения, които трябва да работят, когато посетителите са от 100 до 100 000 дневно, тогава CloudStrap.io е подходящ за вас!

Ако сте Софтуерен екип, който иска Polyglot runtime платформа, бърз deployment, лесен достъп до технологии като MySQL, MongoDB, PostgreSQL, Redis, Memcache, Docker, интеграция със CI (Jenkins) сървър към вашите проекти. Платформа, с която екипът ви да работи заедно, тогава CloudStrap.io е подходящ за вас!

Let's talk about PaaS!

Ако сме ви заинтригували и искате да си поговорим за PaaS, свържете с нас на hello@cloudstrap.io или в социалните мрежи, през линковете по-долу.

Очаквайте скоро още интересни материали свързани с PaaS : )

Сподели в facebook Сподели в twitter Сподели в googleplus
Изпращане Супер!Имаш мейл с линк
за потвърждение!