Exploring MicroServices for Cloud with Apache Thrift and Python

Vishal Kanaujia (~vishalkanaujia)


4

Votes

Description:

Many web applications start off as a monolithic code base, then move to a more distributed system. Large reports could take several minutes (and, sometimes, hours!) to complete, and users would become impatient waiting for their browser to finally display the result or the website would have already crossed limitations of how many requests it can handle.

Service Oriented Architecture or MicroServices present a cleaner alternative to make system more distributed and adapt to current needs of the cloud. Not only does this improve scalability & resiliency, but it makes services independent entities operating on their own - which essentially means freedom of language & deployment. However in this model - the contract (also called as interface) between services is well understood and maintained.

Apache Thrift, an open sourced framework demo Facebook, helps you in defining an Interface Definition Language file that help you:

  • Strict contract across services

  • Easy proof of concept with stubs

  • Freedom to still implement your own business logic

  • Minimise design level confusions

During the talk we would talk about

  • Issues with monolithic web architecture

  • SOA and Microservices

  • Apache thrift

  • Example implementation with use case

  • Discuss about performance

Speaker Info:

Vishal Kanaujia is a Python developer and technology enthusiast. He has delivered talks and written articles on Python. He was a speaker at international conferences Pycon APAC Singapore and New Zealand. He has been delivering talks for in PyCon, Scipy India. He has interest in fields including Python internals, Filesystems, and search technologies, and application performance optimization.

He shares his thoughts, opinion and knowledge through blog (http://freethreads.wordpress.com), technical papers, and articles with international magazines including ‘Linux for You’ and ‘Agile Record’.

Section: Web Development
Type: Talks
Target Audience: Beginner
Last Updated: