Cloud Computing, Platform as a Service, Presentation

Scalable Cloud Backend for Mobile Developers

Mobile Apps do not work in isolation. They need to work with scalable backend to allow for customized experience for each user. Apps that need to provide storage, personalization, integration with other services, notifications usually require powerful backend features. Mobile app developers usually do not have experience in working with server side backend implementation and this becomes a bottleneck when working on building great mobile apps. Mobile platforms that allows for easy integration of scalable backend with mobile apps are on rise. In this talk, we will look at how mobile developers can build strong backend foundation for their next big mobile app. This talk will look into code examples and patterns that developers can readily apply to mobile apps.

BTW, Parse as mentioned in the video is acquired by Facebook. It indicates the PaaS has arrived and is going to be the platform of choice.

The presentation is following:-

Standard
Uncategorized

Notes from Flipkart Slash-N 2013 Conference

I was able to attend Flipkart Slash-N 2013 Conference last week (1st Feb 2013). It was an interesting conference, with lot of emphasis on learnings by Flipkart over the years. The speakers were overall good, and some of the invited panel were fantastic.

Although it was tough to keep up with the constant flow of information, I was able to jot down notable stuff from some sessions.

Sharad Sharma – Keynote

1. Organizations turning Strategic Capabilities into Commoditized offerings

2. Commoditization is a boon to the organizations. It helps create building Eco-system
- See Android, Hadoop

3. Two exciting books recommended
- Dealing with Darwin
- The Only Sustainable Edge

4. Search key to Flipkart and other ecommerce companies

Panel Discussion – Data: Stores, Processing and Trends – Dr. Pramod Varma, Joydeep Sen Sarma, Ashok Banerjee, Utkarsh, Regunath Balasubramanian, Anshum Gupta

1. How do we select the Data Processing and Storage Platform ?

2. Selecting HBASE for Scale (Put it the edge of the app, near to the user)

3. HIVE – Build for Analytics and Reliability

4. Selecting NoSQL – How frequent Schema changes happen

5. Selecting between storing Aggregate vs. Exact information
- Sometimes we do not need the accurate information to be available to the end user. Aggregate is good enough.

6. Check out storage companies
- http://www.nimblestorage.com/

7. Data De-duplication a key concern

Flipkart – Lessons learned

1. Prioritize Read vs. Write Queries
- Critical and Non-critical Read and Writes
- Separately scale each type of Data infrastructure (Read scales separately from the Write)
- Find Slow Queries
- Can come from Front-end or Analytics system
- Separate the data infrastructure (separate Read Query infrastructure)

2. Isolate Databases

3. Logging can cause latency – too much instrumentation can be problem

4. SOA – too many connections on services – causes contention and race conditions

5. UI is highly configurable. Configuration is stored in Config DB.
- Config Cache was built
- Agent model that sits on the Web Server and provides a proxy for Cache hits
- This was a bespoke solution
- Did not use Memcache as it would have required PHP to make a separate Network call

6. Deployment was using Ring pattern (stage wise deployment)

7. GearMan – framework that allows for asynchronous inter services communication (similar to Agent model build by Flipkart)

8. Flipkart was caching fully constructed pages for few minutes
- Only for high trafficked pages – like Homepage
- But lots of changes happen every few minutes

9. Flipkart cached PHP serialized product pages

10. Found Caching impacts A/B testing heavily

11. Explored Thrift Serialization

12. Cache modification was done by separate processes that lead to cache change notification. This is build to introduce asynchronous behavior and avoid blocking call to Caching system
- The cache change notification is serviced by their front-end layer

13. Cache was sharded

14. Evaluate Membase and CouchBase

15. Cache TTL invalidation – hardest problem to solve
- made it infinite
- on-demand partial invalidation done by Cache modification layer

Standard
Amazon Web Services, Cloud Computing

IaaS giving way to “Data Science as a Service”

As organisations start embracing public infrastructure cloud for their critical data and application needs, Data Science SaaS will become more practical for use. The biggest challenge for Data Science SaaS is to have customers expose / store their data to / on their multi-tenant public platform. Increasingly, public cloud services are becoming a compelling ground for enterprises. This means with applications, data also becomes a good prospect to be moved to these platforms.
This is due to low data access latency requirements for apps in cloud and increasing confidence in shared public cloud services.
Once the data is out of the enterprise data center, inter cloud service integration becomes easier. For eg:- Imagine an AWS EC2 infrastructure running your enterprise application, with data lying on S3 / RDS. To extract Business Intelligence and inference out of this data, it is practical to use an existing public SaaS that can work on this data, rather than using in-house analytics infrastructure. Greenfield apps having their genesis on public cloud are already candidate to be used with Data Science services (aka Analytics as a Service).
The future of Data Science SaaS looks promising. Startups like Datameer, ClearStory are doing pioneering work on this.
More on this at :-

