Software · Software Architecture and Design

Does any one use container platforms for application deployment?

John Lutz Cofounder and CEO @BroadIQ, Tech and Cloud Enthusiast

March 6th, 2018

What container platforms (PAAS) do you use? Do you host the PAAS on your own servers or do you use one of the bigger cloud providers to host the PAAS?

Senior Mobile Developer Senior Fullstack Developer Mobile

March 6th, 2018

Hi John! In my company we deploy our APIs coded in Java Spring Framework in AWS elastic beanstalk service. It allows for us to get 2 or more availability zones if one of those gets down, and a very good scalability when there are thousands of requests per second.


We merge that technology with this architecture:


Simple Storage Service

Relational Database Service

Cloudfront Distribution

Elastic Beanstalk (multiple EC2 instances with load balancers etc)


Hope this helps!


Regards!

Shyam Mohan K CoFounder @ CodeCrux

Last updated on April 18th, 2018

Hi John,


We have developed one https://www.datacol.io/ for us.

Datacol is a control layer on top of cloud(AWS/GCP), to provide Heroku like experience with power of Kubernetes under the hood.


It's also open source on github, you can give a try, let us know if you have question.


https://github.com/datacol-io/datacol


John Lutz Cofounder and CEO @BroadIQ, Tech and Cloud Enthusiast

March 8th, 2018

Thanks for the responses.


In my experience in both Cloud Foundry and Kubernetes are great for micro-services and web GUI apps pointing to a dedicated database server that is setup in the traditional way. Just as Rob pointed out.


I also believe for a startup micro-services are the way to build out your applications, because it allows you to focus on small incremental updates and to build out your MVP rather quickly. If you are doing that and trying to manage and scale the micro-services on a tradition server configuration it does become overwhelming. This is where container platforms really help. Also, I have found that running a Kubernetes platform can have similar costs to that of tradition servers, when you start factoring in load balancers and other VMs to get your application running.


I know that you can use Pivatol's Cloud Foundry deployment on AWS and they charge you about $2.70 / 128 Mb / month, which is definitely cheaper then going out an getting a AWS AMI stand alone server to run your application. However, running your own Pivotal Cloud Foundry PAAS on say AWS will required you to make an investment of $100,000 just for starters.


I also like these PAAS because they can be deployed on multiple AWS, GCP and Azure (cloud providers). As a developer I can now code to a PAAS platform and know that I can use any of the cloud providers to deploy my applications and they will run the same way.


Penuel Ratnagrahi I can help you in web development projects, websites, and custom web applications.

March 9th, 2018

I am new to container based application development and deployment and currently trying to learn and understand it through Docker. I think container based platforms and application development and deployment makes much more sense and is useful for micro-services based architecture rather than the monolithic architectures. It might be useful in monolithic applications but its true power is visible in a micros-service architecture where the complexity and configuration is much more compared to monolithic. So I believe the adoption of this technology by companies is based on the architecture used for developing the new software or what is the cost of moving the legacy apps from monolithic to micro-services. If companies can afford it I think container based apps are way to go. My this view is in response to your comment regarding " However, I have not seen smaller companies move to these container base platforms, it has been mainly the larger companies "

Duncan Fischer Dad & Entrepreneur - Ideas with Action make the difference

March 6th, 2018

Hi John,

I am using http://bubble.is to develop a web-app version of my product idea. To get to an MVP and then run market tests to see if the idea is financially viable.

I am bootstrapping so reduced costs are a bonus.

I have an iOS developer ready if the idea is validated.


Duncan


ps... looking for a cofounder, perhaps it might be a technically person

Rob Chumley Technical consultant and entrepreneur

March 7th, 2018

Hello John,

I am a consultant and have been using the container technologies for a few years in both small and large organizations. There are some major pros and cons and the project requirements can indicate which technology is really best. One major down side to container technology is how databases are hosted on the platform. Much care has to be taken by the team to ensure the database performs correctly in a fail-over scenario when hosted in a container. Also, scaling the number of worker processes on a traditional RDBMS is difficult if not impossible and the vast majority of use cases still call for an RDBMS for data consistency. The best use case of a PAAS I have seen so far been creating micro-services, gateways, web servers and some smaller support processes such as redis.


Otherwise, this answer is the same as every other tech question: What is the motivating factor that caused you to shift focus to a PAAS? Could you solve your problem just as easily with existing means? This goes for a small or large business.

John Lutz Cofounder and CEO @BroadIQ, Tech and Cloud Enthusiast

March 6th, 2018

Thanks for your responses.


I wanted to see how many smaller companies (or people) are using the container based environments (i.e. Kubernetes, Cloud Foundry, etc.). I have been working with these environments for several years and I believe they are the future of software development.


These platforms handle a lot of the items that I used to do manually, like setup load balancers and installing software (Tomcat, Jboss, etc) and in many ways they are self healing.


However, I have not seen smaller companies move to these container base platforms, it has been mainly the larger companies. It would seem that Kubernetes is the perfect platform for a startup. Thoughts?



John Lutz Cofounder and CEO @BroadIQ, Tech and Cloud Enthusiast

March 6th, 2018

@Shyam could you tell me more about your CLI tools. It looks like you are helping people setup Kubernetes environment and helping them manage the environments, it that correct?


Jay Beavers Principal Development Lead, Microsoft Research

March 7th, 2018

I chose to deploy containers via docker-machine and handle the ssl/http frontend via traefix and storage via docker mounted virtual volumes. I didn't trust kubernetes to yet be vendor independent nor to be easy to set up in a dev laptop environment.


I was talking to one of my devops friends who works at BigCo this morning and he was confirming that the storage service under Kubernetes was causing him some heartache over vendor lockin and inability to self-host locally, so I feel somewhat vindicated in my choice.


I don't get location independence nor autoscaling with my approach, but for my early startup, quick development and cloud platform independence is more important to me than multi-location reliability or high scalability. I feel confident that I can transition to Kubernetes when the time comes, and let's face facts that storage/database scalability doesn't come for free with Kubernetes, so the real scaling work is always going to be storage engine design.

Shyam Mohan K CoFounder @ CodeCrux

March 7th, 2018

@John, Datacol doesn't actually manage the kubernetes cluster, but it provides a control layer on top of k8s API and other services to automate deployments on AWS and GCP.


kubernetes is managed by Cloud providers like GCP and AWS.


Datacol helps you create Heroku like infrastructure for deploying container-native applications on Google Cloud. It simplifies the process developers use to build, deploy and manage their applications in the cloud. We took more nimble approach with Datacol than other PaaS folks. It acts as a thin control layer and uses various managed services by cloud under the hood and exposes a developer friendly layer to quickly deploy apps.Datacol is installed into your own Google Cloud account and uses Container engine, Registry, CloudBuilder, and many other great GCP services under the hood but automates it all away to give you a better deployment experience. It uses Docker under the hood so if you want to customize anything (languages, dependencies, etc) you can simply add a Dockerfile to your project.


More : https://www.datacol.io/docs/quick-start/