-Welcome to Microsoft Mechanics.
In the next few minutes I'll introduce you to the new Cassandra API for Azure Cosmos DB.
Which allows you to move your existing Cassandra applications to Azure Cosmos DB
without modifying a single line of code.
And take advantage of this fully managed
globally distributed database service 
with limitless scale.
Here I have a sample Cassandra 
application which I found on GitHub.
It's a chat application. 
I can already see a message here from Scott.
This app is built using Node.js
and it uses Cassandra to store chat messages.
Here I have it connected to a 
local Cassandra cluster running on my laptop.
To move this app to Azure Cosmos DB,
all I need to do is to go to the portal,
click new,
create Azure Cosmos DB
account.
Note, in addition to Azure standard properties
I can also select the data
model and API to use.
Cosmos DB is a multi-model database service
and it allows you to work with 
documents using SQL and MongoDB API,
key-value pairs using Azure Table API or graphs using Gremlin API.
And now it also supports
Cassandra API at the protocol level.
Which means your existing Cassandra apps and tools
will continue to work as is with Cosmos DB.
Now it takes a few moments to create an account
so I have done it in advance.
Once you create an account 
the first thing you see is a Quickstart
that guides you on the steps to connect your existing Cassandra application to Cosmos DB.
For Node.js app, all I need to do 
is to copy this snippet of code,
go to my app in Visual Studio code
and replace the Cassandra 
connection code with the code I copied.
Now I also need to create a 
Cassandra key-space in a table my app needs.
I will use these Cassandra CQL commands
in runs I'm using CQL shell.
Note that CQL shell does not know 
anything about Cosmos DB.
It just executes these secure commands 
against cosmos DB endpoint,
thinking it's a Cassandra cluster.
We are ready, now let's restart the app
and go back to the browser and
answer to Scott.
Now if we go back to the Azure Cosmos DB portal
you can see in the Data Explorer
that our Cassandra app is 
now writing into Cosmos DB.
Within the portal you can easily 
manage and query your Cassandra table
or you can continue to use the CQL shell if you prefer.
With just a few steps,
we were able to move our sample Cassandra web app to Cosmos DB
without modifying a single line of code.
Now the reason this is so exciting,
is that I can now take advantage of Cosmos DB as an
infinitely scalable, globally distributed, 
managed database service.
In the portal, I can select scale and settings
and provision throughput on my Cassandra table
to handle up to10 million transactions per second 
with one click of a mouse.
If you want, you can also programmatically 
provision throughput with a single API call.
To demonstrate the scale in action,
I have another copy of this table with a
simulated ingestion rate
of up to 5 million transactions per second 
in Cosmos DB.
This eliminates the need to manage your Cassandra cluster yourself
or spending days adding nodes and 
modifying your Cassandra config.
With Cosmos DB, you specify the throughput you need
and we guarantee it with 4 9 SLA
independently of the amount of data you store.
Cosmos DB also guarantees
that your reads and writes will be served 
in single-digit millisecond latencies
at the 99th percentile. 
No matter the ingestion rate.
With Cosmos DB, you don't need to worry about compaction, memory, CPU or disk I/O.
It is a fully managed service.
Azure Cosmos DB is built with 
global distribution at its core.
I can simply click with my mouse on a map
and bring my Cassandra data to
every region in the world where my users are.
And this happens in minutes
versus weeks it takes to set up additional 
Cassandra replica clusters.
Now writing distributed applications is not easy.
To first help you, Cosmos DB offers five
intuitive consistency models to choose from.
Each with a clear trade-off between
performance and desired consistency.
You don't need to worry about 
replica sets, quorum or read repair,
you can now focus on writing correct application logic.
Cosmos DB is a fully managed service 
and it offers industry-leading SLAs
not just for high availability, which is five nines,
but those of four nine
SLAs for consistency latency and throughput.
And we transparently show you how 
we perform against the SLAs here in the portal.
Hopefully this gives you a
quick idea of how seamlessly you can
bring your existing Cassandra
applications to Azure Cosmos DB.
No code changes are required. 
It works with your favorite Cassandra tools and drivers.
Including for example native Cassandra
driver for Spark.
And it takes seconds to get going and 
it's elastically and globally scalable.
The Cassandra API for Azure Cosmos DB is in preview.
To try it for yourself go to the link shown 
and request access.
and give us feedback on 
Stack Overflow as you start testing.
Thank you for watching.
