Menu

Nakov.com logo

Thoughts on Software Engineering

Cloud Development курс – безплатно от 14 март

Курс "Разработка на софтуер в cloud среда" - безплатно в софтуерната академия

Независимо дали ни харесва или не, cloud технологиите лека полека стават неизбежна част от нашия живот. Не са далеко времената, когато компютри, таблети и телефони почти няма да използват локален storage и всичките ви данни и изчислителна мощ ще са някъде “в облака”. Неизбежно е! Светът отива към cloud технологиите, не можем да го спрем!

Новата професия: разработчик на софтуер в cloud среда

Въпросът на къде е тръгнала софтуерната индустрия покрай този cloud и ние като софтуерни инженери става все по-актуален. Ако в днешно време все още “опит с cloud технологиите” не е задължително изискване във всяка втора обява за работа (както са примерно изискванията “опит с базите данни” и “опит с уеб технологиите”) това лека по лека се променя. Искаме или не, “специалист по разработката на софтуер в cloud среда” стана поредната нова професия в софтуерната индустрия, която се появи по същия този начин, по който преди няколко години се появи професията “разработчик на мобилни приложения”.

Cloud технологиите и големите на ИТ пазара

Светът не може без cloud технологии! Огледайте се малко. Всички големи играчи в софтуерната индустрия се надпреварват да разработват и предлагат cloud инфраструктури, платформи и услуги и инвестират стотици милиони в тези разработки. Ще спомена само някои от играчите на ИТ пазара и някои техни cloud предложения: Microsoft Azure, IBM Cloud, Apple iCloud, Oracle Public Cloud, SAP NetWeaver on Demand, Google App Engine, Amazon Web Services, HP Cloud Services, VMware Cloud Foundry, Cisco Cloud Applications and Services, The Rackspace Cloud, Intel Hybrid Cloud, Dell Cloud Computing Solutions, Adobe Creative Cloud, CA Cloud Solutions, Symantec.cloud services, EMC Atmos Cloud Delivery Platform, Salesforce Force.com Cloud Computing Platform, …. Дали всички са се побъркали или май има хляб в тая работа?

Какво е cloud (облак)?

За да навлезем в cloud материята, нека обясним какво е cloud и си изясним едно по едно понятията, свързани с облачните технологии (cloud технологиите, cloud technologies): облак (cloud), облачни изчисления (cloud computing), облачни инфраструктури (cloud infrastructures), облачни платформи (cloud platforms), облачни услуги (cloud services) и т.н.

Изчисления в облака (cloud computing)

Cloud computing (изчисления в облака) е термин от информационните технологии, който означава обединяване изчислителната мощ на много компютри (и други хардуерни устройства) в единна система, която се използва споделено от множество потребители и приложения. Вместо всеки да си купува компютър или сървърна машина, която в огромната част от времето бездейства (докато чака да се появи потребител за обслужване), големи фирми купуват няколко хиляди компютъра, слагат ги в data центрове по целия свят и продават техните обединени ресурси на други потребители (на дребно).

Как работят изчисленията в облака?

Изчисленията в облака позволяват да кажем върху само 20-30 по-мощни сървъра да работят едновременно няколко стотици виртуални машини с хиляди приложения и десетки хиляди потребители. Всеки ползва част от облака, когато има нужда и колкото има нужда и на практика с по-малко хардуер се обслужват повече потребители. Това е ИТ феномен, познат под името “виртуализация” – възможността на един физическа хардуерна машина да работят едновременно много виртуални машини (виртуални компютри, VMs). Ако дадена система има нужда от изчислителна мощ примерно за 10 секунди, облакът може да й предостави необходимото изчислително време да си свърши работата, а след това може часове на ред системата да бездейства и ресурсите на облака ще се алокират за друга система.

Изчисления в облака – пример

Един реален пример за изчисления в облака е следният: ако имате пощенски сървър, той има нужда от ресурси (интернет трафик, база данни, дискови операции, процесорно време и т.н.) само когато някой изпраща e-mail или си проверява пощата. В останалото време пощенският сървър бездейства (чака нови мейли). Ако пощенският сървър работи на самостоятелна хардуерна машина, той ще ползва сигурно по-малко от 1% от нейните ресурси, а в останалото време те ще стоят неизползвани. Ако същият пощенски сървър е някъде в облака, той ще ползва много по-малко ресурси и на същия физически хардуер може да работят едновременно още 100 пощенски сървъра на други потребители. В крайна сметка облакът пести разходи и вдига качеството на ИТ услугите – купувате и стопанисвате по-малко компютри за да стопанисвате, оперирате и поддържате едни и същи ИТ услуги.

