Evolution of applications - from Enterprise to Cloud


Published on

My presentation at Anna University & Cy BarCamp:
Technologies behind Enterprise & Cloud computing in plain english.

Published in: Technology

Evolution of applications - from Enterprise to Cloud

  1. 1. Evolution of applications - from enterprise to cloud<br />Mani Doraisamy<br />Co-Founder & Chief Technology Officer, OrangeScape<br />@manidoraisamy<br />
  2. 2. Agenda<br />Part 1:Enterprise computing in plain English<br />Part 2:Journey from the Enterprise to Cloud<br />
  3. 3. 4 years of Computer Science in 2 words:<br />Process<br />Data<br />
  4. 4. What is a process?<br />Programming<br />language<br />Process<br />Programmer<br />The magic that controls the processor!<br />
  5. 5. What is data?<br />Data<br />Database<br />Lives inside for years! It is called “durability”<br />
  6. 6. How do you make the data durable?<br />Replicate<br />Memory<br />Hard Disk<br />Data is stupid – the “mug up” kind.<br />Vomits whatever was sent inside!<br />
  7. 7. How does process deal with data?<br />Objects<br />Structures<br />Variables<br />Process is intelligent. It “makes sense” out of data.<br />We call it the “state”!<br />
  8. 8. Summary of Part 1: Enterprise computing in plain English<br />It is all about<br />How data is stored?<br />How data is transformed into state?<br />How process deals with state?<br />
  9. 9. Problem 1: Data representation became a political fight!<br />Entities<br />Objects<br />Data:<br />Relational Databases<br />Process:<br />Programming languages<br />
  10. 10. Solution: ORM was born!<br />ORM - Entities to Objects<br />
  11. 11. Problem 2: HTTP is a born amnesia patient!<br />This was not <br />my job description!<br />HTTP was meant for browsing web pages. <br />Not to serve applications!<br />
  12. 12. Solution: Identify yourselves!<br />Mr. Gajini,<br /> I am your girlfriend.<br />You proposed me yesterday. Remember?<br />Hmm.. I guess so!<br />Once the user identifies herself (Photo = SesssionId) the server links it to the “state” in it’s “memory”<br />
  13. 13. Problem 3: When everyone wants to do the same thing..<br />Vs<br />Time to come out<br />after the movie<br />- Scalability<br />Time to buy pop corn<br />during the movie<br />- Performance<br />
  14. 14. Solution: Building bigger exit Vsmore exits<br />Scale Out<br />Scale up<br />Exit<br />Bigger machine sellers got greedy!<br />Scale out replicates “state” into multiple “servers”<br />
  15. 15. Problem 4: Cloud computing is all about “Sharing”<br />Sharing needs elasticity!<br />Expand & shrink back, when you don’t need them.<br />
  16. 16. Solution: You can request anybody!<br />Move “state” to the database!<br />Now, Send request to any server. Shut down unwanted.<br />
  17. 17. Problem 5: What does the poor database do?<br />In addition to more processing machines,<br />App servers start pushing “state” to the database.<br />
  18. 18. Solution: You know it - Buy more donkeys!<br />Have a master to manage donkeys (slaves) - Partitioning<br />NoSQL originated from distributing databases.<br />
  19. 19. What was I saying for the past 1 hour ?<br />Both Enterprise & Cloud is about Process & Data<br />How data is stored?<br />How data is transformed into state?<br />How process deals with state?<br />State in App server<br />(Stateful)<br />State in many servers<br />(Scale out)<br />Entities to Objects<br />(ORM)<br />Move State to DB<br />(Stateless)<br />Distribute database<br />(NoSQL)<br />
  20. 20. Shoot your questions!<br />Twitter: @manidoraisamy<br />Blog: http://manidoraisamy.blogspot.com<br />