Software Development in the Cloud Free Training Course for Software Engineers Svetlin Nakov Telerik Software Academy academy.telerik.com Table of Contents About Telerik Academy Cloud Development About the Course Course Curriculum The Trainers Team Course Schedule Assessment Certification and Awards Recommended Books 2 About Telerik & Telerik Academy About Telerik What Telerik does? Leading vendor of ASP.NET AJAX, Silverlight, WPF, Window Phone 7 and ASP.NET MVC components, ORM, Reporting, and CMS solutions and Visual Studio plugins Headquartered in Bulgaria With offices in USA, Germany, Australia, India More than 500 employees – mostly developers Employer #1 in Bulgaria for 2010 Microsoft Gold Certified Partner 4 About Telerik Academy Telerik Academy is an initiative Telerik for training of young software engineers Software Academy .NET Essentials, QA Academy, Dev-Support Student Courses School Academy Algo Academy Kids Academy Contests and other free initiatives 5 Academy at a Glance Kids Academy University Courses School Academy Algo Academy Software Academy C# Fundamentals .NET Essentials QA Academy Job at Telerik Developer Support Another Job 6 Free Courses for Students Courses for Students @ Telerik Academy High-Quality Code (starting 5 March) Mobile Development (starting October) Web Design with HTML5 (starting 13 and 15 March) Web Applications with ASP.NET MVC (starting October) Cloud Development (starting 14 March) Windows 8 Development (starting October) 7 What is Cloud and Cloud Development? What is Cloud? Cloud ≈ multiple hardware machines combine their computing power and resources Share them between multiple applications To save costs and use resources more efficiently Public clouds Provide computing resources on demand Publicly in Internet Paid or free of charge (to some limit) Amazon AWS, Google App Engine, Microsoft Azure, Rackspace, PHPFog, Heroku, AppHarbor 9 Cloud Computing Models Infrastructure as a Service (IaaS) Virtual machines in the cloud on demand Users install the OS and software they need Platform as a Service (PaaS) Platform, services and APIs for developers E.g. Java + JBoss + JSF + JPA + MongoDB or JavaScript + Node.js + MongoDB + RabbitMQ Software as a Service (SaaS) Hosted application on demand (e.g. WordPress) 10 What is Cloud Development? Cloud software development Design and develop an application for the cloud Especially for the public PaaS cloud platforms Typical steps in cloud software development Choose a development stack of technologies Choose a cloud platform + services Design the application for the cloud Develop the application using the cloud APIs Deploy and run the application in the cloud 11 About the Cloud Dev Course "Software Development in the Cloud" course Fundamental principles and practices for building applications for the public cloud platforms The developer's perspective What shall we learn? Develop / host applications in the cloud Specific build & deployment Consume cloud services E.g. non-relational DBs Consume cloud APIs 12 The Cloud Development Course The cloud development course is fundamental Not bound to specific cloud platform like GAE, Azure or Heroku Focus on cloud development concepts Designing applications for the cloud Cloud databases (non-relational databases) Building back-end in the cloud Building business logic for the cloud Building front-end for the cloud 13 Requirements to the Students Computer programming skills One of the following languages: C#, Java, PHP, Python, Ruby, Perl, JavaScript Web technologies basics HTML + CSS + JavaScript + AJAX Databases SQL + some database system (e.g. MySQL) English language All training materials are in English 14 Programming Languages The Cloud Development course is language- independent and platform-independent You could use Java / C# / PHP / Ruby / Python You could use GAE / Amazon / Azure / PHP Fog / Heroku / Engineyard / AppHarbor / other cloud You will need to learn working with nonrelational (NoSQL / cloud) databases You will need to develop and deploy a practical project: back-end (NoSQL DB) + business tier (REST services) + front-end (HTML5) 15 Registration for the Course All students should register for the course at: http://clouddevcourse.telerik.com Registration is important! Registration allows the trainers contact you regarding the course projects, exams, etc. Registered students are assigned to work on one of the course projects On the course Web site you can find all the materials, videos, homework, etc. 16 Course Curriculum Curriculum 1. Course Overview: Curriculum, Trainers, Projects, Exams, Certificates. Cloud Technologies and Cloud Software Development Overview (14.03.2012) 2. Overview of the Public Cloud Infrastructures, Platforms and Services. Architectures for Cloud Applications (21.03.2012) 3. Google App Engine (GAE): Architecture, Services and Pricing. Development and Deployment of GAE Application – Live Demo (28.03.2012) 4. Amazon Web Services (AWS): Architecture, Services and Pricing. Development and Deployment of Application for AWS – Live Demo (4.04.2012) 18 Curriculum (2) 5. Windows Azure: Architecture, Services and Pricing. Development and Deployment of Application for Azure – Live Demo (11.04.2012) 6. AppHarbor: Architecture, Services and Pricing. Development and Deployment of Application for App Harbor – Live Demo (18.04.2012) 7. PHP Fog: Architecture, Services and Pricing. Development and Deployment of Application for PHP Fog – Live Demo (25.04.2012) 8. Non-relational (NoSQL) Cloud Databases: Amazon SimpleDB, App Engine Datastore, Azure Tables, Cloudant, MongoDB and Redis (2.05.2012) 19 Curriculum (3) 9. Relational Databases in Cloud Environment: Amazon RDB and SQL Azure (9.05.2012) 10. Cloud Storage for Large Objects and Files: Amazon S3, App Engine Blobstore, Google Cloud Storage, Azure Blobs (16.05.2012) 11. Other Cloud Services: Queues (Amazon SQS, Google Task Queues, Azure Queues), Notifications (Amazon SNS, Windows Push Notifications), Email, CDN (Content Delivery Networks) (23.05.2012) 12. Business Logic in the Cloud: Creating REST Services with Cloud Back-End and Deployment in the Cloud (30.05.2012) 20 Curriculum (4) 13. Creating a Cloud Application (Back-End, Business Services, Front-End – Live Demo (6.06.2012) 14. Test Covering All Studied Topics (13.06.2012) 15. Consulting about the Practical Projects (20.06.2012) 16. Final Exam – Live Defense (??.07.2012) 21 Trainers Team Trainers Team Svetlin Nakov, PhD Manager Technical Training Telerik Corporation 21 years software development experience Author of 6 books Speaker of hundreds of events E-mail: svetlin.nakov [at] telerik.com Web site: www.nakov.com 23 Trainers Team (2) Nikolay Kostov Technical Trainer Telerik Corporation Telerik Academy 3rd year student in FMI E-mail: nikolay.kostov [at] telerik.com Web site: www.nikolay.it 24 Trainers Team (3) Doncho Minkov Technical Trainer Telerik Corporation Telerik Academy 4th year student in FMI E-mail: doncho.minkov [at] telerik.com Web site: www.minkov.it 25 Trainers Team (4) Ilian Iliev Software engineer, Telerik Corporation, www.telerik.com Email: ilian [at] ilievdev.net Blog: ilievdev.net 26 Trainers Team (5) Danail Alexiev Technical Trainer SoftAcad Software Consultant Axway 4 years of software development experience Co-author of "Intro Java" book Speaker at several events for developers E-mail: danail.alexiev [at] softacad.bg 27 Trainers Team (6) Nikolay Tomitov Co-CEO & Technical Trainer SoftAcad Software Developer Next Generation Payments (part of MoneyBookers) 5 years of software development experience Speaker at several technical events E-mail: nikolay.tomitov [at] softacad.bg 28 Trainers Team (7) George Georgiev Technical Trainer Telerik Corporation Telerik Academy 1st year student in FMI Winner in the National IT Olympiad (2011) 3D graphics and game programming expert E-mail: georgi.georgiev [at] telerik.com 29 Trainers Team (8) Emil Tabakov Team Lead Telerik Corporation 9 years of software development experience Winner in the National IT Olympiad (2004) E-mail: emil.tabakov [at] telerik.com Twitter: @anthares 30 Course Schedule Course Schedule Telerik Academy Every Wednesday, 19:00-22:00, Telerik Academy Hall Start: 14th March 2012 Wedding Mall, 2nd floor Capacity: 250 places Located in: Mladost 1A, Alexander Malinov Blvd. 31 32 Assessment Exams and Grades Assessment Homework 0 … 20 score Most topics will have homework Test 0 … 20 score 40 questions (theory) Practical Project 0 … 60 score Real-world cloud application Cloud DB (back end) + REST Service (business logic) + HTML5 (front-end) 34 Sample Practical Projects Project #1 Cloud Chat (with users and channels) NoSQL DB + REST services + HTML5 front-end Project #2 Cloud Calendar with Notifications NoSQL DB + REST services + HTML5 front-end Project #3 Encrypted Notepad in the Cloud NoSQL DB + REST services + HTML5 front-end 35 Certification and Awards Certification and Awards Best students will get certification and awards Certificate of achievement Up to 10% of the students will get a certificate Issued by Telerik Software Academy Signed by the trainers team Awards Sponsor: Remarkable results Top 5-10 students 37 Recommended Books Recommended Books The Cloud at Your Service, Jothy Rosenberg, Arthur Mateos, Manning, 2010, ISBN 1935182528 Programming Google App Engine, Dan Sanderson, O'Reilly Media, 2009, ISBN 059652272X Host Your Web Site In The Cloud: Amazon Web Services Made Easy: Amazon EC2 Made Easy, Jeff Barr, SitePoint, 2010, ISBN 0980576830 Windows Azure Step by Step, Roberto Brunetti, O’Reilly Media, 2011, ISBN 0735649723 39 Contact Us If you have any questions you can contact us: academy@telerik.com You can discuss the course in our forum: http://forums.academy.telerik.com Other students may help you You may help other students We will answer you, too 40 Software Development in the Cloud Questions? http://clouddevcourse.telerik.com