What is DC/OS and Mesos? - YouTube

Channel: codecentric AG

[7]
Welcome to this introduction to DC/OS and Mesos.
[11]
The video is brought to you by codecentric and Mesosphere.
[15]
So, what is DC/OS and Mesos?
[18]
Apache Mesos is an open source project to abstract CPU, memory, storage and other compute
[24]
resources.
[25]
It provides various API functions for resource management and to schedule workload across
[30]
your cloud.
[31]
It is built to scale to ten thousands of nodes.
[33]
Program against Your datacenter like it's a single pool of resources.
[38]
Apache Mesos is the heart of DC/OS.
[40]
Modern applications need a new kind of infrastructure.
[44]
Microservices, containers and big data components are built to scale.
[49]
To support agile development, You need to build an environment that enables innovation
[54]
and makes it easy to ship to production fast.
[58]
The first wave of big data has just passed many enterprises.
[61]
But with the second wave, we see a broad adoption of systems for strong personalization, internet
[67]
of things and a lot more.
[69]
In the past years, most organisations treated their applications and servers like pets:
[73]
they did everything to keep them healthy.
[75]
For scalable systems, you better assume that your service will fail and be prepared to
[80]
replace it with a new instance.
[82]
DC/OS is designed to run anywhere: on premises and at your cloud provider.
[89]
It abstracts the infrastructure below with Apache Mesos and provides powerful tools and
[94]
best practices to build self-healing, distributed systems.
[98]
On top of this, you can easily run your services and applications.
[102]
Installing a complete SMACK stack can be done with just a couple of klicks.
[105]
DC/OS and Mesos are battle proven in really large production clusters:
[110]
Twitter runs thousands of nodes, operated by relatively few admins.
[114]
Ebay uses Mesos for Continuous Integration.
[117]
Microsoft uses it for the Azure cloud.
[120]
Samsung has cut its infrastructure costs by 60%.
[123]
Apple uses Mesos to run Siri.
[125]
Just to name a few examples.
[128]
Some enterprises hesitate to adopt open source components due to the lack of support.
[133]
The infinity stack contain state-of-the-art components for big data processing.
[138]
The velocity stack provides a full continuous integration and deployment pipeline.
[145]
Mesosphere offers premium enterprise support for DC/OS and the complete Infinity and Velocity
[151]
stacks.
[152]
DC/OS is open source.
[153]
It is an excellent platform to run containers, microservices and stateful big data applications.
[159]
DC/OS was developed by Mesosphere with the support of many well known partners.
[164]
It provides fast, push button installation of complex distributed systems ready to run
[173]
in production.
[174]
Frameworks are designed for built-in high availability and fault tolerance.
[179]
No need to reinvent the wheel with every new application you build.
[184]
DC/OS will help you to simplify your datacenter.
[187]
You can turn 1000 machines into a single logical computer.
[192]
With a simple GUI, automated placement of tasks and intelligent workload scheduling,
[196]
you can increase utilization and drastically reduce costs.
[201]
OK, now it's time for a real world demo.
[205]
First, we will setup a five node cluster on Amazon Web Services.
[210]
We will use DC/OS to install Cassandra, Kafka and a Loadbalancer.
[215]
Then we will install a scalable Tweeter application and do some stream analytics on incoming tweets.
[221]
Sounds like a lot of hard work?
[223]
It's not!
[229]
Demo Part - Step One For this demo, you will need an account for
[233]
Amazon Web Services.
[235]
We assume that You already created it.
[238]
We will use the install instructions from dcos.io.
[246]
Before we create any nodes, we have to create a key pair.
[250]
We give the key pair a name.
[256]
Step Two We will use the cloud formation template from
[264]
dcos.io to automatically create five cluster nodes.
[268]
The cluster we create will produce AWS costs, so make sure You shut it down after Your test.
[274]
The cloud formation template is a simple JSON file that describes the infrastructure that
[279]
should be created.
[280]
Just follow the instructions to launch your basic cluster.
[284]
Setting up the whole stack will take about 15 minutes.
[293]
We are fast-forwarding it.
[295]
OK, now our servers and loadbalancers are setup.
[300]
In the AWS console, we can get an overview by clicking on services and EC2.
[305]
We can see that eight servers are running.
[309]
From the server list, take the public DNS name to login to your DC/OS dashboard.
[314]
Step Three Login to Your DC/OS dashboard.
[319]
Clicking on services, we can see that the marathon framework is already running.
[323]
Clicking on nodes, will show us a list of servers with their health status.
[328]
By clicking on universe, we will see a list of frameworks, that can easily be installed
[336]
on DC/OS.
[338]
First, we will install Cassandra and Kafka.
[349]
With DC/OS, this is just a one click deployment.
[369]
In the dashboard, we can see that the services are deployed in our cluster.
[373]
Step Four Next, we will install a marathon integrated
[376]
loadbalancer.
[377]
And deploy the demo Tweeter app via the command line.
[380]
For this, we clone Tweeter from GitHub.
[384]
Then we install the DC/OS command line interface by clicking on the bottom left menu.
[400]
Then we need to authenticate the CLI against DC/OS.
[403]
For this, copy and paste the URL into your browser.
[406]
And copy back the generated security token.
[407]
Once the CLI is authenticated, we can try to run the DC/OS client against our cluster.
[408]
Next, we install Zepplin: a tool for stream analytics.
[409]
In Marathon, we can see that the service is deploying.
[427]
Then, we deploy Tweeter via the command line.
[450]
For this, we just upload the provided simple JSON file to DC/OS.
[464]
In Marathon, we can see that Tweeter is deploying.
[479]
To be able to access Tweeter, we will need to deploy a load balancer, that is accessible
[482]
from a public network.
[484]
Marathon-lb is an integrated loadbalancer that will automatically route all requests
[493]
to our Tweeter app.
[494]
Now, all needed services are deployed and running.
[504]
We access Tweeter via its public IP and port.
[522]
In the last few minutes, we created a highly scalable Cassandra and Kafka cluster and deployed
[535]
an application to it.
[539]
Now, we will use the tweet tool, to generate a stream of Shakespeare tweets.
[556]
In Zepplin, we import the Tweeter analytics JSON from the Tweeter app.
[568]
With that, we can start stream analytics on incoming tweets right away.
[573]
rosalind seems to be the top tweeter.
[578]
We can explore that with different visualization options.
[584]
Next, let's assume an instance of Tweeter is dying.
[595]
DC/OS is monitoring the health of our applications and should start a new instance right away.
[599]
A new application was started and taken into load balancing.
[613]
More tweets are coming in: we need to scale!
[617]
Scaling an application in marathon is easy: just increase the number of instances.
[623]
It is also easy to scale down again.
[633]
DC/OS will automatically kill instances, if too many resources are running.
[646]
OK, that's it for the demo.
[648]
Don't forget to delete the Tweeter stack in your AWS console to avoid further costs.
[654]
That was a fast demo.
[656]
Would you like to learn more about DC/OS?
[659]
Book your brown paper bag lunch today and codecentric will visit you without sale slides
[667]
and marketing claims, but with technical details and sandwiches!
[674]
Thanks for watching.
[677]
This video was brought to you by Mesosphere and codecentric.
[678]
If you want to see more videos like this, please subscribe to our channel and follow
[679]
us on Twitter.