It’s been a few years since Marc Andreessen, the found of Mosaic and Netscape - coined the phrase software is eating the world. But indeed it is true today. , the idea that “every company needs to become a software company” is considered almost a cliché. No matter your industry, you’re expected to be reimagining your business to make sure you’re not the next local taxi company or hotel chain caught completely off guard by your equivalent of Uber or Airbnb.
Doing business in the 21st century means embracing a world where software quite literally powers everything—from televisions to cars, and from social media to banking systems.
In the mean time Software development has seen a paradigm shift in the last few decades.
From the beginning of computing era in the 1960s up to late 1990s, the software was built by relatively small teams. These teams used large monolithic software stacks to build relatively simple and smaller applications which were used by 1 to a few tens of people. These applications were deployed on a central network server which the users connected to via their terminals and used the application.
The current era is all about ubiquitous connectivity and ever increasing adoption of mobile computing. To cater to these demands - the modern mobile apps and web applications are reaching global scale and billions of users. These app and web applications are built by larger teams which are geographically distributed. They build those large applications by stitching together a collection of services, APIs or microservices.
These services use a variety of stacks and are independent of each other. The services run on clusters spanning thousands or tens of thousands of servers or nodes. And the consumers use these applications over the cloud and the public internet using their mobile, tablet and desktop devices.
Deployment, management and operationalizing these large complex infrastructures is a daunting task. Containerization of the apps and services help to simplify these tasks. But even containers leave A bulk of administration tasks for deploying the latest application code, upgrading the servers, mapping the service end points, etc. to the user and DevOps engineers.
Won't it be great if we were able to aggregate and combine all the computing power available to us in our datacenter and treat it as one large computer?
What if we had a smart operating system which could manage our entire data center just like Linux or MacOS or Windows can manage our personal computers. Whether we are managing two virtual nodes or 10,000 Of them - Wouldn’t it be nice just to instruct our collection of servers or our datacenter – hey datacenter I want to run a web application and a database? Here is the code – and here are the commands to run these applications – please figure out which nodes can run these applications; deploy them and run them. By the way, if any of those nodes die – please make sure you move my application to another healthy node so that the end users do not experience any disruption.
Then based on the requirement of a particular app, a scheduler can dynamically allocate resources to the application. This will make the whole system much more efficient. We will be able to free up resources and drive the utilization up. This methodology has all kinds of benefits from saved costs to more uptime of the application and less administrative overhead.
This is exactly what Docker, Apache Mesos, and DC/OS provide.
Docker is open source engine that can help you automate the deployment of applications inside software containers. Is was released in March 2013 and has been gaining popularity ever since. It has over 100 million downloads, and over 75000 applications are running as dockerized applications – that is a LOT!
Apache Mesos is an open source cluster manager that provides efficient resource isolation and sharing across distributed applications or frameworks.
Mesosphere DC/OS is an enterprise grade datacenter-scale operating system, providing a single platform for running containers, big data, and distributed apps in production.
DC/OS is built on the Apache Mesos core and provides newer technology including the native container-orchestration, Marathon application platform, intuitive user interfaces and much much more.
Knowledge and experience about Docker, Apache Mesos and DC/OS could be very valuable for your career. The latest stats and figures show some amazing numbers like jobs requiring these skill sets pay higher than most of the jobs posted on public job boards within the US and annual salaries for professionals could be as high as $120,000. That is the exact reason why you must enroll in this course and take your career to the next level.