Cloud технологии == изчислителни ресурси под наем

Cloud технологиите (облачни технологии) предоставят изчислителни и други ИТ ресурси под наем. Те консолидират ИТ инфраструктурата и пестят разходи. При събирането на голям брой потребители и клиенти в даден център за данни (data center), където работи някакъв cloud се вдига значително качеството на поддръжката, намалява се downtime на системите и пада цената. Не всяка фирма има ресурси да си изгради собствен център за данни, с резервно захранване, с няколко независими доставчика на интернет, с денонощен мониторинг и с денонощна техническа поддръжка, с надеждна охладителна система, с противопожарна обезопасеност, с автоматизиран backup и т.н. Всичко това е много скъпо да си го организираш и оперираш сам, но в облака струва на порядъци по-малко.

Публичен, частен и хибриден облак

Според видимостта си облаците могат да бъдат публични (public), частни (private) и хибридни (hybrid).

Публичен cloud (public cloud) означава ИТ инфраструктура, платформа или услуга, която е публично достъпна в Интернет (срещу заплащане или безплатно), както е примерно GMail.

Частен cloud (private cloud) означава вътрешнофирмена cloud инфраструктура (хардуер + софтуер), която консолидира ИТ услугите на дадена фирма или организация, но не е достъпна за външни организации. Частният cloud се стопанисва и оперира в частен вътрешен за организацията data center и така фирмата подсигурява неприкосновеност и сигурност на данните си (например в банковия сектор). Пример за private cloud е ИТ инфраструктурата на всяка голяма банка.

Хибриден cloud (hybrid cloud) е смесица между частен и публичен cloud с цел намаляване на разходите. Пример: банка стопанисва данните и ИТ системите си локално (in-house), но ползва за backup публичен cloud като Amazon S3, където съхранява резервно криптирано копие на данните си.

Публични cloud платформи, инфраструктури и услуги

Cloud платформите, инфраструктурите и услугите са силно скалируеми и дават възможност клиентът да плаща толкова, колкото ползва (on demand), според нуждите на неговия бизнес. Публичните cloud технологии дават възможност да си наемете (или да ползвате безплатно) различни ИТ ресурси като: ИТ инфраструктура (виртуални машини), изчислителна мощ (процесорно време), съхранение на данни (база данни, дисково пространство), обработка на данни, доставка на съдържание, доставка на съобщения и много други ИТ услуги и ресурси.

Големите правят собствени cloud платформи и инфраструктури (например Amazon, Google, Microsoft и Rackspace). Малките стъпват върху платформите на големите. Всички ползват cloud. И в крайна сметка всички печелят: спестяват си разходи, намаляват си усилията по поддръжка на ИТ инфраструктурата и си вдигат си качеството на ИТ услугите.

Какво е IaaS, PaaS и SaaS?

Публичните cloud услуги са най-общо разделени в три категории: IaaS, PaaS и SaaS.

IaaS, PaaS и SaaS

IaaS (Infrastructure as a Service)

IaaS (Infrastructure as a Service, ­инфраструктура като услуга) е концепция за cloud, при която се предоставят виртуални машини под наем, на които наемателят може да си инсталира каквото прецени, че му трябва (примерно Linux + Java + Oracle или Windows + SQL Server + ASP.NET или Linux + Apache + PHP + MySQL). Примери за масово използвани публични IaaS услуги са Amazon EC2, Rackspace Cloud Servers и Windows Azure Compute.

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

PaaS (Platform as a Service)

