Cloud Native PaaS Tools
blogs.vishwak.com

Cloud Native PaaS Tools

I recently was in a meeting with my organisations technology boffins and the discussion veered around the trend of how enterprises were looking to engage boutique provisioners who would fashion cloud native PaaS platforms; A one stop shop where a platform agnostic PaaS could be provisioned along with their application built to specification and enabled on the same; All this would be possible with the right set of tools; This is Darth Vader country and the galaxy is large and far far away and I need my very own millennium falcon to bridge this gap. 

The Players:

The cloud native mantra has echoed for quite sometime which has made PaaS a very fast-moving field with many players and at the moment there are host of tooling options. Now the question that arises which of these tools are really worth investigating. I’ve been working on cloud based PaaS platforms offers by AWS, Azure, Salesforce, which are tight knit vendor tied in platforms but I wanted to digress from my comfort zone and explore what is out there in the open source world, which I must say currently is slightly fragmented with products in the space sometimes not holistically confirming to all the tenants of a full fledged PaaS.

Paas tools cannot be compared on similar types and also against equivalent features. For instance, Cloud Foundry is a fully-featured PaaS, whereas Mesos is a cluster-management system. While Mesos on its own has a number of PaaS features, but it does not meet a combination of a very key criteria such as "developer self-service" and "multi-tenancy" (e.g. no authentication, access control).

Mesos is an intriguing technology and previously have used to run Hadoop over it, The best way to utilise it was in finding ways to combine it with other technologies which offer a myriad of other features, which Mesos inherently lacks to be a full fledged PaaS tool. The logical combinations of technologies based on what were common combinations across other enterprises were Mesos + Aurora, and Mesos + Marathon + Chronos (Mesosphere).

So there are full fledged PaaS tools and also there are half baked tools which cannot be holisticaly deemed as a PaaS tool but allow themselves to be combined with other synergising tools to provide a full featured PaaS tools.

I’m sure there are lot more tools out there but these are the ones that I could figure out and list


Face off Criteria:

The four main criteria that standout for A PaaS tool would have to be 

  • Being Multi-Tenant 
  • Ability to do Self-Service 
  • Allow application developer support
  • Ability to run on multiple public clouds. 

These criteria allowed me to weed out some tools (e.g: a number of PaaS tools only run on AWS like convox/rack ). There are some further must-have criteria. 

Must have Criteria:

  • Multi-vendor capabilities
  • Developer self-service model
  • Support for scaling application instances with ease (elastic scaling, manual, self serve)
  • Support for Linux
  • Ability to choose application language
  • Ability to recover from failure of all hosts
  • Ability to maximise the application availability during underlying host failure
  • Zero downtime deploys
  • Some multi-tenancy capabilities
  • Access to raw stdout / stderr logs

Key Questions:

  • What is involved in deploying applications to this PaaS?
  • How easy is the maintenance/operation for the team maintaining the platform?
  • Is there a hosted option available?
  • Could the unit of deployment be used without the PaaS?
  • How well documented is the PaaS? Do they keep their documentation up to date?
  • What type of multi-tenancy support is offered?
  • Is there commercial support/consulting available?
  • What different levels of access permissions does the PaaS support?
  • Is it open source?
  • Does the PaaS provide any database service?
  • What is the language/tech?
  • What APIs are available to enable application developers to manage their own applications?
  • Is this technology production-ready now?
  • Is there a cost associated with this and what is it?
  • How do we get data on which application is using which resources?
  • Is it possible to back up data from the PaaS itself?

  

Cloud Foundry:

  • handles scaling easily and effortlessly, performing well under a heavy load
  • has a mature team management model and an authentication engine 
  • it has a mature service broker framework, It comes packaged with many services already implemented (e.g. MySQL) for Cloud Foundry; 
  • has a very large user community with plenty of opportunities for feature improvement, sharing tools, recruiting specialists, and sharing knowledge
  • It is Open Source


