How should be the best PaaS provider ?

In this short article I want to enumerate all the features that should provide the best PaaS service provider, at the moment no one can cover the 100% of our requirements but we have to understand that this technology is very immature, the PaaS providers are adopting new features and growing in the right way.

In the last year new technologies and open source project are changing the market, one of such technology is Docker.

At the beginning the PasS was created for development environment but we see that market is requesting a PaaS to cover all the environments.

Here is our wish feature list for the best PaaS ....


Infrastructure

- Support of regions and zones.

- Linux and Windows .Net applications support

- Git and SVN support.

- Container customization, easy to add global environment variables to all the containers. Support proxy settings at the container level, customize firewall rules, etc.

- Support the deployment of differentes kind of software, Web Application, Database, Queue system, Big Data etc.

- Based on Docker.

- Provide Docker private registry.

- Public and Private PaaS, easy to move application from private to public PaaS.

- The PaaS must be compliance with  security standards for cloud services.

- Authetication, LDAP, Kerberos, OAuth.

- Authorization: Role support, OAuth.

- Multitenant.

- Billing subsytem via REST.

- Administration API via REST.

- Web administration console

- CLI administration console

- Configuration management support, Puppet, Chef.

- 100% open source.

- Market place, space where business partners, colaborators, comunity can share new services/solutions over the PaaS umbrela.

- High availability support for all the PaaS components.

- Cetralize log management for PaaS infraestructure and business applications.

- Central configuration management for business application.

- Solid update and migration strategy.
- No application redeploy.
- No infraestructure outage.
- Easy to deploy security fixes.

- Support for superadmin role.


Development


- Support the most popular development framework

- Support the most popular open source java application servers, JBOSS, Tomcat, Jetty.

- Must support dinamic languages such as Ruby, Perl, PHP.

- Maven support

- Contoninuos integracion and jenkins support.

- Must provide a Eclipse plugin for application deployment and troubleshooting

- Application administration via Web Console, cli and REST API.

- Application remote debug.

- SSH port forwarding.

- Problem determination tools, Thread dump, GC, Memory dump.


Application management


- Dynamic and static application scalability.

- Load balancing configuration and operation.
- Drain requests
- backup servers.
- smart and flexible routing, support for custom routing rules.

- Binary and source deployment. Easy to deploy a simple WAR/EAR/JAR file, Easy to deploy from source code.

- Application versioning, support of application rollback.

- Hot deployment.

- A/B testing.

- Application cloning ( Web app, database, etc).

- APM Application Performance Management, the Paas should provide high level and low level performance tools.

- Resource management, easy to add or reduce resources like memory,CPU,disk.

- Region: Easy to deploy an amplication on diferents regions, easy to move an application from one region to another.

- Application backup and restore , easy to do a full backup and restore.

- SSH access to application container.


Monitoring


- Infraestructure monitoring, the monitoting solution should help me for this issues:
- Identify failing component
- Identify bad performance.
- Identify when to scale up/down infraestructure.

- APM Application Performance Management, the Paas shoudl provide high level and low level performance tools, the APM should help me for these issues:
- Application instrumentation.
- Application response time.
- Metrics for Thread and connection pools.
- SQL sentences reponse time.
- GC metrics.
- Backends identification.

Comentarios

Entradas populares