PaaS (Platform as a Service, платформа като услуга) е фамилия cloud технологии, при които се предоставят среда за разработка и cloud услуги към софтуерния разработчик с прилежащи APIs (програмни интерфейси). Обикновено PaaS доставчиците предоставят цялостен стек от технологии за разработка и изпълнение на приложения, примерно:

  • Java + JBoss application server + Java ServerFaces + JBoss Rich Faces + Java Persistence API + Oracle database
  • Python + Django + MongoDB + Linux cron jobs + Nginx load balancer + Gunicorn web server
  • .NET Framework + C# + ASP.NET + WCF + SQL Server + Nginx load balancer + IIS web server
  • PHP + Zend Framework + Cassandra DB + Nginx load balancer + Apache web server
  • JavaScript + Node.js + MongoDB + RabbitMQ
  • Ruby + Ruby on Rails + MySQL + Sphinx + Memcache + Unicorn HTTP server

Често пъти при PaaS платформите се предлагат cloud-ориентирани услуги, оптимизирани за работа в cloud среда. Например вместо традиционните релационни бази данни, много PaaS доставчици предлагат нерелационни (NoSQL) бази данни, които работят бързо, скалират много добре при огромни обеми данни и огромни натоварвания, но се използват по-трудно от традиционния релационен модел с SQL и им липсва гъвкавост (например нямат операция “съединение на таблици”). Други типични услуги в PaaS cloud среда са съхранението на обемни данни (blob / file storage), доставката на съдържание (content delivery network), услуги за разпращане на email, услуги за доставка на съобщения (message queue), услуги за кеширане на данни (caching) и услуги за разпределяне на натоварването (load balancing).

Типични PaaS платформи са например Google App Engine (GAE), Windows Azure, Amazon AWS, VMware Cloudfoundry, CloudBees, OpenLogic CloudSwing и Force.com.

От гледна точка на софтуерния инженер разработката за PaaS cloud среда изисква значителни усилия: развиване на нов начин на мислене и нови умения, изучаване на нови парадигми и нови APIs, качествено нова архитектура на приложенията и натрупване на много специфичен опит за конкретната платформа. Преминаването към нова PaaS платформа обикновено не е лесно, все едно да преминеш от PHP и MySQL към Java EE + Oracle или към .NET + SQL Server.

PaaS платформите са предназначени за програмисти и ще имат сериозна роля в бъдещето на софтуерния разработчик. Те носят значителни промени в софтуерната индустрия и ще се наложи на много софтуерни инженери да ги изучават и да пишат приложения за тях.

SaaS (Software as a Service)

SaaS (Software as a Service, софтуер като услуга) е концепцията, при която вместо да си инсталираш и стопанисваш локално дадена софтуерна система, го ползваш като услуга (hosted service). Прилага се при огромен набор и най-разнообразни приложения: системи са управление на уеб сайтове (CMS), CRM системи, ERP системи, HR системи, счетоводни системи, системи за управление на проекти и много други.

Типични SaaS доставчици са например:

  • WordPress.com – предоставя услуга за хостинг и управление на уеб сайтове и блогове чрез CMS системата за управление на съдържание WordPress
  • Basecamp – предоставя цялостна уеб базирана система за управление на проекти и задачи и онлайн колаборация между участниците в даден проект
  • Salesforce.com – предоставя като услуга солидна CRM система (информационна система за управление на взаимоотношенията с клиенти, която обхваща процесите на маркетинг, продажби, обслужване на клиенти, техническа поддръжка и други)
  • Adobe Creative Cloud – предоставя като услуга богат набор от инструменти за дизайн и издателска дейност (Adobe Photoshop, Illustrator, InDesign, Dreamweaver и други) достъпни от уеб и като cloud-базирани приложения за таблети и телефони

В голяма степен и добре познатите ни услуги GMail, Google Docs и Flickr притежават характеристиките на Saas модела, тъй като предоставят някакво софтуерно решение, достъпно през уеб като публична услуга, стопанисвано на техни сървъри (hosted service) срещу някаква такса или безплатно.

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

Кои са големите публични cloud платформи на пазара?

