>> I WAS WATCHING A HACKATHON AND 
ONE OF THE MICROSOFT EMPLOYEES ONE 
THAT BY BUILDING A VISUALIZER. I 
DOWNLOADED THAT CODE AND WAS PLAYING 
WITH IT AND I GOT STARTED AND NEVER 
THOUGHT THAT PIECE OF VISUALIZER 
AND TECHNOLOGY WOULD BE SO IMPORTANT 
TODAY. SO I'M, THIS I THINK I CAN 
INDEED, WE HAVE 30 SECONDS TO GO. 
I HAVE TO FILL THIS AWKWARD PAUSE 
WITH SOMETHING ELSE. I HAVE 30 SECONDS. 
YOU KNOW, YOU PROBABLY SAW ME LAUGHING, 
I'M THANKFUL TO MICROSOFT, THEY 
HAVE DONE TWO THINGS, THEY HAVE 
ALLOWED NONMICROSOFT SPEAKERS TO 
SPEAK. THE OTHER THING THAT THEY 
HAVE DONE IS THE FIRST TIME THEY 
HAVE ALLOWED KIDS TO COME IN. AS 
AN ATTENDEE YOU CAN TAKE ADVANTAGE 
OF THAT. I SAID FOR THE NEXT HOUR 
DON'T MOVE. PLEASE STAY WHERE EVER 
YOU ARE. DON'T DO ANYTHING. WITH 
THAT, WE ARE GOING TO START. YOU 
HAVE SEEN THIS SLIDE AND BEFORE 
SHOWING YOU THE AGENDA. I HAVE SHOW 
YOU THE SLIDE OF THE MENTAL PICTURE 
OF WHAT WE ARE TRYING TO ACCOMPLISH 
IN THIS SESSION. THIS THE THING 
THE LINE. THE GOAL IS COMBINING 
THE CLOUD SERVICE, AND COMBINED 
IT WITH A MANAGE DATA SERVICE. THAT 
IS SORT OF THE TAG LINE. AND THEN 
WE GO THROUGHOUT THE SESSION AND 
COMING BACK TO THIS TAG LINE. SOME 
OF YOU HAVE A WORKING KNOWLEDGE 
AND LOOKING AT THIS FOR THE FIRST 
TIME. I'M GOING TO GIVE YOU A GLIMPSE 
TO UNDERSTAND COSMOS THROUGHOUT 
THE SESSION AND YOU CAN GO BACK 
AND LOOK AT SOME INCREDIBLE RESOURCES 
AND PUT THE RESOURCES AND SHOW YOUR 
UNDERSTANDING AND COME BACK AND 
WATCH A VIDEO OF THIS SESSION. DEFINE 
CLOUD APP APPLICATIONS AND CLOUD 
NATIVE TOOLING AND SERVICE BROCKER, 
SITE RELIABILITY AND ENGINEERING 
Z AND ALL CONNECTED THEMES. AS YOU 
TALK ABOUT THE EXTERNAL APPLICATIONS, 
YOU HAVE TO THINK ABOUT THE CYBER 
ENGINEERING AND HOW TO DEAL WITH 
THAT, AND THEN, SOME DISCUSSION 
ON PORT ABLTH. WHAT IS A CLOUD NATIVE 
APPLICATION. THIS TERM IS BEING 
USED SO MUCH AND IT IS A BROAD TERM. 
IT MAKES SENSE TO HAVE A QUICK DEFINITION 
OF THAT TERM. CNC IS THE CLOUD NATIVE 
COMPUTING FOUNDATION, IT MANAGES 
MANY OF THE PROJECTS. SO THE KEY 
TENANTS OF THE CLOUD NATIVE APPLICATION 
ARE AND I HAVE A LINK AT THE BOTTOM, 
THIS SLIDE I PARSED THAT PAGE AND 
PUT IT IN. THE APPLICATIONS THAT 
RUN ACROSS THE PUBLIC CLOUD AND 
HYBRID CLOUT AND PRIVATE CLOUD. 
WHY IS THIS IMPORTANT, BECAUSE YOU 
ARE RUNNING AT A STATE AND NOT DEALING 
WITH THE HARDWARE AND DECOUPLEELLED. 
SYSTEMS ARE TYPICALLY COUPLED LOUSILY 
AND BROKE UP INTO SMALL PARTS AND 
BECAUSE YOU HAVE THESE SMALL PARTS, 
IT IS MORE RESILL YEN YENT. AND 
BECAUSE YOU HAVE A WELL DEFINED 
INTERFACE THEY ARE MORE MANAGEABLE. 
YOU HAVE THE CONTAINERS, THAT IS 
PACKAGING AND DEPLOYMENT FORMAT 
AND MICRO SERVICES. IT IS SMALL 
UNITS OF RESPONSIBILITY PRINCIPLE, 
HOSTED INSIDE OF A CONTAINER AND 
THE OTHER INTERESTING ASPECT IT 
IS BASED ON INFRASTRUCTURE, THAT 
IS TYPICALLY DEPLOYED USING A WELL 
DEFINED API OR STATE CONFIGURATION. 
CLOUD APPLICATIONS ARE BASED ON 
ECO SYSTEM. IT IS A PROJECT MANAGED 
BY CNCF AND OPEN SOURCEMENT. LAST 
ROBUST AUTOMATION. IF YOU HAVE BEEN 
WORKING IN THE CLOUD, THE KEY TO 
THE SUCCESS IN THE CLOUD IS AUTOMATION 
AND IT IS BECOMING MORE IMPORTANT 
IN A CLOUD SENSE, MOVING PARTS AND 
EXPOSING, AND SO THE SYSTEM IS HIGHLIGHT 
DYNAMIC. YOU ARE SCHEDULING THE 
MICRO SERVICES PODS, DOING DEPLOYMENT, 
TRAFFIC ROUTING, YOU ARE MAKING 
THESE HIGH IMPACT CHANGES TO AN 
APPLI APPLICATION. SO THOSE ARE 
THE KEY BULLETS. OKAY, NOW THAT 
WE HAVE THE UNDERSTANDING OF CLOUD 
NATIVE APPLICATION, WE ARE SHIFTING 
GEARS AND TALKING AKS. IT IS A WAY 
TO GET INSIDE OF AZURE. IT IS ABOUT 
THINKING OF ALL OF THE THINGS LISTED 
ON THE LEFT HAND SIDE OF THE SCREEN. 
SO DEPLOYED ON A BUNCH OF MACHINES, 
HOW ARE THE MACHINES GOING TO BE 
PATCHED. I WAS HERE FOR CUBE CON 
AND IT WAS AMAZING TO SEE THE NUMBER 
OF PEOPLE ATTENDING AND I HAVE BEEN 
TO SESSIONS TALKING ABOUT THE DATA 
BASE AND MAKING IT PRODUCTION READY 
AND ALL THOSE THINGS ARE IMPORTANT 
CONSIDERATIONS. SELF-HEALING AND 
MONITORING. LOOKING HERE AS A USER 
YOU WANT DO DEPLOY THE APPLICATION 
AND GOING TO THE MASTER MODE OR 
CREATE THESE APPLICATIONS FOR ME. 
THE MASTER MODE AS ALL O THE THINGS, 
DATA BASE THAT HAS TO HAVE A SCHEDULE 
LOOP, CLOUD CONTROLLER AND SO ON 
AND SO FORTH, AND THIS WOULD BE 
QUITE HARD TO MANAGE BY OURSELVES 
AND FORTUNATELY, AZURE IS DOING 
THIS FOR US. IT IS MANAGED BY ASURE. 
YOU WANT TO COMBINE THE IDENTITY 
PLANE, AND LOG IN ANALYTICS AND 
IT IS THE COMBINATION OF THE TWO 
TOGETHER. ON THE BOTTOM OF THE SCREEN, 
APPLICATIONS RESIDE. OKAY. SO THAT'S 
WHAT QUICK EXAMPLE OF WHAT IT IS. 
WHAT I'M GOING TO DO IS SHIFT QUICKLY 
TO DEMO HERE AND LET ME GO TO SCREEN 
SIX. YOU CAN SEE IT. SO WHAT I HAVE 
DONE IS I HAVE TRIED TO PROVISION 
THE STEPS TO SAVE US TIME. HERE 
IS THIS APPLICATION, IN FACT, BEFORE 
I GO TO THE DEMO IT HELPS FOR A 
SECOND TO SEE THE SLIDE FIRST TO 
MAKE SENSE HERE. SO LET'S SEE THE 
SLIDE FIRST. OKAY. SO THIS IS THAT 
APPLICATION AND DEVELOPED BY A COLLEAGUE 
OF MINE AND WE TOOK THE APPLICATION 
AND EXTENDED IT FOR THE PURPOSES 
OF THIS DOCUMENT. WE ARE GOING TO 
WALK THROUGH IT QUICKLY. IT IS A 
VERY SIMPLE APPLICATION AND AT THE 
SAME TIME HAS COMPLEXITY TO BRING 
OUT THE CONCEPTS. SO I HAVE A MICROSOFT 
BASED APPLICATION CALLED BOOK REVIEW. 
IT HAS BUNCH OF MICROSOFT SERVICES. 
THERE IS ASSISTANCES ASSOCIATED 
WITH THEM. AS YOU MOVE TO RIGHT 
OF THAT, THE MICRO SERVICES ARE 
BASED ON THE PER SIS SENT STORIES 
RUNNING IN A CONTAINER OR>> DB CONTAINER. 
MOVING RIGHT, YOU HAVE THE SOURCE 
CODE STRUCTURE. AND THEN ONCE YOU 
HAVE THE SOURCE CODE STRUCTURE, 
YOU HAVE A FILE ASSOCIATED WITH, 
GO TO THE AZURE PIPELINE AND YOU 
END UP WITH THE IMAGE. YOU PUSH 
THEM TO THE CONTAINER. ARE YOU WITH 
ME. APPLICATION. THIS IS THE BUILD 
IN DEPLOYMENT VIEW OF THINGS. TO 
THE FAR RIGHT, A BUNCH OF SPECIFICATIONS. 
I FEEL THIS IS A REASON WHY IT IS 
SO POPULAR THESE DAYS, UP UNTIL 
NOW, IF YOU LOOK AT THE BOX, I DEFINED 
THE CONTAINERS AS AZURE PIPELINE 
AND HOW DO I TRANCE LATE INTO A 
RUNNING APPLICATION. WE'LL SEE THAT 
IN A SECOND. SO LET'S JUST GO TO 
MY MACHINE HERE. VISUAL STUDIO CODE. 
THIS IS THE ENTIRE APPLICATION RIGHT 
HERE. IN FACT, GOING HERE ARE ALL 
OF THE MICRO SERVICES. IT IS STANDARD 
CODE AND CONTROLLERS. WHAT PEOPLE 
SPEND TIME ONLY LET'S GO INTO THE 
-- SO I WILL COME OUT OF THIS YEAR 
AND I WILL GO INTO THE SPECIFICATION 
AND WE'LL BRING UP THE DEPLOYMENT 
FILE HERE. THIS MIGHT BE INTIMIDATING, 
BUT THINK OF IT THIS WAY. SO I HAVE 
TAKEN MY CODE AND HAVE HAD THEM 
IN CONTAINERS AND HERE IS MY IF 
I GO TO THE PORTAL HERE, LET'S BRING 
UP THE CONTAINER REGISTERY HERE 
AND IF I GO DOWN, DEPOSITORIES HERE, 
THESE ARE ALL MY DOC IMAGES. THINK 
WITH ME FOR A MOMENT, RUN THE AZURE 
PINE LINE AND STORE HERE. DEPLOYMENT 
IS A FIRST CLASS NOTION, SO HERE 
I'M SAYING HEY CREATE ME A DEPLOYMENT 
AND BY THE WAY CREATE ME TWO VERSIONS 
OF THESE MICRO SERVICE AND THIS 
IS POWERED BY THIS CONTAINER AND 
FIND THIS CONTAINER IMAGE FROM THIS 
LOCATION. LET'S DO THIS. DOWN TO 
3 AND SAVE IT. LET'S JUST APPLY 
THIS CHANGE. OKAY. SO TOUGH SEE 
THE BOTTOM OF THE SCREEN, I HOPE 
TO BRING IT UP HERE. ALL I AM DOING 
IS APPLY, ANYBODY WATCH THE BLOG 
POST MANY YEARS BACK ABOUT HOW MANY 
KEY STROKES WE HAVE BEFORE WE DIE. 
IT IS CONVERTED INTO K. K APPLY 
THIS AND NOW LET RES RUN THIS YEAR. 
BY RUNNING THIS, A BUNCH OF THINGS 
ARE HAPPENING AUTOMATICALLY. IT 
IS FINDING THE POTS AND DEPLOY THE 
CONTAINER IMAGES THERE AND NOT ONLY 
THAT. THE SERVICE FILE, CONTAINER, 
COMMON GOAL, SO YOU WILL NEED SOME 
SORT OF LOAD BALANCE IN FRONT OF 
THEM. I WILL RUN A FILE LIKE THE 
SERVICE FILE AND THE REAL BEAUTY 
OF THIS IS THAT I AM NOT DIRECTLY 
CONNECTED TO THE UNDERLINING. I 
ASKING FOR THE LOAD BALANCING AND 
DEPLOYING A SERVICE AND ENTERTAINING 
WITH AN ATTRIBUTE. THIS IS ALL I 
NEED TO GET TO LOAD BALANCE IN AZURE. 
THE REASON I'M EXPLAINING THIS AGAIN, 
GOING BACK TO NOTION OF A CLOUD 
NATIVE APPLICATION DECOUPLED FROM 
THE UNDERLINING INFRASTRUCTURE. 
LET'S GO BACK TO THE CLUSTER HERE. 
SO LOOKS LIKE, THERE YOU GO. WAIT. 
LOOKS LIKE, I NEED TO OPEN A TUNNEL. 
IF NO ACTIVITY IT IS TIMED OUT. 
IT DID GET TIMED OUT. THAT IS NO 
PROBLEM. LET'S GO BACK AND START 
THIS AGAIN. I WILL CLEAR THIS MESS 
A LITTLE BIT UP HERE AND LET'S JUST 
START THE PORTAL AGAIN. SO KEEP 
IN MIND THAT IT IS ALL INSIDE OF 
THE VIRTUAL NETWORK. IT IS VISIBLE 
TO TO OUTSIDE WORLD AND THAT IS 
WHY I HAVE TO ESTABLISH A TUNNEL. 
I HAVE TO FIND THE NAME SPACE. WE 
SHOULD SEE A THIRD PART HERE. OKAY. 
SO WE SEE THREE REPLICAS OF THE 
SERVICE RUNNING. THAT IS AN IMPORTANT 
CONCEPT TO NOTE HERE. WHAT IS INTERESTING, 
SINCE SPECIFIED THAT I NEED 3 REP 
LICAS ALL OF THE TIME. IT IS SELF-HEALING 
AND CHECKING. LET'S GO BACK TO THE 
SLIDES FOR A MOMENT. SO YOU ARE 
LOOKING AT THE SLIDE, THE FAR RIGHT 
OF THIS DIAGRAM AND TAKING THE CONTAINER 
IMAGES AND DEPLOYING TO THE CLUSTER. 
HERE IS THE RUN TIME VIEW OF THAT. 
ALL OF THOSE DEPLOYMENT FILES THAT 
WERE RAN IN THE PREVIOUS DEMO ARE 
SHOWING UP HERE. IN THIS CASE, DEPLOYED 
TO THE VIRTUAL NETWORK. INSIDE BOXES 
OF VIRTUAL NETWORK AND THE LOAD 
BALANCING. THE SERVICES DEPLOYED 
AND LONGER DB WAS ALSO DEPLOYED, 
NOT PART OF THE LAST STEP, I ALREADY 
DEPLOYED THAT AHEAD OF TIME. THIS 
IS SORT OF THE RUN TIME VIEW OF 
THINGS. I'M GOING TO DRILL INTO 
THE BOX IN A SECOND, BUT OTHERWISE, 
THIS IS SORT OF THE PHYSICAL OR 
THE RUN TIME VIEW OF THE CLUSTER 
AS WE SEE IT. ALL RIGHT. SO LET'S 
JUST KEEP GOING HERE. I WILL SHOW 
YOU THIS IN A SECOND. UP UNTIL NOW 
WE WERE TALKING ABOUT A CLOUD NATIVE 
APPLICATION THAT IS STATELESS. I 
DIDN'T GET INTO HOW THE DATA IS 
STORED. LET'S LOOK AT THAT IN A 
MOMENT HERE. SO IN ORDER TO TALK 
ABOUT STATE, IT IS IMPORTANT TO 
UNDERSTAND SOME KEY CONCEPTS AND 
THEN WE'LL GO BACK AND LOOK AT DB 
IS BEING SET UP. FIRST AND FOREMOST, 
PEOPLE RUNNING IT FOR A LONG TIME. 
IN ADDITION, THERE IS A NUMBER OF 
IMPROVEMENTS AND I CALLED THOSE 
OUT. A STATEVILLE SET. I SHOWED 
YOU PART OF BEING DELETED AND RECREATED 
QUICKLY. THEY HAD NO STICKINESS 
OR IDENTIFIER ASSOCIATED WITH THEM. 
STATEVILLE SETTED IS DESIGNED FOR 
THE WORKLOAD WHERE IT IS IMPORTANT 
TO CREATE IN A CERTAIN ORDER AND 
DELETE IN A CERTAIN ORDER. IF YOU 
WANT TO TALK TO A STORAGE PLUG IN 
WAS INCLUDED, BUT NOW, THAT IS MOVED 
OUT STANDARD INTERFACE WHERE A NET 
APP OR SOMETHING YOU HAVE TO IMPLEMENT 
THAT INTERFACE. THE SECOND LINE 
TO TALK ABOUT QUICKLY IS THE PERSISTENT 
VOLUME AND CLAIMS. HOW DO YOU PERSIST 
STATE INSIDE OF A POD. PODS ARE 
COMING AND GOING ALL OF THE TIME. 
WELL; IT TURNS OUT YOU CAN SET UP 
A PER SIS SENT VOLUME . USING SOMETHING 
LIKE AZURE FILE. YOU SET UP A VOLUME 
AND AS AN APPLICATION DEVELOPER, 
WHEN YOUR PART IS COMING UP, YOU 
MAKE A CLAIM FOR THAT VOLUME . THIS 
SYSTEM IS HIGHLY DYNAMIC. WHEN THE 
POD GOES AWAY T STATUS IS PERSISTED 
AND NEXT TIME COMING UP AGAIN IT 
IS GIVING ME THE SAME VOLUME . PERSISTENT 
STORAGE IS GETTING BETTER. I ALSO 
WANT TO TALK ABOUT OPERATORS, WHICH 
IS ALL THE RAGE THESE DAYS. SO THE 
CONCEPT OF OPERATORS IT IS ABOUT 
TAKING THE OPERATIONAL KNOWLEDGE 
ASSOCIATED WITH WITH SOMETHING LIKE 
RUNNING, YOU NEED TO UNDERSTAND 
THE OPERATIONALLY BEST PRACTICES 
OF HOW TO DO THAT. RATHER THAN HAVING 
YOU WRITE A SCRIPT TO DO THAT, YOU 
CAN GET AN OPERATOR DISTRIBUTING 
THE CLUSTER AND THAT OPERATOR WILL 
DO THOSE THINGS FOR YOU. AS YOU 
CAN SEE, THERE ARE A NUMBER OF CONCEPTS 
THAT CAN HELP YOU WITH PERSISTENT 
STORAGE. NOW WITH UNDERSTANDING 
THE CONCEPTS, LET'S SEE HOW DB WAS 
SET UP IN MY APPLICATION. I GO BACK 
TO MY MACHINE AND I'M GOING TO BRING 
UP HOW DB WAS SET UP. SO THE FIRST 
AND FOREMOST, REMEMBER I EXPLAINED 
TO YOU THE STATEVILLE SET. WHERE 
THE NODES WILL BE RUNNING. THAT 
IS THE FIRST PART AND THEN I ALSO 
DEFINE A SERVICE LIKE I DEFINED 
THE LAST TIME AND THEN I HAVE A 
MAP HERE. WHAT IS INTERESTING IS 
IN THIS MAP I PASS IN A SCRIPT HERE. 
WE WON'T GO THROUGH THE WHOLE SCRIPT, 
BUT I WANTED TO SHOW YOU I HAD TO 
DO A BUNCH OF THINGS. I HAD TO HAVE 
THE SCRIPT RUN EVERY TIME THAT THE 
POD STARTS AND MAKE SURE IT IS A 
RIGHT INSTANCE AND THE APPLICATION 
SET IS READY AND THE NODE IS COMING 
UP. THERE ARE A FEW THINGS YOU HAVE 
TO FOR THIS TO WORK. SOMETIMES THERE 
IS A TIMING ISSUE AND YOU HAVE TO 
RESTART THE INSTANCE AND THINGS 
LIKE THAT. SO YES, MY STATEVILLE 
APPLICATION IS RUNNING INSIDE OF 
THE CLUSTER, BUT I HAVE TO WRITE 
ALL OF THIS CODE TO GET THAT RUNNING 
INSIDE OF MY CLUSTER. GOING BACK 
TO THE SLIDE. SO WE HAVE SEEN SOME 
CHALLENGES OF HOW STATE CAN BE MANAGED 
AND TURNS OUT THAT AND YOU KNOW 
YOU CAN'T HAVE A PRESENTATION WITHOUT 
A TWEET. I DIDN'T GET ANY LAUGHS, 
THAT IS AN INSIDE JOKE. IT IS NOT 
MY JOKE. IT IS A JOKE THAT KELSEY 
WAS TWEETING AND YOU HAVE TO HAVE 
A TWEET FROM HIM IN YOUR SLIDE DECK. 
WHAT THE TWEET IS SUGGESTING THERE 
ARE A NUMBER OF IMPROVEMENTS TO 
RUN THE STATEVILLE APPLICATIONS 
AND YOU STILL THERE ARE SOME SCENARIOS 
YOU HAVE TO GO TO EXTERNAL SERVICE. 
AND LET'S TAKE A LOOK AT THOSE SCENARIOS. 
ONE OF THEM IF YOU WANTED TO DO 
A GEO DISTRIBUTION. I SAW SOME, 
I SHOWED YOU ON THE PREVIOUS SLIDE 
YOU HAD TO SET UP A CLUSTER AND 
RUN THE SCRIPT. WHAT ABOUT SCALING 
OUT. I CAN CREATE MORE DB NODES 
BUT WHAT IF I WANTED TO GO FROM 
AZURE DISK TO HIGHER PERFORMING 
DISK. I WOULD HAVE TO WRITE THE 
AUTOMATION TO DO THAT. WHAT IF I 
WANTED PERFORMANCE GUARANTEES ON 
READ AND WRITE AND THINGS LIKE. 
THE POINT I'M MAKING HERE IS THAT 
EVEN THOUGH THERE ARE A NUMBER OF 
IMPROVEMENTS, THERE ARE SCENARIOS 
HERE WHERE YOU MAY WANT TO GO TO 
EXTERNAL SERVICE THAT GIVES YOU 
THE CAPABILITIES. OKAY. SO LET'S 
KEEP GOING AND TALK ABOUT COSMOS 
DB HERE QUICKLY. SO COSMOS DB IS 
A GLOBALLY DISTRIBUTED DATA BASE 
SERVICE. AS SOMEONE WHO SPENT THREE 
OR FOUR YEARS MAKING APPLICATIONS 
RESILIENT, AND AN IMPORTANT PART 
OF THAT IS LOOKING AT THE APPLICATION 
AND MAKING SURE THEY SURVIVE AN 
OUTAGE. SO YOU HAVE THE INSTANCE 
OF THE APPLICATION RUNNING IN ONE 
REGION AND ANOTHER REGION AND YOU 
HAVE TO HAVE TO MONITORING IN PLACE 
SO IT FIMENT FILTERS OVER TO THE 
SECOND REGION. WHAT I LOVE ABOUT 
COSMOS DB IT IS DESIGNED AS A CLOUD 
FIRST SERVICE, THAT MEANS THE GEO 
DISTRIBUTION IS BAKED INTO THAT. 
ON THE BOTTOM LAYER TURNKEY GLOBAL 
DISTRIBUTION. IT GIVES ME SCALE 
OUT. IN THE CASE OF EXAMPLE THAT 
I MENTIONED I CAN ADD MORE PODS 
BUT I WOULD HAVE TO CHANGE THE DISK 
SUBSYSTEM. IN THIS CASE, I SIMPLY 
CHANGE SCALE DYNAMICALLY AND ELASTIC 
ELASTICALLY. I CAN GET AVAILABILITY 
GUARANTEE, I CAN GET A GUARANTEE 
ON READ AND WRITE. YOU SEE A BUNCH 
OF ADVANTAGES THAT I HAVE. IT IS 
A NO SEQUEL SERVICE. BUT WHAT IS 
ALSO VERY INTERESTING IS THAT DB 
SUPPORTS PROTOCOL LEVEL MONGO AND 
ETC. YOU ARE ABLE TO TAKE THE EXISTING 
DATA BASE AND MOVE TO COSMOS AND 
USE THE CLIENTS TO TALK TO COSMOS 
DATA BASE. ARE YOU WITH ME? WE ARE 
TRYING TO, WE ARE HEADED WE TALKED 
ABOUT THE CLUSTER, COSMOS AND NOW 
TO HOW TO TAKE THE APPLICATION OVER 
THERE. SO QUICKLY TALK ABOUT TWO 
OTHER INTERESTING ASPECTS OF COSMOS 
DB. IT HAS PROTOCOL LEVEL ACCESS 
FOR MONGO DB. THIS IS BRAND NEW. 
THIS WAS ANNOUNCED THREE MONTHS 
BACK AND SUPPORTING THE API. NOW 
YOU CAN USE COSMOS DB AS THE BACK 
AND FORTH CLUSTERS. BECAUSE THEY 
HAVE A MULTI-MODEL DATA BASE IT 
IS EASY TO ADD THE NEW MODELS AND 
THEY ADDED THE COSMOS API. THIS 
SAYS I AM USING THE DB PROTOCOL. 
AND MOVING ON, SO WHAT ABOUT CLOUD 
NATIVE TOOLING. I'M GOING TO SWITCH 
GEARS AND ASK THE QUESTION, YOU 
HAVE MADE A CASE THAT STATE INSIDE 
IS NOT AS EASE O EASY AND I SHOULD 
GO TO A MANAGED SERVICE. IF I DO 
THAT, AM I NOT MOVING OUTSIDE OF 
MY CLOUD NATIVE TOOLING? OKAY. WHAT 
DO I MEAN BY THAT? IF I'M WITHIN 
THE CLUSTER, I'M USING THE COMMANDS, 
FILES TO DEPLOY EVERYTHING. AS SOON 
AS I INTRODUCE AN EXTERNAL ENTITY, 
COSMOS DB, THEN I HAVE TO GO OUTSIDE 
OF THE CONTEXT OF THE CLOUD NATIVE 
TOOLING AND RUN A SCRIPT, GET A 
DATA BASE AND DO POSITIVE SIT INTO 
THE MANIFEST. SOME PEOPLE I TALK 
TO ARE CONCERNED AM I NOT GOING 
OUT OF THE CLOUD NATIVE CLOUD TOOLING. 
THAT IS A GOOD QUESTION TO ASK YOURSELF. 
I WANT TO SHOW YOU WHAT IT LOOKS 
LIKE DOING THIS MANUALLY YOURSELF. 
LET'S GO BACK TO THE MACHINE HERE. 
AND I WANTED TO SHOW YOU LET'S GO 
TO RIGHT HERE. AND THESE ARE ALL 
THE SNIP ITS. SO RIGHT HERE, I HAVE 
O CREATE A COSMOS DB DATA BASE AND 
FILTER AND CONSISTENCY LEVELS AND 
DEFINE THE LOCATIONS AND SO ON AND 
SO FORTH, AND DO ALL OF THESE THINGS 
TO DO THE COSMOS DB DATA BASE AND 
GET THE CONNECTION STRENGTH AND 
DEPOSIT. AND WRITE IT AS PART OF 
THE SPOUER SHELL SCRIPT. LET'S GO 
BACK TO THE SLIDE AND SEE HOW TO 
SOLVE THAT PROBLEM, USING A NOTION 
OF OPEN SERVICE BROCKER. OKAY. SO 
THERE IS A NEW SPECIFICATION, THIS 
REALLY IS ABOUT ABILITY TO INTEGRATE 
CLUSTER WITH EXTERNAL SERVICE. OPEN 
SERVICE BROCKER. THE IDEA BEHIND 
IS REALLY SIMPLE, THIS DIAGRAM HELPS 
YOU. YOU ESSENTIALLY INSTALL THE 
OPEN SERVICE BROCKER AS PART OF 
THE CLUSTER. ONCE YOU HAVE INIALED 
THIS BROCKER, YOU CAN GO TO THIS 
BROCKER AND SAY GIVE ME A COSMOS 
DB CONNECTION AND YOU WILL BE GIVEN 
A COSMOS DB CONNECTION AT THIS POINT 
AND THE CONNECTION DETAILS ARE STORED 
AS PART OF A SECRET, THAT IS THE 
FIRST CLASS OBJECT. SO LET ME ACTUALLY 
SHOW YOU THE DIAGRAM. I'M ABSTRACTING 
FROM THE DETAILS OF SELTING UP COSMOS 
DB. SHOW ME THE PLANS, SO EACH SERVICE 
MAY HAVE A NUMBER OF PLANS. THE 
PLANS, A FREE PLAN, STANDARD PLAN, 
ADVANCED PLAN, SOMETHING THAT IS 
SIMPLIFIED. SO GIVE ME THE PLANS, 
AND NOW, I WANT TO GO CREATE AN 
INSTANCE OF THAT. I KNOW WHICH PLAN 
I WANT. CREATE THE INSTANCE. THE 
FINAL THING TO DO HERE IS BIND IT 
TO THAT INSTANCE AND WHAT BINDING 
ESSENTIALLY MEANS IN THIS CASE FOR 
MY DEMO IT MEANS GIVE ME THE CONNECTION 
STRENGTH, I WILL TAKE THE CONNECTION 
STRENGTH AND STORE IT IN THE OBJECT. 
SO EVERYBODY WITH ME? LET'S DO A 
QUICK DEMO OF THIS. SO YOU CAN SEE 
MY SCREEN HERE. LET ME CLEAN THIS 
UP. I WILL EXPLAN THE COMMANDS AS 
I RUN THEM. THE FIRST THING I'M 
GOING TO DO IS I'M GOING TO GET 
WHAT CLUSTERS OF THE BROCKER HAVE 
I INSTALLED. LET'S RUN THIS. OKAY. 
LET'S OPEN OUT WHAT IS EASIER TO 
LOOK AT IT YEAR. IN THIS CASE, THE 
ONLY CLUSTER BROCKER THAT IS INSTALLED 
IS THAT AZURE BROCK BROKER RIGHT 
HERE. IT IS THE OPEN SERVICE BROKER 
FOR AZURE. I DIDN'T WANT TO INSTALL 
IT AS PART OF THE DEMO. IT IS THE 
BROKER THAT IS INSTALLED. LET'S 
LOOK AT THE CLASSES THAT THIS BROKER 
OFFERS. LET'S RUN THIS COMMAND AND 
LOOK AT THE OUTPUT HERE. RIGHT HERE. 
SO YOU CAN SEE HERE THAT THIS BROKER 
SUPPORTS A NUMBER OF CLASSES AND 
IN THIS CASE, WE ARE INTERESTED 
IN THE AZURE DB. THE NEXT THING 
THAT I WANT TO DO, HEY, SHOW ME 
ALL OF THE PLANS. THAT'S RUN THIS 
ALSO. AND THESE ARE ALL THE PLANS 
THAT ARE AVAILABLE. PREMIUM, BASIC 
AND THINGS LIKE THAT. THE LAST THING 
I WILL DO IS CREATE AN INSTANCE, 
THAT CAN TAKE A COUPLE OF MINUTES. 
I ALREADY CREATED IT. I WILL SHOW 
ME THE INSTANCES THAT I HAVE CREATED. 
LET'S RUN THAT HERE AS WELL. YOU 
WILL SEE THAT I HAVE ONE MONGO DB 
INSTANCE THAT I CREATED. WE HAVE 
THE SERVICES, THE PLAN AND CREATED 
THE INSTANCES AND NOW RETRIEVE THE 
BINDING HERE, GO GET THE BINDING. 
P AND YOU CAN SEE THE BINDING RIGHT 
HERE AND IN FACT, THE BETTER WAY 
TO LOOK AT THE BINDING CAN USING 
A COMMAND AND GET THE SECRET. ONCE 
THE BINDING IS COMPLETE, IT IS STORED 
AS A SECRET, LET'S DUMP THAT OUT. 
AND DID I RUN THIS YET. STORED OUTPUT. 
RIGHT HERE IS OUR BINDING. YOU CAN 
SEE HERE THAT I GOT A CONNECTION 
STRING WHICH IS THE CONNECTION STRENGTH 
AND BINDING FROM THERE AS WELL. 
SO THIS IS THE NOTION OF THE SERVICE 
BROKER. ONE THING THAT WE HAVE NOT 
DONE YET IS LOOKED AT THE APPLICATION. 
LET ME DO ONE OTHER THING. HOW DO 
WE, THE APPLICATION RIGHT NOW THE 
WAY IT IS DEPLOYED IN OUR CLUSTER, 
I HAVE A BUNCH OF PARTS RUNNING 
THE MICRO SERVICES AND THEN THESE 
PODS ARE USING THE MONGODB POD. 
ON THE SIDE, WE INSTALLED SERVICE 
BROKER AND GOT OURSELVES A CONNECTION 
TO COSMOS DB. HOW CAN I GO IN AND 
SWITCH THE MICRO SERVICES TO READ 
FROM THE COSMOS DB INSTEAD. THAT 
IS WHAT I'M GOING NEXT HERE. AND 
FOR THAT, WHILE I'M DOING THIS HERE 
LET ME ALSO RUN THE PORTAL ONE MORE 
TIME HERE. LET'S GET THE DASH BOARD 
AGAIN. WE'LL GO BACK HERE AND WHAT 
I AM GOING TO DO HERE, THAT IS WHERE 
THE PORTAL IS COMING UP. GOOD. I'M 
GOING TO RUN THIS COMMAND HERE. 
AT THIS TIME I'M APPLY A SLIGHTLY 
DIFFERENT FILE. I'M AAPPLY A DEPLOYMENT 
FILE. THAT FILE SHOULD BE RIGHT 
HERE. AND ALL I'M DOING IN THIS 
FILE, EVERYTHING ELSE REMAINS THE 
SAME. I'M TELLING THE SERVICE ENABLED. 
LET'S RUN THE DEPLOYMENT COMMAND 
HERE. IT CAUSES THE SERVICES TO 
BE RESTARTED AND HEY, YOU NEED TO 
GO TO A DIFFERENT DATA BASE ESSENTIALLY. 
IF I GO BACK TO THE PORTAL HERE 
AND IF I GO BACK TO THE PODS, I 
NEED TO CHANGE THE NAME SPACE TO 
BOOK REVIEW. SORRY. AND YOU WILL 
SEE HERE THAT I HAVE THE PODS RUNNING 
AND STARTED 20 SECONDS AGO. IF I 
GO LOOK AT THIS YEAR, I SHOULD SEE 
THAT IT IS DONE. IT IS SET TO YES. 
OKAY. SO THIS POD GOT DEPLOYED ALREADY. 
LET'S GO FIND THE CONTROLLER. AND 
LET'S BRING UP THE APPLICATION. 
AND HERE IS A SIMPLE APPLICATION. 
LET'S SUBMIT A COMMENT. CREATING 
ONE, WHATEVER. AND SUBMIT. SO I 
HAVE SUBMIT ADD COMMENT TO THE MICRO 
SERVICE AND IT LOOKS LIKE COMMENT 
WAS SUBMITTED. GOING TO THE VISUAL 
STUDIO AND GOING TO COSMOS DB AND 
REFRESH THIS, YOU ARE SEEING THE 
COMMENT HERE ALREADY. I WAS ABLE 
TO SWITCH IT. SO THE THING TO TAKE 
AWAY FROM THIS DEMONSTRATION IS 
THAT WE WERE ABLE TO GET THE BENEFIT 
OF A MANAGE SECOND DEGREE SERVICE 
WITHOUT LEAVING OUR CLOUD NATIVE 
TOOLING BECAUSE THE SERVICE BROKER 
DID THE WORK FOR US. LET'S GO BACK 
TO THE SLIDES. SO THE NEXT QUESTION 
THAT WE NEED TO ASK OURSELVES, WHAT 
ABOUT THE CYBER LIABILITY ENGINEERING. 
YES, YOUR FOUND A WAY TO DO CLOUD 
NATIVE TOOLING, THAT IS GREAT. BUT 
YOU HAVE NOT, YOU ADDED MORE WORK 
FOR ME ESSENTIALLY BECAUSE NOW I 
HAVE TO MONITOR THE CLUSTER AND 
ALL KINDS OF OPERATORS RUNNING IN 
THE CLUSTER AND NOW THERE IS ANOTHER 
MOVING PART IN THE APPLICATION AND 
THE ENGINEERING IS A LITTLE MACHINE 
COMPLICATED NOW. SO HOW DO I DEAL 
WITH THAT SITUATION. I WANT TO GO 
BACK TO THE PORTAL FOR A SECOND. 
LET'S LOOK AT GOING BACK TO THE 
PORTAL. AZURE PORTAL. LET'S GO A 
DASH BOARD AND COSMOS DB. I WANT 
TO POINT OUT A COUPLE OF THINGS 
HERE. SO WHAT DOES IT ENTAIL WHEN 
I TALK ABOUT CYBER LIABILITY ENGINEERING 
AND WHAT DO I MEAN BY THAT. ONE 
OF THE THINGS THAT I TALKED ABOUT 
EARLIER, I SHOULD BE ABLE TO REPLICATE 
THE DATA TO OTHER REGION AND THE 
CONNECTION STRENGTH SHOULD BE SMART 
ENOUGH TO DETECT IN ONE REGION AND 
REDIRECT ME. THAT ASPECT IS I GET 
A CERTAIN BURST OF LOAD, HOW CAN 
I SCALE UP TO ME THAT LOAD AND SCALE 
BACK DOWN BECAUSE IT IS EXPENSIVE 
TO OPERATE AT THAT LEVEL. THESE 
ARE SOME OF THE CONSIDERATIONS THAT 
YOU HAVE WHEN WRITING A HIGHLY RELIABLE 
APPLICATION. IN THE CASE OF COSMOS 
DB, IF I COME IN HERE AND GO INTO, 
WE BOUGHT UP THE DB HERE, I COME 
IN HERE AND RIGHT NOW APPLICATION 
IS DEPLOYED TO ONE REGION AND THAT 
HAPPENS TO U. S. EAST. I CAN SIMPLY 
COME IN AND SELECT MORE REGIONS 
AND BY SELECTING THE REGIONS THEY 
ARE REPLY ICATING ACROSS THE REGIONS. 
ONE OF THE REGIONS ARE WRITEABLE 
AND THE OTHERS ARE READABLE ONLY. 
NOT ONLY DO I SET THE APPLICATION, 
I CAN SAY THAT THESE TWO REGIONS 
HAVE A DEFINED CONSISTENCY LEVEL 
AND HOW WELL DO I WANT THE COPIES 
TO BE. TIFF AVAILABILITY TO CONTROL 
THAT AS WELL. SO THAT IS ONE. THE 
OTHER THING THAT I WANT TO TALK 
IS SCALING. SO ONCE AGAIN HERE, 
I'M OPERATING HERE WITH A NUMBER 
OF REQUESTED UNITS. USING THE API 
I SCALE THE REQUEST UNITS UP. WITH 
DB INSTANCE, I WOULD HAVE TO WRITE 
A SCRIPT TO ADD MORE PODS AND DISK 
SUBSYSTEM, I DON'T HAVE TO DO ANY 
OF A THESE THINGS, THE INTERESTING 
PART YOU CAN SCALE THE STORAGE. 
SO LETTED'S GO BACK TO THE SLIDES 
HERE FOR A MOMENT. SO WE TALKED 
ABOUT IMPROVING IN FACT, SO EVEN 
WITHIN THE EXTERNAL SERVICE, WE 
HAVE SORT OF COUNTERED OUR QUESTION, 
WHICH IS I NOW HAVE TO DEAL WITH 
MULTIPLE MOVING PARTS AND I SUBMIT 
TO YOU BECAUSE THE SERVICE IS DUAL 
DISTRIBUTED I DON'T HAVE TO DO THE 
ENGINEERING HERE. LET ME SHOW YOU 
THE MULTIMASTER CAPABILITY. YOU 
CAN NOW WRITE TO MULTIPLE REGIONS 
SIMULTANEOUSLY, AND SINCE YOU ARE 
ABLE TO WRITE TO MULTIPLE REGIONS 
YOU DON'T HAVE TO THINK ABOUT FAIL 
OVERS. YOU ARE WRITING TO BOTH REJENS, 
THERE IS A POSSIBILITY THAT IS CONFLICT 
MAY HAPPEN. THERE IS A CONFLICT 
MANAGEMENT BUILT IN HERE AND THAT 
IS WHAT I TALK ABOUT HERE, THE LAST 
WRITE IS ENABLED. YOU ARE GOING 
BEYOND THE CORE CAPABILITIES AND 
ENABLINGING A MULTI-WRITE CAPABILITY 
AS WHERE HE WILL. SO HOW DO YOU 
ENABLE MULTI-WRITE. YOU CAN ENABLE 
OR DISABLE THE SUPPORT HERE AT THE 
BOTTOM. SO YOU CAN DO THAT. AND 
AT THIS POINT, YOU CAN SEE ON RIGHT 
SIDE OF THE SCREEN, THAT TWO OF 
MY REGIONS ARE WRITEABLE. THAT IS 
ONLY POSSIBLE WHEN I SET UP THE 
MULTI-MASTER SUPPORT. TWO REGIONS 
ARE WRITEABLE AND I CAN. SO THE 
CODE, I WILL RUN A DEMO OF THIS 
FOR YOU IN A MOMENT HERE. AT HIGH 
LEVEL, THIS IS WHAT THE CODE LOOKS 
LIKE. I SET UP A CONNECTION POLICY 
AND USING MULTIPLE WRITE LOCATIONS. 
THAT IS HOW TO CREATE ESSENTIALLY 
MY APPLICATION HERE. I WILL RUN 
THIS APPLICATION. SO I HAVE VISUAL 
STUDIO Y WITH AN APPLICATION. I 
TOOK THE COLLECTION THAT WE WERE 
LOOKING AT AND REMEMBER I SUBMIT 
ADD COMMENT, THAT WAS A COLLECTION, 
AND I TOOK THAT COLLECTION AND RECITED 
A DB DATA BASE WITH A MULTICAPABILITY. 
I'M GOING TO WRITE TO TWO REGIONS 
AT THE SAME TIME. AND THIS IS QUITE 
INTERESTING. EVEN THOUGH I AM WRITING 
TO TWO REGIONS AT THE SAME TIME; 
YOU WOULD THINK THERE WOULD BE A 
CONFLICT THAT WOULD COME UP, THAT 
IS EXPECTED. WHAT IS INTERESTING 
ABOUT THIS DEMO, AS SOON AS I WRITE 
TO THE ONE REGION, IT IS REPLICATED 
TO THE SECOND REGION. YOU WILL FIND 
IN SOME CASES BEFORE I DO A WRITE 
TO THE SECOND REGION, THAT RECORD 
IS REPLICATED TO THE SECOND REGION, 
AND I GET THE EXCEPTION SAYING THIS 
ALREADY EXISTS. IF THINGS GO RIGHT, 
THERE IS AN EXCEPTION. OKAY. BECAUSE 
YOU KNOW, I'M HYPERFOCUSSED ON SHOWING 
YOU CONFLICT AND COSMOS IS WORKING 
HARD AND REPLICATING THE RECORD 
TO THE REGION FASTER THAN I CAN 
THROUGH THE MULTI-PROGRAM. IN CASE 
IT IS NOT REPLICATED, THE RIGHTS 
WILL SUCCEED AND AT THIS POINT WHAT 
WILL HAPPEN THE LAST WRITER WINS. 
IF YOU WERE USING SOMETHING LIKE 
THE DOC INTERFACE YOU CAN DO MORE 
THINGS WITH, WRITE A STORE PROCEDURE 
AND DO THE CONFLICT RESOLUTION YOURSELF 
OR WRITE A CUSTOM CODE. THEY CAN'T 
ADD ANYTHING ON TOP OF THAT, THE 
ONLY AVAILABLE CONFLICT RESOLUTION 
MECHANISM IS THE LAST WRITER WINS. 
SO THERE IS A SERVICE TIME STAMP 
FOR EVERY DOCUMENT THAT IS WRITTEN 
AND THEY COMPARE THE TIMES AND THE 
LAST TIME STAMP WINS. LET'S LOOK 
AT THIS PROGRAM RIGHT HERE. LET'S 
RUN. SO I'M GOING TO CONNECT COSMOSDB 
FIRST AND DETECT HOW MANY REGIONS 
THAT I HAVE. THIS IS THE MOST INTERESTING 
PART OF THE PROGRAM. YOU GUYS SHOULD 
HAVE TOLD ME TO SWITCH. SO LET ME 
RUN THIS PROGRAM AGAIN. SO ESSENTIALLY 
COUNSEL PROGRAM COPIED THE COLLECTION 
OVER TO ANOTHER DATA BASE, ENABLED 
MASTER WRITE. THEY ARE GOING TO 
ESTABLISH A CONNECTION TO THE TWO 
INSTANCES. THIS IS -- LET'S GO AHEAD 
AND RUN THIS. WE ARE CONNECTING 
TO THE U. S. EAST ANDIST WEST REGIONS, 
AND AS YOU CAN SEE HERE, WE ARE 
GOING UP HERE. IN THIS CASE, I WAS 
ABLE TO GENERATE A CONFLICT HERE 
AS YOU CAN SEE. THIS IS THE PART 
THAT I'M TALKING ABOUT. AND SO THIS 
WAS THE ID THAT I WROTE FROM THE 
U. S. EAST AND THIS IS ID FROM THE 
U. S. WEST AND CONFLICT WAS GENERATED 
BUT THEY DIDN'T HAVE ENOUGH TIME 
TO REPLICATE THE RECORD OVER. COSMOS 
DB LOOKED AT THE TIME STAMP AND 
WHICH EVER IS HIGHER IT DECLARED 
THAT RECORD AT THE WINNER AND YOU 
ARE SEEING THAT RIGHT HERE. OKAY. 
MAKE SENSE TO EVERYBODY? SO WHAT 
DID WE ACCOMPLISH AS PART OF THE 
DEMO, THINK ABOUT IT. WE HAVE NOW 
BEEN ABLE TO DEPLOY APPLICATION 
USING CLOUD NATIVE TOOLING AND IN 
FACT ENHANCE OUR RESILIENCY OF THE 
APPLICATION WE CAN ABILITY TO SCALE 
UP AND DOWN AND DISTRIBUTE IT AND 
TWO THINGS LIKE MULTI-MASTER. NOT 
ALL APPLICATIONS ARE TAKING ADVANTAGE 
OF THE MULTIWILL HAVE MASTER, BUT 
THOSE TAKING ADVANTAGE OF IT, THIS 
IS THE WAY TO GO, BECAUSE WE ARE 
SPENDING FAR TOO MUCH TIME TRYING 
TO PUT ALL THE MONITORING MACHINERY 
IN PLACE AND FIGURING OUT THAT THE 
APPLICATION IS DOWN AND PUTTING 
THAT OVER TO THE OTHER REGION. THAT 
IS THE WAY TO OPERATE IN THE CLOUD. 
SO THAT'S AN IMPORTANT PART. LET'S 
GO BACK TO THE SLIDES HERE. I SHOULD 
BE ABLE TO LEAVE ABOUT FIVE OR SEVEN 
MINUTES FOR QUESTIONS. WE'LL GET 
TO THAT. SO THE LAST THING I THAT 
WANT TO TALK ABOUT IS PORT ABILITY. 
SO YOU HAVE NOW MOVED ME OUTSIDE 
OF THE CLOUD NATIVE CONTEXT. I JUST 
DON'T HAVE A FILE DEPLOYING THE 
CLUSTER. HOW DOES IT IMPACT MY PORTABILITY. 
ASK SOME QUESTIONS OF MYSELF AND 
TRY TO ANSWER THESE AND THIS IS 
THE SERIES OF QUESTIONS, THE FIRST 
OF CLOUD NATIVE TOOLING CYBER. HAVE 
I NOT CREATED PROBLEM FOR MYSELF 
AND TIED MYSELF TO A CERTAIN PROVIDER 
WHERE MY APPLICATION IS RUNNING? 
WHAT IF I TOOK THIS APPLICATION 
AND TRIED TO MOVE IT TO ANOTHER 
CLOUD PROVIDER PERHAPS. ASSUMING 
YOU WANT TO MOVE IT TO A SERVICE 
BROKER INSTALLED, YOUR CALLS TO 
THAT SERVICE BROKER RESULTS TO THE 
CLOUD PROVIDED BROKER . THEY HAVE 
A HOSTED BROKER. THIS IS NOT AS 
SEAMLESS AS IT SOUNDS BECAUSE YOU 
MIGHT BE ABLE TO GET A MONGODB INSTANCE 
IN GOOGLE CLOUD OR ANOTHER CLOUD, 
BY THE BINNING INFORMATION MAY BE 
DIFFICULT. I WAS EXPECTING THE BINDING 
INFORMATION TO BE IN A CERTAIN STATE 
AND BE ABLE TO ROLL THAT FROM THE 
LOCAL DB TO COSMOS DB, IF I TAKE 
THIS APPLICATION TO THE GOOGLE CLOUD 
AND THEY HAVE A BINDING APPLICATION 
THAT IS SLIGHTLY DIFFERENT THEN 
I HAVE TO MAKE CHANGES. THE WAY 
PEOPLE ARE DEALING WITH THAT AS 
YOU ESSENTIALLY KREE CREATED HELM 
PACKAGE. WHAT PEOPLE ARE DOING INSIDE 
OF THE HELM PACKAGE, DEAL WITH DIFFERENCES 
IN THE CLOUD. PEOPLE ARE THINKING 
APPLICATIONS, MOVING TO AUDIO CLOUD 
PROVIDER AND DEALING WITH THE DIFFERENCES 
BETWEEN THE CLOUDS USING SOMETHING 
LIKE HELM, OR OTHER WAYS OF ACHIEVING 
THAT AS WELL. THE NOTION OF THE 
SERVICE BROKER IS SIMPLE. THERE 
ARE ONLY 3 API CALLS TO IMPLEMENT. 
YOU CAN DO ABOUT ANYTHING YOU WANT. 
IN THE KEYNOTE YESTERDAY THEY TALKED, 
ESA BEING AVAILABLE. YOU WOULD BE 
ABLE TO WRITE A BROKER, IF YOU WANTED 
TO TEST IT LOCALLY THERE. THINK 
OF PORTABILITY WHEN THE BROKERS 
ARE AVAILABLE AND HOW CAN YOU DEAL 
WITH THE DIFFERENCES, IF ANY, BETWEEN 
THEM. SO THAT BRINGS US TO THE CLOSE 
OF THIS TALK. I WANT TO BRING BACK 
THE TAG LINE, IF YOU WILL, FOR A 
MOMENT AND WE'LL HAVE TIME FOR QUESTIONS 
STILL. I WANT TO BRING UP THE TAG 
LINE. SO WE SAW THAT AKS ALLOWS 
YOU TO DECOUPLE FROM THE MAIN INFRASTRUCTURE, 
WE LOOKED AT THEMANGO FILES. IT 
IS A VERY POWERFUL WAY OF BUILDING 
THE APPLICATIONS AND THERE ARE A 
NUMBER OF TOOLING OPTIONS GROWING 
EVERY DAY. TAKE ADVANTAGE OF THAT. 
HOW DO YOU WANT TO DEAL WITH STATE 
AND MOST YOU WILL AGREE WE ARE ALL 
BUILDING STATEVILLE APPLICATIONS. 
TAKE A LOOK AT WHAT IT IS OFFERING. 
LOOK AT HOW YOU CAN COMBINE IT TO 
EXTERNAL SERVICE. WHICH CAN OFFER 
YOU MORE CAPEN'TS AND INCORPORATE 
THE SERVICES. THAT IS THE FOCUS 
ON THE TALK. AND I HAVE A FEW MINUTES 
FOR QUESTIONS. I URGE YOU TO GO 
TO THE MIC SO THAT YOUR QUESTIONS 
CAN BE RECORDED. IF YOU DON'T WANT 
TO I WILL REPEAT THE QUESTION. >> 
MY QUESTION IS WITH THE MULTI-REGION 
RIGHT, WE KNOW WHAT HAPPENED TO 
THE WINNER, WHAT HAPPENED TO THE 
LOSER AND HOW DID THE APPLICATION 
KNOW IT LOST? >> THE QUESTION IS, 
YOU SHOWED ME THE CONFLICT RESOLUTION 
HAPPENED AND SHOWED ME THE WINNER, 
BY SEEING WHICH RECORD WON, IN THIS 
CASE, COSMOSDB HAS A FULL AUDIT 
TRAIL OF EVENTS THAT TRANSPIRED 
BEHIND THE SCENES AND YOU CAN READ 
FROM LOG AND ON WHAT HAPPENED. [SPEAKER 
OFF MIC] >> SO YOU WOULD HAVE TO 
MAKE THE CALL AND FIGURE OUT WHAT 
HAPPENED. IF YOU STOP BY, I WILL 
ACTUALLY SHOW YOU THE CODE THAT 
IS DOING THAT AND WE CAN TAKE IT 
FROM THERE. ANY OTHER QUESTIONS? 
OKAY. IF NO QUESTIONS, I WILL BE 
AVAILABLE FOR A FEW MORE MIN MINUTES. 
