Container Clustering tools and techniques


All the noise are around, the companies are moving their server applications from virtual machines (VM) to containers.

So why does everyone love containers?

Containers use shared operating systems. That means they are much more efficient than hypervisors in system resource terms. Instead of virtualizing hardware, containers rest on top of a single Linux instance.  Among other benefits, containers offer a software architecture that provides portability and managed distribution of software assets. This has caused enterprises and software vendors to embrace container technology as they prepare for cloud.

But despite their success, containers still present challenges. Container scalability, for example, remains somewhat of a mystery. Some organizations struggle when trying to scale Docker, one of the leading container technologies.

There are couple of Open Source container cluster management tool. Each cluster management technology has something unique and different to offer.

  • Apache Mesos is mature and can also run non-containerized workloads (such as Hadoop).
  • Kubernetes tends to be opinionated. It offers little customization (for now) and networking can be a challenge. But it is moving fast and the defaults can be a quick way to get started.
  • Docker Swarm is from Docker, Inc and offers the familiar Docker (single-host) API. It is the easiest to get started with, but also the least mature (as of this writing).

Container orchestration, scheduling and clustering tool vary in their features and implementation but some of the core principles are the same.

  • Pool resources from a group of hosts into their components (CPU/RAM) and make them available for consumption. Also make sure the resources don’t become exhausted via over-provisioning or host failure.
  • Service supervision provides a service load balancer/entry point and make sure the service remains running.
  • Scaling functionality scales a service (automatic or manually) by allowing an operator to create more or fewer instances.
  • System metadata provides stats about running instances, scheduling, and container health.

Going forward, I am going to do POC on above tools. I have already written couple of blog on Mesos and going to add more on reaming tools.

Setup Standalone Mesos on Ubuntu

Install DC/OS on Vagrant

Using Jenkins on DC/OS backed by NFS

Advertisements

Why do people use App42PaaS when AWS is present?


Recently i came across question: Why do people use App42PaaS when AWS is present?

It’s really interesting ­čÖé

Firstly, let me tell you, AWS and App42PaaS are different kind of cloud service providers. There should not be any comparison between them as AWS provides IaaS(Infrastructure as a Service) where as App42PaaS provides PaaS(Platform as a Service).

Now you must thinking what are the differences between them. Right?

In very short, IaaS gives you instance of Virtual Machine where you need deploy your application on top of it. PaaS gives you an environment where you just push code with some basic configuration by choosing them.

Let’s talk in details:

AWS:

Now a days, people are used to refer IaaS as HaaS(Hardware as a Service) as name suggest, IaaS provide us hardware, servers and networking components including storage. Once you own the instance, its become your responsibilities for housing, running and maintaining it and you typically pays on a per-use basis.

amazon-aws-infographic

App42PaaS:

App42PaaS basically help developer to speed the development of app, saving money and most important innovating their applications and business instead of setting up configurations and managing things like servers and databases. Other features buying to use App42PaaS is the application deployment process such as agility, High Availability, Monitoring, Scale / Descale, limited need for expertise, easy deployment, and reduced cost and development time.

app42_PaaS

Hopefully, i answered above question, if still you have question let me know in the comments.

What is cloud computing? When to use a cloud?


Hi Friends, Sorry i was quite busy from previous couple of months So don’t get time for post. It’s really great experience working on cloud computing, basically on PaaS(Platform as a Service), BaaS(Backend as a Service) and IaaS(Infrastructure as a Service) with ShepHertz. I came across multiple questions, people asking about cloud computing segment. So i thought of write a blog on Cloud Computing.

cloud-computing-concepts
Let me explain cloud computing segments in details to understand Cloud Computing.

Cloud computing: Cloud computing is the practice of using a network of remote servers hosted on the Internet to store, manage, and process data, rather than a local server or a personal computer.

Cloud Computing Segment:

IaaS(Infrastructure as a Service) – Infrastructure as a Service is a provision model of cloud computing in which an organization outsources the equipment used to support operations, including storage, hardware, servers and networking components. The service provider owns the equipment and is responsible for housing, running and maintaining it. The client typically pays on a per-use basis. Ex- Amazon Web Services, BlueLock, Cloudscaling and Datapipe

whatisthecloudiaas

PaaS(Platform as a Service) – Platform as a Service is one of the GROWING sector of cloud computing. PaaS basically help developer to speed the development of app, saving money and most important innovating their applications and business instead of setting up configurations and managing things like servers and databases. In one line I can say Platform as a service (PaaS) automates the configuration, deployment and ongoing management of applications in the cloud. Ex: Heroku, EngineYard, App42 PaaS and OpenShift

government-ready-paas-300

SaaS(Software as a Service) – Software as a Service, SaaS is a software delivery method that provides access to software and its functions remotely as a Web-based service. Ex: Abiquo’s and Akamai

saas-in-the-cloud-logo

BaaS(Backed as a Service) – Backend as a service (BaaS), also known as “mobile backend as a service” (MBaaS),is a model for providing web and mobile app developers with a way to link their applications to backend cloud storage while also providing features such as user management, push notifications, and integration with social networking services. Exp: Kinvey, StackMob, App42 API and Parse

layer_4_slide_1

Hopefully this post makes it much easier to understand cloud computing. Let me know in the comments if you love it or find any difficulties to understand.

Some insights into PaaS market


Platform as a Service is a one of the GROWING sector of cloud computing. PaaS basically help developer to speed the development of app, saving money and most important innovating their applications and business instead of setting up configurations and managing things like servers and databases.

Other features buying to use PaaS is the application deployment process such as agility, High Availability, Monitoring, Scale / Descale, limited need for expertise, easy deployment, and reduced cost and development time.

PaaS Market

Major forces driving the PaaS

– Pay as you Go
– Low start up cost
– Leave the plumbing to expert
– PaaS handles auto scaling/descaling, Load blancing, disaster recovery
– PaaS manages all security requirements
– PaaS manages reliability, High Availability
– Paas manages manay third party addon’s for you

Barrier to PaaS adoption?

– Less Control over Server and databases
– Have to be expert to mange security controls and audits
– Costs will be very high if not governed properly
– Premature and dobious in current day and age

Major PaaS providers are Heroku, App42 PaaS , Jelastic, and Engine Yard. When we talk about revenue, The global PaaS market is estimated to grow from $1.28 billion in 2013 to $6.94 billion in 2018 at a compound annual growth rate (CAGR) of 32.54% in this period. In terms of geographies, North America continues to be the biggest market for PaaS solutions. In 2012, PaaS revenues ($1.2 billion) was the tenth of the size of SaaS ($14.4 billion), a fifth of IaaS ($6.2 billion), and just a tiny fraction of BPaaS ($84.1 billion).

PaaS has always taken a very small space in the cloud computing arena as compared to the other two segments: IaaS and SaaS. But the trend has recently shown a drift with PaaS market showing a very high growth rate in terms of revenue. Though it is still not as huge as the other two segments but now holds a significant proportion of the pie. PaaS has now been adopted by most of the big cloud computing and IT solution providers like Amazon, IBM, Google etc. as one of their main services.. Many small players have also emerged and made the market very dynamic and competitive. Application developers are benefiting from this fact resulting in more adoption and thus increasing the demand for PaaS all the more in various sectors.

We expect to see more and more application development companies choosing PaaS over IaaS or traditional Hosting, as they can then focus on driving innovation and building apps that change their interactions with customers, partners and community. It will make them free of the details of infrastructure, so they can push the possibilities of the latest technology to build great web and mobile applications.