http://gigaom.com/2012/07/05/want-to-ditch-your-data-scientists-heres-are-7-startups-that-can-help/

Standard
Cloud Computing, Public Cloud

Run in Public, Bring it back when its ready

The road to set up your own cloud infrastructure in your backyard is not a long shot, thanks to the array of techniques / patterns / solutions in the space. However, more organizations are looking at using Public Cloud services, especially IaaS and PaaS to experiment what it takes to scale their apps, and then bring the homework back to their own internal infrastructure a.k.a Z-Cloud of Zynga. This is proving to be a common place for organizations these days. And it makes a lot of sense.
Using public cloud services to test the waters in terms of what it takes to sustain and manage application scale is a good pattern. Once the pattern is understood, and the organization understands the nitty-gritties of managing the scale, an internal infrastructure can be setup, thereby owning the control back. This allows for efficient capacity planning and avoiding the common gotchas of deploying and managing the app at cloud scale.

Standard
Amazon Web Services, Cloud Computing

The rise of Cost aware Architectures

Cost aware architectures have been on rise, thanks to the “as a service” phenomena. A lot have been said around these new evolving architecture patterns. The challenge is now to discover some of patterns that architects can use to build cost-aware architectures. In a gist, a Cost aware architecture is defined as an architecture that evolves based on how it sustains and grows revenues when using price varying infrastructure / application / platform services a.k.a cloud services. This means, as the business gets successful, and starts pooling in more revenue from the user, the cost-dynamics of adding capacity (infrastructure, application and platform) becomes less than linear.
As we see more and more application architectures incorporate “as a service” models, this is going to be the trend for future. I like what Werner Vogels talked about it in an article not long back.

Ref:- https://medium.com/21st-century-architectures/8c07ed78d4d4

Standard
Cloud Computing, Platform as a Service

PaaS is real ? is it… circa 2013

Reposting my earlier post from Jan 2012. How far we have reached with the below predictions ?

—-

I was encouraged to write this post by the influx of articles relating to predictions about Cloud computing in 2012. A common theme surrounding most of them is the rise of PaaS (Platform as a Service). While 2010 and 2011 was spent in understanding the real impact of IaaS and the value it brings, 2012 is destined to be the year when PaaS comes out of the closet with mass acceptance. Following are my ideas on what PaaS would be like in 2012 :-

1. Domain specific PaaS
A domain specific PaaS would allow organizations of all types to build software infrastructure over existing domain platforms. Lets talk about Telecom domain. There are various IT implementations that need to be built, maintained and supported on a daily basis for a telecom provider. These include provisioning, charging, customer on boarding, analytics, customer service and support, value added services etc. All such application environments need to have a common infrastructure of reusable components ready to be deployed and orchestrated to create solutions. A Telecom PaaS would provide telcos an unprecedented access to scale, grow and utilize the best practices of the industry without reinventing the wheel. This would create level playing opportunities for telecom providers of all sizes. Imagine how it would affect other verticals – Manufacturing, Egovernance, Logistics, Retail etc.

2. PaaS enabler buzzword
IaaS platforms would attempt morphing into PaaS enablers. This would allow organizations to create PaaS platforms for the specific business needs at will. Currently the approach the organizations take in this regard : Use existing / Implement an IaaS layer, create application provisioning infrastructure, support deployment of apps on demand etc. However there are challenges that stand before a perfect implementation of PaaS environments using the traditional means. No longer organizations need a bespoke implementation of application provisioning and deployment automation. IaaS players would allow customers to start building these platforms. A lot of traction is already visible in this space. More on this in the next point.

3. Platform-enable anything
The rise of API enabling eco-system to drive the functionalities over a service has been the biggest driver of innovation. Social networks are the living breeding example of such a revolution. PaaS enablers and newer platform services would create opportunities for organizations to platform enable their services at a fast pace. This would allow a faster time to market and easier setup process. Currently this process requires a strategic cap-ex based approach for its implementation. Its not for the weak hearted. A sustainable process to create platforms for service eco-system is the need of the hour. Take example of an Ecommerce enterprise :- With PaaS enablers, the enterprise would be able to create platform for hosting applications built by third-party developers using its services.

What do you think of this trend ? Share your comments and ideas.

In the next post, I would like to touch upon Domain specific clouds in more detail. More on this later.

Standard