Exploring MicroServices for Cloud with Apache Thrift and Python
Vishal Kanaujia (~vishalkanaujia) |
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
Example implementation with use case
Discuss about performance
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’.