Tsuru:

  • It has a very simple architecture and is easy to set up and maintain
  • it has a mature service broker framework
  • uses commonly understood components like MongoDB and Redis
  • It provides mechanism to easily swap some of the components for others; the wy offering a very customized entity  e.g. A Hipache router can be replaced with a Vulcan one. 
  • It is Open Source


Deis:

  • It provides developers a self service platform
  • It has tools like Helm as a package manager for containers and Tiller for tracking and managing the same.
  • workflow integrations.
  • Minio (in-cluster, ephemeral object storage) provides storage for Registry, Database and Logger components also has support for  Amazon Simple Storage Service (S3), Google Cloud Storage (GCS), OpenShift Swift, and Azure Blob Storage.
  • Migration and production for existing non PaaS applications.
  • It is Open Source


Flynn:

  • It has built in support for multiple databases such as Postgres, MySQL, and MongoDB  with safe, automatic high availability
  • A built-in service discovery to connect microservices
  • Provides a code interface as opposed to configuration to build custom stacks
  • Open Source and free


Apcera:

  • It has robust multi-tenant support governed by a policy-driven model that allows granular control of resources, including networks and services, packages, versions and even regions
  • It has fine-grained control, which makes detailed auditing easier
  • Not Open Source but proprietary

All of the tools mentioned above can be anybody’s cloud native panacea; As different environments and enterprises have their own set of challenges, compliance, skill competency, budgets, scale, appetite for change etc to name a few.

I’m of the belief that tools should ultimately serve their purpose of bringing relief to complex tasks in a easy affordable way, with least barrier to entry both in terms of learning/operationalising it and also requiring some complex hardware & software combinations to make it viable.

Keeping that in mind I felt Tsuru was the right tool in ease of use, followed closely with Deis especially for managing a host of containers using kubernetes (PaaS on kubernetes); Flynn is certainly a very interesting new tool and has piqued my interest but is still some distance away to garner a vibrant user community; Cloud foundry of course can be deemed as the leader in this space, mainly because of the versatility it brings along with the maturity and the size of its community.



要查看或添加评论,请登录

Alfred David的更多文章

  • AI's Blind Spot: The Enduring Challenge in Software Development

    AI's Blind Spot: The Enduring Challenge in Software Development

    The rise of AI tools in programming has been nothing short of revolutionary. These tools are transforming how…

  • Integrating OpenAI's GPT model with WhatsApp's API

    Integrating OpenAI's GPT model with WhatsApp's API

    This process involves setting up a WhatsApp Business account, using a third-party service to connect WhatsApp with your…

  • Deep Learning Mechanisms in Applications

    Deep Learning Mechanisms in Applications

    Deep learning is ravenously raved about right now, for those of us unaware of AI and its terminologies; well it is a…

    3 条评论
  • Deep Learning Fundamental Reads

    Deep Learning Fundamental Reads

    I’ve been wanting to compile a list of reads I’ve done to get a basic understanding of deep learning as part of my…

  • Demystifying Infrastructure as Code (IAC)

    Demystifying Infrastructure as Code (IAC)

    What is infrastructure as code ? The concept behind infrastructure as code (IAC) is that you write and execute code to…

    2 条评论
  • Tango with C4 on Azure

    Tango with C4 on Azure

    The new blueprint for software architects to represent a system architecture that they are designing is through the…

  • Tools for Deep Learning Neural Networks

    Tools for Deep Learning Neural Networks

    There has been a lot of banter on Deep Learning, which now is on the verge of slowly transcending from theoretical…

  • Before you say ' I Do ' to APIs

    Before you say ' I Do ' to APIs

    Well the thing is in the last couple years the entire EAI paradigm has completely transformed and monolithic SOA…

    2 条评论
  • At the Cusp of AI

    At the Cusp of AI

    I’ve seen how the IT market in India has shaped itself and come about being called an IT powerhouse over the last 20 +…

    2 条评论
  • Log Federation in AWS

    Log Federation in AWS

    This is a classic Big Data workflow example, where large volumes of data needs to be moved from an enterprise to a…

社区洞察

其他会员也浏览了