Настоящият списък включва по-значими публични cloud платформи. Той е актуален към февруари 2012 г. и не претендира нито за изчерпателност, нито за авторитетност, нито за точност на информацията. Използвайте описанията по-долу на свой риск.

  • Amazon Web Services (AWS) – най-старата масова публична cloud платформа (и една от най-напредналите). Предлага предимно IaaS и PaaS услуги като Amazon EC2 (computing cloud – виртуални машини), Amazon SimpleDB (non-relational database), Amazon RDB (ralational database cloud /MySQL and Oracle/), Amazon S3 Storage, Amazon EBS (block store), Amazon SQS (message queue), Amazon CloudFront (content delivery), Amazon ElastiCache (caching), Amazon Route 53 (cloud DNS), Amazon SES (email). Amazon AWS предлага безплатна лимитирана пробна (trial) версия за 1 година, но изисква кредитна карта при регистрация.
  • Google App Engine (GAE) – една от най-големите публични cloud платформи. Това е инфраструктурата, която стои зад GMail, Google търсачката, Google Docs и останалите Google услуги, предоставена публично. GAE предоставя среда, платформа, услуги и библиотеки за разработка и изпълнение на Java и Python приложения. По-важни PaaS услуги в GAE са: GAE backends, datastores (high-replication datastore /HRD/, master-slave datastore, BlobStore, Cloud Storage), MapReduce API, Channel API, Task Queues. GAE има напълно безплатна версия (без кредитна карта), която предоставя голямо количество изчислителни ресурси, достатъчни за лична употреба или малък бизнес.
  • Microsoft Windows Azure – голяма и бързо развиваща се глобална публична cloud платформа, поддържана и развивана от Майкрософт. Предлага IaaS (Windows виртуални машини) и PaaS cloud технологии. Може да се инсталира Java, PHP, Python, Ruby и други езици, платформи и технологии. По-важни PaaS услуги: Windows Azure Compute (Web role, Worker role, VM role), Azure storage (Azure Tables, Azure Queues, Azure Blobs), SQL Azure, Azure CDN, Azure Cache. Windows Azure струва по-скъпо в сравнение с GAE и AWS, има 90 дни ограничена пробна (trial) версия и няма безплатен вариант. Изисква кредитна карта при регистрация и има проблеми ако си от България.
  • Rackspace – един от големите глобални доставчици на публична IaaS cloud инфраструктура. Предлагат виртуални машини в техния cloud (Linux или Windows) + някои cloud услуги като file storage, web site хостинг и load balancers. Няма безплатна версия (има 30-дни пробна версия, изисква кредитна карта).
  • PHP Fog – добре развита, стабилна платформа за хостинг на PHP приложения, която комбинира PaaS и SaaS моделите. Поддържа стандартен PHP + MySQL стек + много PHP frameworks (CakePHP, Zend Framework, Yii Framework, Code Igniter и други) + популярни cloud add-ons (MongoHQ database, Mailgun mail server, Blitz performance testing, IronWorker task queue, IronMQ message queue, MongoLab MongoDB, NewRelic performance monitoring). Позволява one-click install на популярни PHP приложения с отворен код (WordPress, Joomla, Drupal, MediaWiki, SugarCRM и други). Напълно безплатно PHP Fog предлагат хостинг на 3 PHP приложения, 20 MB база данни и 100 MB Интернет трафик (не се изисква кредитна карта).
  • Heroku – една от най-развитите cloud PaaS платформи. Предлагат поддръжка на много широк стек от технологии (почти всичко без Windows и .NET): Java + Spring + Hibernate + PostgreSQL / MySQL / MongoDB + Tomcat + Jetty; Ruby + Rails + MongoDB / MySQL; Python + Django + memcache / Redis; JavaScript + Node.js. Поддържат огромен брой add-on cloud услуги: Airbrake, Amazon RDS, Apigee for Facebook, Apigee for Twitter, Appoxy SimpleWorker, Blitz, Chargify, ClearDB MySQL, Cloudant (CouchDB + MapReduce), CloudMailin, Cron, Custom Domains, DbInsights, Deploy Hooks, DocRaptor, DynectSMB, Exceptional, Flying Sphinx, Heroku PG Backups, Heroku PostgreSQL, Heroku Scheduler, Heroku Shared PostgreSQL, Hoptoad, IndexTank, IronMQ, IronWorker, JustOneDB, Loggly, Mailgun, Memcache, MongoHQ, MongoLab, Moonshado SMS, Neo4j, New Relic, Panda Stream, Progstr Logger, PubNub, Pusher, RabbitMQ, Ranger, Redis To Go, RESTful Metrics, RhoConnect, Searchify IndexTank, Sendgrid, SimpleGeo, SSL, Stackmob, StatsMix, StatsMix Heroku, Integration Tutorial, StillAlive, Tddium, Treasure Data Hadoop, Tronprint, Websolr, Xeround, Zencoder, Zerigo DNS. Напълно безплатно Heroku предлагат 750 изчислителни часа, 100 MB дисково пространство и 5 MB база данни (не се изисква кредитна карта).
  • Engineyard – PaaS cloud платформа за Java, Ruby и PHP приложения. Поддържа Java, PHP, Ruby, Node.js, Nginx, Unicorn, MySQL, PostgreSQL, MongoDB, memcache, redis. Предлагат се безплатна версия, която е силно лимитирана.
  • Force.com AppForce – PaaS proprietary платформа за построяване на информационни системи и бизнес приложения. Предназначена е за бизнес потребители (не за програмисти). Приложенията се правят без да се пише код, с визуален редактор. Използват се собствени (proprietary) технологии и езици за програмиране. Няма безплатна версия, но има free tiral.
  • AppHarbor – PaaS платформа за .NET разработчици. Поддържа стандартен стек от Microsoft технологии: C# / VB.NET + .NET Framework + ASP.NET Web Forms + MVC + WCF + MS SQL Server / CouchDB / MongoDB / MySQL + IIS web server + Nginx load balancer. Поддържат се доста add-on cloud услуги: Airbrake (error logger), blitz (performance testing), Cloudant (CouchDB + mapReduce), CloudMailin (mail server), Dedicated / Shared MS SQL Server, JustOneDB, Logentries (log management), Mailgun (email service), Memcacher, MongoHQ / MongoLab (hosted MongoDB), Shared MySQL, Redis To Go, SendGrid (email delivery), StillAlive (uptime monitoring). Предлага се напълно безплатна версия, която предоставя достатъчно ресурси за хостинг на .NET сайтове и проекти (лични и за малкия бизнес).
  • OpenShift – публична PaaS услуга от Red Hat за хостинг на PHP, Python, Perl и Ruby приложения върху платформа LAMP и Java приложения върху платформа Java EE и JBoss application server. По-конкретно има вградена поддръжка за Ruby (Rails, Sinatra), Python (Pylons, Turbogears, Django), Perl (PerlDancer), PHP (Zend Framework, CakePHP, Symfony, CodeIgniter), Java (Java EE6, CDI/Weld, Spring Framework, JBoss Seam) и няколко релационни и NoSQL бази данни (MySQL, PostgreSQL, SQLite, MongoDB). OpenShift предоставя SSH достъп до сървъра за администрация и деплоймънт. Поддържат се споделени или dedicated cloud сървъри. Споделената версия на услугата е напълно безплатна.
  • CloudBees – PaaS за Java-ориентирани приложения. Поддържа стандартен Java стек от технологии (Java + Spring + Java EE 6 Web Profile + JSP + JSF + Servlet + EJB + JPA + JAX-RS + JAX-WS + Derby / MySQL / CouchDB / PostgreSQL + Liferay), както и PHP и Ruby on Rails. Поддържа широк набор add-on cloud услуги. CloudBees предлагат лимитирана безплатна версия.
  • OpenLogic CloudSwing – гъвкаво PaaS решение, което поддържа много широк стек от технологии с отворен код (като Linux, Apache, MySQL, Perl, PHP, Python, LAMP, Java, Tomcat, Ruby, Rails, JavaScript, Node.js, Unicorn, NGinX), който може да се настройва (customize) и да преминава в собствен стек от технологии. След като веднъж си настроите вашия cloud стек, той може да се деплойва в Amazon, Rackspace и Azure. CloudSwing предлагат силно лимитирана безплатна версия.
  • VMware Cloud Foundry – PaaS платформа за Java, Ruby и Node.js. Поддържа стандартен Java cloud стек (Java + Spring + MySQL / PostgreSQL / MongoDB + Redis + RabbitMQ + Tomcat) и стандартен Ruby on Rails стек (Ruby + Rails + MySQL / PostgreSQL / MongoDB + Redis + RabbitMQ). Ценовата политика е неясна към февруари 2012 г.
  • Oracle Public Cloud – PaaS платформа за Java EE + Oracle DB. Поддържа сериозен стек от Java EE технологии (Java + WebLogic application server + Java EE + JSP + JSF + Servlet + EJB + JPA + JAX-RS + JAX-WS + Spring + Hibernate + EclipseLink + ADF + ADF Faces + Oracle database + Oracle CRM + Oracle HRM + Oracle Social Network). Ценовата политика е неясна към февруари 2012 г.
  • GoGrid– преглагат надеждна и силно скалируема публична IaaS cloud услуга, подобна на Rackspace cloud и Amazon EC2. Инфраструктурата включва hardware load balancers, виртуални cloud сървъри, dedicated физически сървъри, cloud storage, content delivery network (CDN). Ценообразуването е според консумираните ресурси (CPU, RAM, network traffic, etc.). Няма безплатна версия. Няма и trial версия.

