3. Cloud Computing Fundamentals
• Cloud computing provides computation, software,
data access, and storage services that do not require
end-user knowledge of the physical location and
configuration of the system that delivers the services.
• The Power Grid example
4. Cloud Computing – 5 salient features
1. Dynamic Computing Infrastructure
2. IT Service Centric approach
3. Self Service based usage model
4. Minimally or Self Managed platform
5. Consumption based billing
** PROVISIONING **
9. Mobile Applications
What is a mobile app?
perioperative patient tracker example …
how many of us have a mobile phone here?
can you pay the electricity bill using your mobile phone?
How do you/a company make money from mobile apps?
• Sell it through a mobile app store / network
• Ad inside the app - can monetize everytime the user runs
the application / plays the game
• Question !
• What location or where inside the application should an Ad
be placed to get maximum returns?
18. Agile Development Methodology
Iterative Development
user stories further divided into tasks
Product Backlog, Sprint Backlog
Continuous Integration
TFS or Cruise Control
Unit Tests + TDD (Test Driven Development)
Pair Programming
Spike Solutions
Merciless Refactoring
The Daily Standup meeting (5 minutes / developer)
What has been done after the last stand up meeting?
What will you be doing till the next standup meeting?
Any bottlenecks?
The Sprint Burndown chart
21. Agile Principles
1. Satisfy the Customer
2. Welcome Change
3. Deliver Frequently
4. Work as a Team
5. Motivate People
6. Communicate Face-to-Face
7. Measure Working Software
8. Maintain Constant Pace
9. Excel at Quality
10. Keep it Simple
11. Evolve Designs
12. Reflect Regularly
26. True N-Layer Architecture Example
Media Server – CDN based
Media Server – CDN based
Media Server – CDNCDN
Media Servers – based
based
CDN: content delivery networks
3rd Party Web Services
* Akamai
* Amazon
* Reliance Globalcom
27. Why Java?
Development and runtime - both platform independent
Better standards compliance
Open Source language that further depends on other open
source vendors for its IDE, Web Server, App Server, etc.
Claimed to be more secure than .NET code
** Name a programming construct avilable in Java, but not in .NET?
28. Why .NET?
Fast turn around time
Single Framework handles everything – no need for multiple
frameworks from different vendors for different functionalities.
Much better funded so that newer features are coming out at
the fastest pace. LINQ, AJAX, Performance Profiler, Unit
Testing Framework, Client side Reporting and a lot more
integrated into one platform
Language independent – C#, VB.NET, C++ developers can all
work together on the same project
Simpler AJAX implementation
** Is .NET free?
29. Java, .NET Object Oriented
Most of what can be done using Java can be done using .NET
and vice-versa
Java as well as.NET languages like C#, VB.NET, etc are all
Object Oriented
Object Oriented Design has been steady for the past 30 years or
so and has changed very little.
Case in Point: Most, if not all of the design patterns published
by the GoF(Gang of Four) in 1994 are still the back bone of
current OOPs design (Singleton, Strategy, State, Factory etc.)
30. Object Oriented Design – most important
Class
Object
Encapsulation
Inheritance
Polymorphism
Overloading
Overriding
UML (Unified Modeling Language)
Association
Aggregation
Composition
Class diagrams, sequence diagrams, … more.
Abstract Class
Interface
31. Domain Areas
Web
Security Windows
Network Mobile
Smart
Client
32. Discover Your Passion!
What area in IT interests you the most?
Writing business logic code? – focus on OOPs, design patterns, … etc
Creating beautiful interfaces? – focus on design tools like Expression
Blend
Application performance? – focus on optimization tools like VS2010
Profiler, DotTrace, Ants Trace
Application Testing – ( relative cost of a bug in production vs a bug
caught during development )
Data storage/retrieval ? focus on DB administration / development
Network administration – security/firewalls/login/domains/ADs/….
ERP software and tools (SAP, Peoplesoft, Oracle, BAAN, …)
Web vs. Windows vs. Smart Client Apps vs. Mobile apps
33. True Story of a Young Boy
Moral of the Story….
You have to figure out your passion
Finding a mentor to guide you and assist you –
someone who has the right experience
Having a plan – plan your next 10 years
Do your best and not compare with anyone else
35. Inform Yourself … Check these out…
• MSDN Magazine (http://msdn.microsoft.com/en-us/magazine/default.aspx)
• Java Magazine (http://www.oracle.com/technetwork/java/javamagazine/index.html)
• Refactoring Cheat Sheet (http://www.refactoring.com/,
http://www.refactoring.com/catalog/index.html)
• Freelance sites like rent a coder(vworker)/elance/oDesk/…
• Forums like CodeProject, MSDN forums, Codeplex repository for open source projects
• Head First Object-Oriented Analysis and Design: Brett D. McLaughlin, Gary Pollice, Dave
West
• Head First Design Patterns: Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra
• Code optimization tools like ANTS profiler, Dot Trace profiler
• Clientside optimization tools like Fiddler, YSlow, Page Speed
• Inspiration: TED Talks (search on Google)
36. Thank You !!
Name: Eldos P. Kuriakose
Email: eldospk@logic8.in
Web: http://logic8.in/