Cloud Development Course

advertisement
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
Download