Безплатен курс “Разработка на софтуер в cloud среда”

Дали ще започнете още от тази година да програмирате за cloud среда или ще изчакате това да стане неизбежно си е ваш личен избор. Ние ви предлагаме безплатен курс по разработка на софтуер за публичните PaaS cloud платформи с конкретни примери върху Google App Engine, Amazon AWS, Windows Azure, Heroku и AppHarbor.

Целта на курса “Разработка на софтуер в cloud среда” (Software Development in the Cloud) е да развие у курсистите практически умения за разработка на софтуер в облачна (cloud) среда върху най-разпространените публични PaaS платформи. Курсът не е конкретно нито за GAE, нито за AWS, нито за Azure, а има за цел да запознае аудиторията с концепцията за облак, с новите изчислителни парадигми, които навлизат в живота на разработчика, с новите cloud архитектури, с нерелационните бази данни, с новите APIs и идеята, че когато правим софтуер вече не можем да игнорираме cloud технологиите и трябва да правим системите си cloud-friendly.

Cloud development курсът започва с концептуален преглед на облачните инфраструктури, платформи, услуги и технологии за изграждане на големи дистрибутирани системи, идеята за виртуализация на всички нива, парадигмата “архитектура ориентирана към услуги” (SOA) и нейната имплементация в големите публични cloud платформи. Изучават се най-често предлаганите услуги в платформите за разработка в PaaS cloud среда: нерелационни (облачни) бази данни, релационни бази данни в cloud среда, услуги за съхранение на големи обекти и файлове (blob / file storage), опашки (queues) и други, както и програмните интерфейси (APIs) за достъп до тях (SOAP и REST). Разглеждат се типичните архитектури за cloud-базирани софтуерни системи и технологиите, които се използват за front-end, бизнес логика и back-end.

