Welcome to this introduction to DC/OS and
Mesos. The video is brought to you by codecentric
and Mesosphere. So, what is DC/OS and Mesos? Apache Mesos is an open source project to
abstract CPU, memory, storage and other compute resources. It provides various API functions for resource
management and to schedule workload across your cloud. It is built to scale to ten thousands of nodes. Program against Your datacenter like it's
a single pool of resources. Apache Mesos is the heart of DC/OS. Modern applications need a new kind of infrastructure. Microservices, containers and big data components
are built to scale. To support agile development, You need to
build an environment that enables innovation and makes it easy to ship to production fast. The first wave of big data has just passed
many enterprises. But with the second wave, we see a broad adoption
of systems for strong personalization, internet of things and a lot more. In the past years, most organisations treated
their applications and servers like pets: they did everything to keep them healthy. For scalable systems, you better assume that
your service will fail and be prepared to replace it with a new instance. DC/OS is designed to run anywhere: on premises
and at your cloud provider. It abstracts the infrastructure below with
Apache Mesos and provides powerful tools and best practices to build self-healing, distributed
systems. On top of this, you can easily run your services
and applications. Installing a complete SMACK stack can be done
with just a couple of klicks. DC/OS and Mesos are battle proven in really
large production clusters: Twitter runs thousands of nodes, operated
by relatively few admins. Ebay uses Mesos for Continuous Integration. Microsoft uses it for the Azure cloud. Samsung has cut its infrastructure costs by
60%. Apple uses Mesos to run Siri. Just to name a few examples. Some enterprises hesitate to adopt open source
components due to the lack of support. The infinity stack contain state-of-the-art
components for big data processing. The velocity stack provides a full continuous
integration and deployment pipeline. Mesosphere offers premium enterprise support
for DC/OS and the complete Infinity and Velocity stacks. DC/OS is open source. It is an excellent platform to run containers,
microservices and stateful big data applications. DC/OS was developed by Mesosphere with the
support of many well known partners. It provides fast, push button installation
of complex distributed systems ready to run in production. Frameworks are designed for built-in high
availability and fault tolerance. No need to reinvent the wheel with every new
application you build. DC/OS will help you to simplify your datacenter. You can turn 1000 machines into a single logical
computer. With a simple GUI, automated placement of
tasks and intelligent workload scheduling, you can increase utilization and drastically
reduce costs. OK, now it's time for a real world demo. First, we will setup a five node cluster on
Amazon Web Services. We will use DC/OS to install Cassandra, Kafka
and a Loadbalancer. Then we will install a scalable Tweeter application
and do some stream analytics on incoming tweets. Sounds like a lot of hard work? It's not! Demo Part - Step One
For this demo, you will need an account for Amazon Web Services. We assume that You already created it. We will use the install instructions from
dcos.io. Before we create any nodes, we have to create
a key pair. We give the key pair a name. Step Two
We will use the cloud formation template from dcos.io to automatically create five cluster
nodes. The cluster we create will produce AWS costs,
so make sure You shut it down after Your test. The cloud formation template is a simple JSON
file that describes the infrastructure that should be created. Just follow the instructions to launch your
basic cluster. Setting up the whole stack will take about
15 minutes. We are fast-forwarding it. OK, now our servers and loadbalancers are
setup. In the AWS console, we can get an overview
by clicking on services and EC2. We can see that eight servers are running. From the server list, take the public DNS
name to login to your DC/OS dashboard. Step Three
Login to Your DC/OS dashboard. Clicking on services, we can see that the
marathon framework is already running. Clicking on nodes, will show us a list of
servers with their health status. By clicking on universe, we will see a list
of frameworks, that can easily be installed on DC/OS. First, we will install Cassandra and Kafka. With DC/OS, this is just a one click deployment. In the dashboard, we can see that the services
are deployed in our cluster. Step Four
Next, we will install a marathon integrated loadbalancer. And deploy the demo Tweeter app via the command
line. For this, we clone Tweeter from GitHub. Then we install the DC/OS command line interface
by clicking on the bottom left menu. Then we need to authenticate the CLI against
DC/OS. For this, copy and paste the URL into your
browser. And copy back the generated security token. Once the CLI is authenticated, we can try
to run the DC/OS client against our cluster. Next, we install Zepplin: a tool for stream
analytics. In Marathon, we can see that the service is
deploying. Then, we deploy Tweeter via the command line. For this, we just upload the provided simple
JSON file to DC/OS. In Marathon, we can see that Tweeter is deploying. To be able to access Tweeter, we will need
to deploy a load balancer, that is accessible from a public network. Marathon-lb is an integrated loadbalancer
that will automatically route all requests to our Tweeter app. Now, all needed services are deployed and
running. We access Tweeter via its public IP and port. In the last few minutes, we created a highly
scalable Cassandra and Kafka cluster and deployed an application to it. Now, we will use the tweet tool, to generate
a stream of Shakespeare tweets. In Zepplin, we import the Tweeter analytics
JSON from the Tweeter app. With that, we can start stream analytics on
incoming tweets right away. rosalind seems to be the top tweeter. We can explore that with different visualization
options. Next, let's assume an instance of Tweeter
is dying. DC/OS is monitoring the health of our applications
and should start a new instance right away. A new application was started and taken into
load balancing. More tweets are coming in: we need to scale! Scaling an application in marathon is easy:
just increase the number of instances. It is also easy to scale down again. DC/OS will automatically kill instances, if
too many resources are running. OK, that's it for the demo. Don't forget to delete the Tweeter stack in
your AWS console to avoid further costs. That was a fast demo. Would you like to learn more about DC/OS? Book your brown paper bag lunch today and
codecentric will visit you without sale slides and marketing claims, but with technical details
and sandwiches! Thanks for watching. This video was brought to you by Mesosphere
and codecentric. If you want to see more videos like this,
please subscribe to our channel and follow us on Twitter.