Специално внимание се отделя на практическата разработка на приложения върху водещи публични cloud платформи: Amazon AWS (услугите Amazon EC2, Amazon SimpleDB, Amazon RDB, Amazon S3 и Amazon SQS), Google App Engine (App Engine Datastore, App Engine Blobstore и Google Cloud Storage), Windows Azure (Azure Tables, SQL Azure, Azure Blobs и Azure Queues), Heroku и AppHarbor.

Практически курсов проект по cloud разработка

Курсът приключва с разработката на практически проект, който изисква изграждане на цялостна cloud-базирана система с HTML5 базиран front-end, бизнес слой с REST + JSON интерфейс за достъп от JavaScript с AJAX, изграден върху публични cloud услуги и back-end изграден върху нерелационни cloud бази данни и услуги за съхранение на обемни данни. Проектът трябва да се качи в публичен cloud доставчик (например GAE, Heroku или AppHarbor).

Най-добре представилите се курсисти, предали всичките си домашни и защитили с отличие практическия си курсов проект, ще получат сертификат за постижения.

Софтуерна разработка в облачна среда – учебна програма

  1. Представяне на cloud курса – цели, учебна програма, лектори, изпити, сертификати
  2. Въведение в cloud технологиите – SOA, cloud computing, IaaS, PaaS, SaaS
  3. Публични cloud платформи Google App Engine (GAE), Windows Azure, Amazon Web Services (AWS), Heroku, Cloudfoundry, Force.com AppForce, Rackspace, AppHarbor, CloudBees, CloudSwing, …
  4. Google App Engine (GAE) – архитектура, цени, услуги, GAE backends, datastores (high-replication datastore /HRD/, master-slave datastore, BlobStore, Cloud Storage), MapReduce API, Channel API, Task Queues, демонстрация на живо
  5. Amazon Web Services (AWS) – архитектура, цени, услуги, Amazon EC2, Amazon SimpleDB, Amazon RDB (MySQL / Oracle), Amazon S3, Amazon EBS, Amazon SQS, Amazon CloudFront, Amazon ElastiCache, Amazon Route 53, Amazon SE, демонстрация на живо
  6. Windows Azure – архитектура, цени, услуги, Windows Azure Compute (Web role, Worker role, VM role), Azure storage (Azure Tables, Azure Queues, Azure Blobs), SQL Azure, Azure CDN, Azure Cache, демонстрация на живо
  7. AppHarborархитектура, цени, услуги, AppHarbor instances and workers, Cloudant (Apache CouchDB), MongoHQ (MongoDB), Shared SQL Server, MySQL Shared, Memcacher, Mailgun, демонстрация на живо
  8. Нерелационни cloud бази данни (NoSQL databases)нерелационни бази данни за cloud среда: Amazon SimpleDB, App Engine Datastore, Azure Tables, CouchDB, MongoDB и Redis
  9. Релационни бази данни в cloud среда Amazon RDB (for MySQL and Oracle) и SQL Azure
  10. Cloud услуги за обемни данни и файлове – Amazon S3, App Engine Blobstore, Google Cloud Storage, Azure Blobs
  11. Други cloud услуги – oпашки (Amazon SQS, Google Task Queues, Azure Queues), нотификационни услуги (Amazon SNS, Windows Push Notifications), Email услуги, CDN (content delivery networks), …
  12. Бизнес логика в cloud среда – разработка на REST услуги и деплоймънт в публичен cloud
  13. Изграждане на цялостно cloud приложение – демонстрация на живо (front-end, REST services, back-end, deployment)
  14. Тест върху целия учебен материал – програмиране в cloud среда
  15. Работа върху практическия проект – консултации
  16. Защита на практически проект

“Software Development for the Cloud” course – изисквания

Курсът не е за абсолютно начинаещи. Ако никога не сте програмирали на C#, Java, PHP или друг език, или не сте виждали през живота си SQL, вероятно курсът ще ви се стори много труден. Ако имате някакъв опит с програмирането и разработката на софтуер, ще може да разширите познанията си в посока cloud технологии и програмиране в cloud среда.

Cloud Software Development курс – кога и къде?

Курсът по разработка на cloud приложения ще се провежда както следва:

  • всяка сряда от 19:00 до 22:00 часа, започвайки от 14.03.2012 г.
  • в голямата учебна зала на софтуерната академия на Телерик (бул. Александър Малинов 31, етаж 2)
  • с продължителност 4 месеца

Онлайн и присъствен участие в cloud курса

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

Онлайн участието изисква да гледате видео уроците, записани по време на учебните занятия (които ще са достъпни свободно от сайта на курса) и ако се борите за сертификат, да предавате редовно домашни, да разработите курсов проект и да го защитите. Ако не се борите за сертификат, нямате абсолютно никакви задължения, можете просто да гледате видеоуроците когато имате време и желание.

Уроци по разработка на cloud приложения – записване

За да участвате в cloud development курса, е необходимо да се регистрирате на сайта на cloud курса.

Курсът е безплатен и не ви ангажира с абсолютно нищо. Ако решите в даден момент, че нямате време или, че не можете повече да посещавате това безплатно обучение, можете да прекратите участието си.

Comments (8)

8 Responses to “Cloud Development курс – безплатно от 14 март”

  1. […] Cloud Servers и Windows Azure Compute." Последния параграф е цитиран от блогът на Наков работещ в известната българска компания […]

  2. […] Servers и Windows Azure Compute." Последния параграф е цитиран от блогът на Наковработещ в известната българска компания […]

  3. […] Servers и Windows Azure Compute." Последния параграф е цитиран от блогът на Наков, работещ в известната българска компания […]

  4. Магдалена Андреева says:

    Здравейте!
    За съжаление съм пропуснала курсът, който сте предлагали през 2012. Дали все пак има възможност да получа достъп до електронните материали по него.
    Предварително благодаря!
    М. Андреева

  5. Много добро видео. Благодаря!

  6. […] public cloud platforms, cloud database, storage and other cloud services. I organized a practical cloud development course at Telerik Academy last year. I teach C# and JavaScript and I focus on .NET and HTML5 platforms, so […]

RSS feed for comments on this post. TrackBack URL

LEAVE A COMMENT