Best practices for Azure Service Fabric applications and clusters – BRK3345

Best practices for Azure Service Fabric applications and clusters – BRK3345


MIAMI IS ALEXANDER JOHNSON. I’M THE PROGRAM MANAGER WITHIN THE PRODUCT GROUP.>>I’M PART OF THE SERVICE FABRIC PROGRAM MANAGEMENT TEAM.>>WE’RE HERE TO TALK ABOUT SERVICE FABRIC. THE BEST PLATFORMS PROVIDE THIS CONTENT PUBLICLY. WE UNDERSTAND IT MAY BE CHALLENGING TO KEEP UP WITH ALL OF THE ACCEPTABLE CONTENT WHICH IS 1,000 PLUS PAGES OF DOCUMENTATION THAT YOU CAN FIND. WHICH WOULD INCLUDE PRODUCTION BEST PRACTICES CHECKLIST, AND PROJECT SECURITY BEST PRACTICES DOCUMENTATION WHICH I’LL BE DIVING INTO MORE DEPTH LATER ON IN THIS TALK. ONES OF THE REASONS FOR SERVICE FABRIC WE’RE GOING TO WALK THROUGH SIX DIFFERENT TOPICS, POINT OF OUGHT MAKES, SECURITY, WORKING WITH STATE, PASSING AND SCALING, MANAGEMENT AND PRELIMINARY MONITORING. WHAT WE’RE GOING TO SHOW YOU IS HOW TO MAKE YOUR LIFE EASIER BASED ON USER EXPERIENCES. DURING THE TALK WE’LL SHOW YOU BOTH EXISTING AND NEW FEATURES TO HELP YOU ACHIEVE SUCCESS.>>THERE’S A LITTLE BIT OF FEEDBACK IN THE MIC.>>THIS IS THE SHARING WE’RE GOING TO TAKE YOU ON TODAY, WALKING YOU THROUGH ALL THE ACTIVITIES YOU NEED TO TAKE TO BE SUCCESSFUL.>>SO LET’S TART STALKING ABOUT DEPLOYMENT AUTOMATION. AND WE HAVE A SLIDE ABOUT THIS. SO, WHEN WE TALK ABOUT DEPLOYMENT AUTOMATION, WE REALLY TALK ABOUT TWO THINGS. FIRST OF ALL, THE INFRASTRUCTURE CODE WE NEED TO TAKE CARE OF. MANAGING, PROVISIONING THE INFRASTRUCTURE THROUGH FILES RATHER THAN HAVING TO RUN PARTIAL COMMANDS. WE ALSO WILL SHOW YOU A LITTLE BIT ABOUT HOW TO CONTINUE APPLICATION UPDATES. SO USING A THING LIKE AZURE DEV OPPOSITE. HOW MANY OF YOU ARE RUNNING SERVICE FABRIC PRODUCTION TODAY. HOW MANY OF YOU ARE USING AZURE DEV OPS OR SIMILAR TOOL? HOW MANY OF YOU ARE USING THAT FOR YOUR CLISTER, CONFIGURATIONS, ARM DEPLOYMENTS? A FEW PEOPLE FOR APPLICATION DEPLOYMENTS. SO WE WANT TO ENCOURAGE YOU TO START GETTING INTO THE HABIT OF HAVING INTO YOUR CLUSTER CONFIGURATION RUN THROUGH A CI PIPELINE. I’M GOING TO SHOW YOU HOW AZURE DEV OPS CAN HELP YOU DO THIS AND SOME OF THE FEATURES WE BUILT INTO AZURE DEV OPS TO HELP YOU SUCCEED WITH THIS FROM AN APP POINT OF VIEW AND CLUSTER POINT OF VIEW. SO I’M IN THE AZURE DEV OPS OR FORMER KNOWN AS TEAM SERVICES AND YOU CAN SEE I CHECK IN MY CLUSTER TEMPLATE AND CLUSTER PARAMETERS INTO MY SOURCE CONTROL. IT’S VERY EASY FOR ME TO USE THESE ARM DEPLOYMENTS THROUGH THE PIPELINES THAT I CAN SET UP A FIGURE. WHEN CONFIGURING PIPELINES I HAVE THE OPPORTUNITY TO DEFINE THE ARTIFACT AND DIFFERENT TRIGGERS THAT CAN TRIGGER DEPLOYMENT. I CAN DO THIS AUTOMATICALLY OR MANUALLY. I CAN HAVE MY DEPLOYMENTS GO THROUGH THE DIFFERENT STAMGS. LET’S SAY I MIGHT HAVE A STAGING CLUSTER AND MIGHT EVEN ALSO HAVE A PRODUCTION CLUSTER, MIGHT HAVE MORE OF THESE THINGS THAT I WANT TO DEPLOY MY APPLICATION THROUGH. I GET TO DEFINE DIFFERENT GATES FOR WHEN A DEPLOYMENT SHOULD START. SO GATES ARE BASICALLY A WAY OF ADDING SOME AUTOMATED FUNCTIONALITY TO GO AND REACT EITHER TO, YOU KNOW, CHECK THE HEALTH OF THE DEPLOYMENT, OR CHECK SOME CHECK FOR CONCERN CONDITIONS THAT NEED TO BE IN PLACE BEFORE I GO AND START A DEPLOYMENT TO A CLUSTER. AND YOU CAN GO FOR REST APIs OR ANY LOGIC I WANT TO BUILD IN HERE. I CAN ALSO DO SPECIFIC APPROVALS, POINT TO GO AND APPROVE AS THINGS MOVE FORWARD. THIS IS ALL VERY GOOD, HELPFUL, AND THE PIPELINES THAT ARE BUILT OR CLUSTER CONFIGURATIONS OR EVEN APP DEPLOYMENT. CLUSTER DEPLOYMENT AND CONFIGURATION INSIDE AZURE. DURING THIS THERE’S A SIMPLE TASK IN AZURE DEV OPS WHICH IS CALLED THE DEPLOYMENT, AZURE DEPLOYMENT AND REGIONAL TOOLS DEPLOYMENT WHICH BASICALLY HOOKS YOU UP WITH AN AZURE SUBSCRIPTION FOR YOUR RESOURCE GROUP, AND TAKES IN THE DEMOCRAT PLAT FILE. SO FOR I HAVE THIS FIRST PIECE OF MY PIPELINE THAT’S GOING TO HAVE A SPECIFIC SET OF PARAMETERS THAP COULD BE THE NUMBER OF NOTES, THE SKU OF THE NOTES, SMALLER NOTES IN MY STAGING PROVIDER ENVIRONMENT WHICH JUST REDUCE SOME OF THE COST THAT I HAVE. THERE’S ALSO GOOD UP TEG RATION FOR THINGS I’VE BEEN TASKED WITH FOR MY CLUSTER AND I CAN EVEN USE A FEATURE IN DOFS SUCH AS DEFINING VARIABLES, INSIDE DEV OPS OR IN THE CASE WHERE I NEED ENTITIES AT DEPLOYMENT TIMES I CAN TYPE IN A PASSWORD AT THAT TIME IF I NEED TO HAVE INSTALLED IN OTHER SYSTEMS WITH DEV OPS. SO WE DEFINITELY ENCOURAGE YOU TO GO AHEAD AND DO THIS AND MAKE SURE YOU GET YOUR CLASSIC CONFIGURATION SET UP IN THIS WAY. THE OTHER PART OF THIS IS FROM THE APPLICATION POINT OF VIEW. SO, I JUST WANT TO QUICKLY SHOW YOU I HAVE ANOTHER — I HAVE AN APPLICATION HERE, LET ME GO OVER TO THE CLUSTER HERE, TONS OF NOTES, FUNNY WHEN YOU NEED TO DO DEMOS. GO BACK TO THE STUDIO, HAVE A SIP OF WEB API, I JUST NEED TO DO A LITTLE BIT OF CHANGE. I’M GOING TO SHOW YOU. PUSH THIS CHANGE TO COMMIT. UPDATE. I JUST NEED TO GO OVER HERE TO DO MY SYNC. NOW THAT I PUSH MY UPDATE FROM MY LOCAL REPO AND OUT INTO DEV OPS WE’LL SOON SEE THE BUILD KICKOFF HERE. AS PART OF AZURE DEV OPS WE CREATED A SET OF TASK SPECIFICALLY FOR SERVICE FABRIC. IF YOU NEED TO GO AND BUILD SERVICE FABRIC APPLICATIONS IN DEV OPS THERE’S A BUILD TEMPLATE. LET ME GO BACK ONE. I CAN DO NEW AND SHOW YOU HOW IT LOOKS. SO IF I WANTED TO SET UP A NEW BUILD PIPELINE AT THIS POINT ON MY REPO, AND YOU CAN SEE WE HAVE THE AZURE SERVICE FABRIC APPLICATION WHICH IS BASICALLY A COMBINATION OF TASKS THAT’S PREDEFINED AND CONFIGURED IN A WAY TO DEPLOY THE SERVICE FABRIC APPLICATION. A FEW THINGS I WANT TO PULL OUT IN HERE. SOME SOLUTION BUILD — WHERE WE GO AHEAD AND PACKAGE THE APPLICATION PACKAGES IN THE POWER BUILD PROCESS. WHAT WE’RE ALSO DOING IS WE HAVE THIS SPECIFIC TASK TO HELP THE CONTROLLED VERSIONING OF THE APPLICATION. SO AS YOU’RE ALL WELL AWARE OF, THOSE OF YOU WHO USE SERVICE FABRIC TODAY WHENEVER YOU PULL AN APPLICATION, YOU’RE USING EVERY COMPONENT IN THERE AND IT GIVES YOU THE CREDIBILITY TO INDEPENDENT UPDATE EVEN CODE AND CONFIGURE THE INDIVIDUAL SERVICE PACKAGES. WHAT THIS TASK IS DOING INSIDE VSTS IS ESPECIALLY GO AND COMPARING THE BUILD THAT’S JUST BEEN RUN WITH A PREVIOUS BUILD AND AUTOMATICALLY UPDATING THE VERSION OF THE INDIVIDUAL ELEMENTS WITHIN THE CODE PACKAGE THAT CHANGED. SO LET’S SAY THE CHANGE THAT I JUST DID, I CHANGED A SINGLE FILE INSIDE MY WEB API NOW I ACTUALLY GO AND FIGURE OUT THAT THAT CODE PACKAGE SPECIFICALLY WAS CHANGED, OR WEB DIVISION OF MY CODE PACKAGE, IT WILL LEAVE THE SAME VERSION AS IT WAS BEFORE, SO WHEN IT GOES TO DEPLOYMENT IN THE CLUSTER ONLY THAT CODE PACKAGE IS THE ONE THAT’S GOING TO GET UPDATED. NICE FEATURES THAT ARE ALREADY THERE. WE DO HAVE SIMILAR INTEGRATION WITH AN OPTICAL DEPLOY CONFIGURATION. SO WITH THIS SPECIFIC DEPLOYMENT PIPELINE FOR MY APPLICATION THIS IS THE DEPLOYMENT PIPELINE FOR PLY APPLICATION, I JUST WANT TO CALL OUT THIS ONE THING. AGAIN WE HAVE TASKS TO GO AHEAD AND DEPLOY THE APPLICATION. WE HELP YOU SET UP CLUSTER CONFIGURATION. YOU CAN DEFINE, USE THE CONCEPTS OF PUBLISHED PROFILES AND PARAMETERS. YOU CAN OVERRIDE THEM IN THE PIPELINE AND YOU CAN CONFIGURE INDIVIDUAL UPGRADE SETTINGS FOR THE DIFFERENT PIPELINES THAT YOU HAVE. LIKE FOR INSTANCE, THINGS NEED TO GO A LITTLE BIT FAST, I’M JUST DOING MONITOR AND ALWAYS DO MONITOR IN PRODUCTION. THIS IS JUST A DEMO. BUT YOU GET TO CONDITION FIGURE YOUR UPGRADE SETTINGS AND EVERYTHING DIRECTLY INSIDE THE PIPELINE. THERE’S FULL SUPPORT FOR THESE. WE ALSO HAVE THIS TASK FOR RUNNING POWER SHELL SCRIPTS SO MANY COMMANDS YOU WANT TO RUN AGAINST YOUR CLUSTER. WHAT’S VERY CONVENIENT IS WE MAKE SURE TO SET UP THE CLUSTER CONNECTIVITY TO GET A POWER SHELL — NOT A POWER POINT. A POWER SHELL SESSION. THAT IS ALREADY AUTHENTICATED AGAINST YOUR CLUSTER MANAGEMENT ENDPOINT AND YOU CAN RUN THE SCRIPTS YOU WANT. THE REASON WHY I’M DOING IT IN THIS DEPLOYMENT IS BECAUSE I WANT TO DRAW ATTENTION TO ANOTHER — WE REALLY WANT TO TELL YOU GUYS ABOUT, YOU SEE MY APPLICATION MANAGEMENT HERE, I’M ACTUALLY NOT USING DEFAULT SERVICES. YOU SEE TYPICALLY WITH INSIDE STUDIO WHEN WE CREATE A KNEW SERVICE FABRIC APPLICATION YOU GET DEFAULT SERVICES. THEY’RE VERY CONVENIENT. BUT IT’S EASY TO START UP YOUR SERVICES AND START DEBUGGING. THE PROBLEM WITH USING DEFAULT SERVICES THAT WE SEE SOME CUSTOMERS RUN INTO SORT OF DOWN THE ROAD IS THAT YOU START MIXING THE CONCEPT OF APPLICATION MANAGEMENT IS A TYPE. WHEN YOU GO AND REGISTER THE APPLICATION MANAGEMENT SIDE YOU REGISTER AN APPLICATION TYPE. YOU CAN CREATE MULTIPLE INSTANCES OF THOSE. THE SAME WAY ONCE YOU HAVE THE APPLICATION UP AND RUNNING THE SERVICE TYPES YOU DEFINE YOU CAN CREATE ONE OR MORE INSTANCES OF THOSE. NOW WHEN YOU GO IN TO CLEAR THE SERVICES SIDE THE APPLICATION MANAGEMENT YOU ACTUALLY SPECIFY THAT FIXED SET OF INSTANCE CONFIGURATIONS YOU WANT TO RUN WITH. YOU MIX THIS TYPE AND CONCEPT WE HAVE IN SERVICE FABRIC AND THERE ARE THINGS YOU CAN DO ONCE YOU HAVE THE SERVICES UP AND RUNNING THERE ARE SETTINGS YOU CANNOT CHANGE AND PARAMETERS YOU CANNOT CHANGE. LIKE YOU CAN’T CHANGE THE INSTANCE NUMBER. OF THE APPLICATION. YOU CAN’T CHANGE TAT TO AN UPGRADE. THAT WOULD BASICALLY FAIL. SO THERE IS A WAY FOR YOU TO ENABLE DEFAULT SERVICE UPGRADE BUT IT’S A DANGEROUS PATH BECAUSE YOU CAN END UP DELETING SERVICE SO WHAT WE WANT YOU TO DO IS SEE IF YOU CAN GET OUT OF THE HABIT OF USING DEFAULT SERVICE, THOSE OF YOU THAT DO THAT. SO TWO THINGS YOU THEN WANT TO DO, ONCE YOU GET THIS APPLICATION UP AND RUNNING AND THAT’S WHAT I HAVE OVER HERE IN MY PIPELINE IS I RUN A SIMPLE SCRIPT TO BASICALLY CHECK WHETHER THE SERVICE IS UP AND RUNNING OR NOT. IF IT’S UP AND RUNNING I UPDATE THE SERVICE. I GO AND UPDATE THE SERVICE AND YOU CAN SEE ALL THE PARAMETERS AND THINGS THEY WANT TO RUN WITH. 34R TELLING ME I NEED TO DO. OKAY, LET ME TRY AND ZOOM THIS. THERE YOU GO. YOU CAN SEE THAT I’M RUNNING, CREATING A NEW SERVICE, THE SERVICE IS NOT UP AND RUNNING. IT REALLY GIVES ME FULL FLEXIBILITY, I CAN CHANGE THE CONFIGURATION OF MY INSTANCES, GOING BACK TO — LET ME CALL OUT THE LAST THING. I JUST TALKED ABOUT RELYING ON DEFAULT SERVICES FOR DEBUGGING. THERE IS A THING WHICH I THINK IS STILL AN UNDOCUMENTED FEATURE AND WE NEED TO FIX THAT. IN THE SCRIPT YOU CAN SET UP A START SCRIPT — START SERVICES SCRIPT AND THE STUDIO WOULD PICK THAT UP FOR THE DEBUGGING SCENARIO. THERE’S A WAY TO SOLVE THAT FOR YOU. WE SHOULD SEE NOW THAT MY APPLICATION IS DEPLOYED. I HAVE MY APP UP AND RUNNING AND HAVE THE SERVICE CREATED AND ALL THE CONFIGURATIONS THAT I DEFINE FOR MY SERVICE. LET’S SWITCH BACK TO THE PRESENTATION. SO, YOU KNOW, GET ALL THIS AUTOMATION UP AND RUNNING. THERE’S A LOT OF STUFF THAT’S OUT THERE IN AZURE DEV OPS SPECIFICALLY THAT SERVICE TO HELP MAKE THIS REALLY EASY. MAKE SURE THAT ALL THESE REPEATABLE TASKS JUST BECOME VERY EASY PROPAGATING CHANGES THROUGH STAGES AND APPLICATION DEPLOYMENT AND UPGRADE AS WELL IS GOING TO BE A BREEZE.>>MY FAVORITE TOPIC. SECURITY. THE NEXT TOPIC WE WANT TO GET INTO IS SECURITY. SPECIFICALLY THREE THINGS I WANT YOU TO TAKE AWAY FROM THIS TALK IS HOW TO MAKE CERTIFICATE ROLLOVER BY USING COMMON NAME, USE AD FOR CLIENT AUTHENTICATION AND DO NOT USE CERTIFICATES IN PRODUCTION. USING CERTIFICATE THUMB PRINTS, AND PREVENTS YOU FROM AUTO GENERATING YOUR CERTIFICATE BECAUSE YOU CANNOT — YOU CANNOT IDENTIFY MULTIPLE CERTIFICATES CAN THOSE PROPERTIES. THEY’RE UNIQUELY DEPENDENT TO THAT CERTIFICATE. WHICH MEANS EVERY TIME YOU NEED TO CHANGE OR ROLL THEM OVER YOU INCREASE THE RELIABILITY OF YOUR SERVICE. SO, BEFORE WE GO FURTHER INTO THIS I WANT TO TALK ABOUT THE SECURITY SCENARIOS. INSERVICE FABRIC IS NODE-TO-NODE COMMUNICATION, CLIENT COMMUNICATION, APPLICATION COMMUNICATION, AS WELL AS FACTOR CONTROL. SO NODE-TO-NODE COMMUNICATION IS THE SYSTEM PROCESSES ON ONE MACHINE COMMUNICATING TO ANOTHER MACHINE. CLIENT-TO-NODE COMMUNICATION IS A SERVICE USER COMMUNICATING TO A PROCESSOR. AN APPLICATION COMMUNICATION IS YOUR SERVICE SPECIFIC COMMUNICATION, YOUR IMPLEMENTATION SPECIFIC COMMUNICATION. AND ROLLBACK CONTROL IS THE LIMITING OF ACCESS TO ENDPOINTS TO A PARTICULAR GROUP OF USERS. AND IN SERVICE FABRIC THERE ARE TWO TYPES OF RULES, ADMINS AND USERS. ADMIN HAVE READ/WRITE CAPABILITIES. USERS ONLY HAVE READ CAPABILITIES. SO A BEST PRACTICE FOR SECURING THIS COMMUNICATION IS TO USE CERTIFICATES. IN SERVICE FABRIC THERE’S ONLY FOUR TYPE OF CERTIFICATES. SERVICE CERTIFICATES, PUBLIC CERTIFICATES, CLIENT CERTIFICATES, AND YOUR APPLICATION CERTIFICATES. A SERVICE CERTIFICATE IS USED TO SECURE THE MANAGEMENT ENDPOINTS. A CONSOLE CERTIFICATE IS USED TO SECURE ENCREPTED BETWEEN NOTES. THE CLIENT CERTIFICATE IS USED TO IDENTIFY THE USER TO THE ENDPOINT. MOST COMMONLY, USED TO CONNECT A FABRIC EXPLORER. AGAIN, THE BEST PRACTICE HERE FOR CLIENT CERTIFICATES IS TO ACTUALLY NOT USE THEM AND ELIMINATE THAT AND USE AZURE ACTIVE DIRECTORY. ALL THESE CERTIFICATES CAN BE IDENTIFIED BY THE THUMB PRINT. BUT IF YOU IDENTIFY THEM BY THE THUMB PRINT YOU MUST UPDATE THEM INCREASING THE RISK OF RELIABILITY FOR YOUR SERVER. A BETTER PRACTICE IS TO USE A CERTIFICATE AUTHORITY ISSUE OR THUMB PRINT IN ITS COMMON NAME WITH THAT CERTIFICATE. THIS ALLOWS A SECURE IDENTIFICATION OF MULTIPLE CERTIFICATES, AS LONG AS THEY’RE NOT EXPIRED. WHICH MEANS WE CAN AUTO ROTATE THEM TO A DISCOVERED MECHANISM. AGAIN, IF ALL OF THE AFOREMENTIONED CERTIFICATES THE ONLY ONE TODAY THAT YOU CANNOT IS YOUR APPLICATION CERTIFICATES. YOU ARE BOUND TO A THUMB PRINT FOR TODAY. SO AGAIN THE KEY TAKEAWAY ON THIS PORTION OF THE TALK IS YOU SHOULD BE USING COMMON NAMES OR ISSUE THUMB PRINT TO AUTO ROTATE YOUR CERTIFICATES YOU’RE ELIMINATING THE REPETITIVE TASK OF UPDATING THE THUMB PRINT IN YOUR MANIFEST. AND YOU CAN AUTOMATE IT. THE OTHER THING IS, YOU KNOW, USING AD ELIMINATES THAT CERTIFICATE AT ALL FOR CLIENT IDENTITY. AND NOT USING SELF-SIGNED CERTIFICATES IN PRODUCTION ALLOWS YOU TO DO COMMON NAME, THUMB PRINT AND SUPPORT AUTO ROTATION. SO THE MAIN POINT OF HOW THIS ALL WORKED, HOW IT CAME TOGETHER, IS THAT WE HAD TO IMPLEMENT SOME CHANGES TO THE PLATFORM TO NOW USE THE CERTIFICATE THAT EXPIRES FURTHER IN THE FUTURE, THAT WE CAN PICK UP THAT CERTIFICATE AND USE IT FOR YOUR CLUSTER OR YOUR CLIENT, ANY OF THE SYSTEM SERVICES CERTIFICATES. HOWEVER, THE COMPLETE END-TO-END SECRET CERTIFICATES REQUIRED COMPLEMENTARY SERVICE. WHEN THE CERTIFICATE OR WHEN A KEY BOT CERTIFICATE IS CREATED YOU CREATE IT WITH A POLICY. THIS POLICY WAS IN PEOPLE ON HOW TO CREATE THE CURRENT VERSION AND THE NEXT VERSION OF YOUR CERTIFICATE. A CERTIFICATE POLICY THAT YOU CREATE FOR KEYBOL CONTAINS SIX TYPES OF PROPERTIES. X 509 PROPERTIES, KEY PROPERTIES, SECRET PROPERTIES, LIFETIME ACCESS, ISSUER, AND POLICY ATTRIBUTES. UP HERE ON THE SCREEN I HAVE A KEY PORTAL, HERE THE CERTIFICATES ARE BEING USED BY A CLUSTER TODAY. WHEN I GO TO THIS WORK FLOW TO CREATE THE CERTIFICATE A POLICY WAS CREATED. THERE’S ONLY ONE POLICY FOR EVERY KEY BOLT. SPECIFICALLY I NEED TO DROP DOWN AND SELECT WHICH D.A. I’M GOING TO BE USING AND I NEED TO I ALSO NEED TO PROVIDE A COMMON NAME. IT SHOULD BE THE NAME OF LIKE YOUR CLUSTER. LIKE SO. WITH THAT TYPE OF CERTIFICATE EMPLOYED NOW, I CAN AUTO ROTATE THAT CERTIFICATE FOR YOU. OF COURSE, SETTING UP RULES MEANS THAT THE NEXT TIME THE CERTIFICATE IS FIRED KEY VAULT WILL GENERATE THE NEXT ONE AND SEND THAT CSR AND THE CERTIFICATE IN KEY VAULT FOR YOU AND THAT CAN BE DEPLOYED ON YOUR NODE AND AUTO ROTATED. THAT YOU HAVEN’T CHANGED ANYTHING IN YOUR APPLICATION. SO WHY DO YOU WANT TO DO THIS? OF COURSE, THIS NOW ENABLES YOU TO SUPPORT BEST PRACTICES OF CHANGING YOUR CERTIFICATE FREQUENTLY. BUT MORE IMPORTANTLY, AS OF MARCH 2018, VENDORS OF BROWSERS AND CERTIFICATE AUTHORITIES GOT TOGETHER AND VOTED TO CHANGE THE DURATION, MAX DURATION OF CERTIFICATES FROM THREE YEARS DOWN TO TWO YEARS. THIS TREND OF MAKING IT MORE AND MORE FREQUENT IS GOING TO CONTINUE. ADDING MORE AND MORE RISK TO THOSE WHO ARE NOT USING COMMON NAME AND ISSUE A THUMB PRINT BECAUSE YOU’LL HAVE TO CHANGE THEM MORE FREQUENTLY. SO NOW I PAST IT ON TO WORKING WITH STATE.>>LET’S TALK ABOUT WORKING WITH STATE. HOW MANY OF YOU ARE USING — COLLECTIONS IN SERVICE FABRIC DATA. SOME OF YOU. HOW MANY OF YOU ARE DOING RELIABLE COLLECTIONS? ARE YOU DOING BAG OPS COLLECTIONS? THAT’S GOOD. ON YOUR BEHALF, THANK YOU. SO, YOU KNOW, DATA STORED INSIDE THE CLUSTER. WE KNOW WE HAVE THE WORLD’S MOST RIVAL SERVICE FABRIC, SOMETIMES THERE ARE TOO FEW NOTES, CLUSTERS AREN’T BIG ENOUGH OR THERE’S A THUNDERSTORM IN ITSELF. THERE IS DATA INSIDE THIS CLUSTER, RIGHT? THERE’S DATA ON THESE MACHINES. YOU NEED TO BACK IT UP UNLESS YOU HAVE TO MAKE IT MORE LIKE A TEMPORARY DATA STORE SJ. BACK UP YOU BASICALLY HAVE TO IMPLEMENT IT YOURSELF. YOU HAVE TO IMPLEMENT THINGS LOOKING INTO EVENTS WHEN THE REPLICA KNOW THAT THEY’RE IN DATA LOSS SITUATIONS FOR THEM TO PICK UP A RESOURCE. WHAT WE BUILT IS A BACKUP AND RESOURCE SERVICE FOR AUTOMATION. IT’S BEEN IN PREVIEW FOR AWHILE NOW. WE’RE GOING TO GO TO GAs, I JUST WANT TO SHOW YOU HOW YOU CAN USE THE BACKUP AND RESTORE SERVICE AND HOW THAT WORKS. AND HOW IT REALLY MAKES IT EASY FOR YOU TO START DOING THOSE BACKUPS OF YOUR COLLECTIONS. SOME LET ME GO BACK IN TO USING — OKAY. SO HERE’S ANOTHER SERVICE FABRIC CLUSTER. YOU CAN SEE I HAVE A FEW APPLICATIONS, AND WEB APPLICATIONS. DEMO APPLICATION CONSISTS OF A BUNCH OF DIFFERENT KIND OF SERVICES. I HAVE STAPLE SERVICES IN HERE, YOU CAN’T SEE THAT BUT BELIEVE ME JUST BASED ON THE NAME HERE, THE ACCESS AS WELL, ACCESS — SO FOR THE PURPOSE OF THIS — OH, THE OTHER THING I WANT TO SHOW YOU IS THAT BY USING THE ENABLING THE ADD-ON FEATURE OF BACKUP JUST ENABLING BACKUP RESOURCE SERVICE WE ACTUALLY GO AND RESTORE THE BACKUP SERVICES CLUSTER. THIS IS WHERE IT ALL BECOMES INTERESTING. SO YOU DON’T — APART FROM JUST EBB ABLING THE SERVICE YOU DON’T HAVE TO DO ANY CONFIGURE USE YOU JUST HAVE THE INFRASTRUCTURE PIECES IN PLACE SO YOU CAN START DOING YOUR BACKUP. HOW WE’RE GOING TO DO THE BACKUP? I’M GLAD YOU ASKED. LET ME SHOW YOU. SO FOR THIS I’M JUST GOING TO USE — YOU ONLY HAVE THE RISK API WE’LL PROVIDE POWER SHELL COMMANDERS FOR YOUR CONVENIENCE AT A LATER POINT IN TIME. BUT BASICALLY THE WAY THAT THIS WORKS IS YOU HAVE A CONCEPT OF BACKUP POLICIES. SO WHAT I’M GOING TO DO TO BEGIN WITH I’M BASICALLY GOING TO CALL IN TO MY MANAGEMENT END POINT, CALL THE BACKUP RESOURCE SERVICE AND I’M GOING TO GET THE BACKUP POLICIES THERE. AND YOU CAN SEE THERE’S A FEW BACKUP POLICIES. JUST TAKE WHAT THOSE ARE. THERE ARE CONCEPTS IN HERE LIKE BEING ABLE TO DO AUTO RESTORE AND DATA LOSS IN THE EVENT YOUR ROUTED COLLECTIONS WILL GET IF THEY GO OUT OF FORM, THE DATA LOSS WILL BE ERASED AND IT’S UP TO YOU TO GO AND IMPLEMENT A WAY OF TRIGGERING THE RESTORE WHEN THESE EVENTS HAPPEN. IF YOU ENABLE THE AUTO RESTORE YOU DON’T HAVE TO DO ANYTHING. YOU CAN RUN THE CODE YOU HAVE TODAY AND STILL GET THE BENEFITS OF DOING RESTORES. YOU CAN CONFIGURE THINGS AROUND THE BACKUP. A NUMBER OF INCREMENTAL BACKUPS YOU WANT TO KEEP. IF IT’S FREQUENCY BASED. TRIGGER BASED BACKUP. HOW OFTEN IT’S GOING TO DO BACKUPS. IN THIS CASE EVERY 15 MINUTES. BACKUPS ARE BEING RESTORED, YOU CAN COULD AZURE PLOK STORAGE, PROBABLY EVEN DO BLOCK STORAGE FROM ON-PREM IF YOU WOULD LIKE TO. WE ALSO SUPPORT JUST REGULAR FILE SHARE AND FINALLY THERE’S SOME RETENTION POLICY YOU CAN ADD TO THAT. SO YOU CAN DEPLOY DESCRIBE ONE OR MORE BACKUP POLICIES AND WHAT YOU NEED TO DO NEXT IS SIGN THE BACKUPS POLICY IN TO THE THINGS YOU WANT TO BACKUP. ASSIGN BACKUP POLICIES FOR APPLICATIONS, FOR INDIVIDUAL SERVICES AND EVEN TO INDIVIDUAL PETITIONS. SO IT CAN BECOME VERY PACEIC BUT IT CAN ALSO BECOME VERY EASY. IF YOU DESIGN A BACKUP POLICY AND ATTACH IT TO THE APPLICATION LEVEL. YOU CAN DO — I GUESS WE COULD CALL IT. SO WHAT I’M GOING TO DO JUST GOING TO GO AND GET THE BACKUP POLICIES OF THE BACKUP CONFIGURATIONS ASSIGNED TO MY SPECIFIC APPLICATION. I’M GOING TO CALL INTO THE WEB APPLICATIONS WE HAVE AND LOOK AT THE BACKUP POLICY ALREADY CONFIGURED. THERE’S A BACKUP POLICY CONFIGURED. IT’S INHERITED FROM APPLICATIONS, IT’S AN APPLICATION. SO WE CAN ALSO GO AHEAD AND SEE THE KIND OF BACKUP THAT WE ALREADY HAVE FROM THE APPLICATION. YOU CAN SEE THERE’S A LONG LIST TAKEN, YOU HAVE A BACKUP I.D. SERVICES BACKUP LOCATION ON FILE AND ALL THIS GOODNESS. SO LET’S GO OVER TO THE WEB REFERENCE APPLICATION. THIS IS THE FUN PART OF THE DEMO. SO THIS APPLICATION I ACTUALLY JUST HAVE THIS ONE PETITION THAT I’VE DONE BACKUP ON. SO THERE’S ONE PETITION IN HERE WE’VE DONE A BACKUP WITH THAT. WE CAN EVEN GO OVER AND SEE THE APPLICATION ITSELF. SO THIS IS BASICALLY AN APPLICATION, I THINK IT’S AN INVENTORY. NO NUMBERS IN HERE? FINE TO RESET THOSE. ALL THE DATA THAT IS USED ACTUALLY STORED INSIDE THE COLLECTION SERVICE THAT I JUST SHOWED YOU, AND THERE WAS A FEATURE CALLED CORRUPT DATA IN THIS APPLICATION. LET’S TRY THIS OUT AND SEE IF IT WORKS. LET ME CORRUPT THE DATA. I’M PRETTY SURE I’LL GO BACK — OH, EVERYTHING IS GONE. OH, NO. I’M GLAD WE HAD A BACKUP. OKAY SO LET’S GO BACK AND LOOK AT THE PETITION BACKUP LIST. GO THAT PETITION THAT I WANT TO RESTORE. YOU SEE THE PETITION UP HERE. SEND THIS ONE OVER AND I’M GOING TO GO TAKE THE BACKUP UPON RESTORE. SO, I CAN GO DOWN THE LIST, AND I SHOULD HAVE THE LATEST BACKUP DOWN HERE, AND BENEATH THE BACKUP LOCATION. HERE’S W IT’S ALL GOING TO BE INTERESTING. SO GO TO THE RESTORE PETITION. LET ME PUT IN THE I.D. THEN WE GO BACK TO PETITION THIS, AND I’M GOING TO GET THE BACKUP LOCATION. I CAN GO IN, ADD THAT IN HERE AND I’M GOING TO — LET’S SEE BASICALLY PUT IN THE BACK APPLICATION. I’M GOING TO POST THAT BACK TO START THE RESTORE. I CAN GET THE PROGRESS. YOU CAN SEE RIGHT NOW IT’S ACCEPTED. HASN’T STARTED RUNNING YET. GO BACK. THE RESTORE IS NOW IN PROGRESS. WHAT’S HAPPENING NOW IS THE RESOURCE SERVICE IS GOING OFF TO THE FILE LOCATION IN STORAGE, AND RESTORE MY PETITION. WE HAVE SUCCESS. LET’S SEE THE WEB APP. WE HAVE ALL THE DATA BACK. IS IT GOOD? YEP. [APPLAUSE] SO NOW THIS CHANGES TO YOUR SERVICES OR THE ACCESS USING THE BACKUP RESOURCE SERVICE YOU HAVE THIS COOL BACKUP RESTORE THING THAT YOU CAN WORK WITH, YOU CAN RECOVER FROM UNINTENTIONAL OR INTENTIONAL DATA LOSS CORRUPTIONS LIKE WE DID HERE.>>SO CAPACITY AND SCALING.>>YES. SO ONE THING I WANT TO TALK ABOUT IS A KNOWN NUMBER OF INFRASTRUCTURE VIRTUAL MASH S THAT YOU IMMEDIATE TO HAVE. IT CAN BECOME A CONFUSING TOPIC IN SERVICE FABRIC. IN PRODUCTION YOU NEED TO HAVE FIVE MACHINES MINIMUM. AND YOU CAN SCALE YOUR APPLICATION, BECAUSE MOST DYNAMIC CLOUD SERVICES, YOU CAN SCALE UP AND DOWN. AND YOU CAN DO THAT IN A — WAY. WHY YOU ASK FIVE AND NOT THREE? SERVICE FABRIC APPLICATION NEED TO BE DEPLOYED ACROSS UPGRADE DOMAINS, ISOLATED UP ITS, RACKS AND HARDWARE AND POWER SUPPLIES TO ENSURE THAT IF ONE OF THE THINGS WERE TO FAIL IT DOESN’T COST YOUR CLUSTER. AND THIS ALLOWS YOU TO HAVE A SUPPORT QUORUM, AND THAT MEANS YOU HAVE TO HAVE A MAJORITY AVAILABLE. AND N DIVIDED BY 2 PLUS 5 WHICH MINIMALLY YOU HAVE TO HAVE 5. SO IN PRODUCTION OF APPLICATION YOU NEED TO HAVE FIVE MASH S AND YOU CAN SCALE YOUR APPLICATION PROGRAMICALLY OR MANUALLY BY ADDING A VM TO A SCALE SET. NOW THIS IS REALLY USING A COMPUTE SDK AND INSERVICE CALLS CAN CALL THOSE METHODS TO SCALE UP. YOU CAN ALSO SCALE BY ADDING A VIRTUAL SCALE TO YOUR CLUSTER. AT A CERTAIN SIZE YOU SHOULD HAVE MULTIPLE SCALES THAT TYPE. SO THAT WAY EACH ONE CAN BE PROFILED DOWN TO A PARTICULAR TYPE OF MACHINE SET. A SCALE SET IS A SKU, IT HAS A CERTAIN PORT OPEN. THESE THINGS COULD BE SPECIFIC TO WORKLOAD TYPES. WHEN YOU HAVE A CERTAIN AMOUNT OF TIME. ANOTHER THING TO BE AWARE OF FOR APPLICATIONS, SOMETIMES RUNS INTO CONFUSION, YOU CAN HAVE A SCALE, A FABRIC APPLICATION WE NEED TO PAY ATTENTION TO FAULT DOMAINS AND UPGRADE DOMAINS. IN PRACTICAL TERMS IT MEANS YOU REALLY CAN GO TO 100 VM FIRST SCALE SET FOR APPLICATIONS AND ADD MORE SCALE SETS TO MEET YOUR DEMAND. THE KEY TAKEAWAY HERE IS THAT YOU CAN SCALE YOUR INFRASTRUCTURE PROGRAMICALLY AND MANUALLY. DO AN ARM CLICK, CHANGE THE AMOUNT OF INSTANCES YOU NEED, YOU CAN USE POWER SHELL, YOU CAN CHANGE A TEMPLATE. THIS WILL RESULT IN MORE SHOWING UP. YOU CAN ALSO CHANGE AND SCALE BY ADDING MORE SCALE. NOW WHY WOULD WE DO THIS? AGAIN, MACHINES AND DEMAND ARE GOING TO BE DYNAMIC, AND YOU WANT TO BE EFFICIENT WITH THE RESOURCES THAT YOU HAVE. THE DRIVE OPTIMIZES THE VALUE. WHEN YOU DO A SPINUP OR SCALE OUT SOME OTHER KEY KNOWS THAT YOU WANT YOU TO TAKE AWAY FROM THIS IS IT’S NOT THE FIVE QUERY PER SECOND SCALING RESPONSE TIME YOU NEED TO PASS LEAD TIME FOR THE SCALING TO BE AVAILABLE TO YOU. THERE’S PHYSICS INVOLVED, THE POWER OF THE MACHINE HAS TO PUSH ON, NEEDS TO BE AVAILABLE. MORE THAN THAT WE HAVE TO WALK THIS CHANGE, JOINING THAT MACHINE FOR THE FEDERATION RING, STARTING UP YOUR SERVICE. SO WHEN YOU’RE DOING CAPACITY PLANNING, ACCORDINGLY, HAVING THE EXPECTATIONS SET ACCORDINGLY. SO NOW GO AHEAD WE’RE GOING TO TALK ABOUT SERVICE SCALING.>>YEAH.>>WHICH IS SOMETHING WE CAN GET INTO.>>NOW THAT I’M ADDING A FEW MORE VMs TO OUR SERVICE FABRIC CLUSTER WE CAN ALSO, YOU KNOW, WORK WITH THE RESOURCES WITH INSIDE THE CLUSTER. THERE ARE TWO THINGS WE WANT TO CALL ATTENTION TO. FIRST IS THE WAY THAT YOU CAN GOVERN RESOURCES, THE SERVICES CONTAINER PROCESSES THAT YOU RUN. THE RESOURCES THAT THEY ACTUALLY CAN CONSUME. AND ALSO, HOW YOU CAN USE ALL THE SCALING POLICIES AND CUSTOM METRICS TO BUILD YOUR OWN SYSTEM IN TERMS OF HOW YOU DEFINE LOAD AND HOW YOU WANT TO REACT TO THOSE THINGS. SO, RESOURCE GOVERNANCE IS A NEW FEATURE IN SERVICE FABRIC BUT IT BASICALLY ALLOWS YOU TO SPECIFY THE NUMBER OF MEMORY YOU WANT TO RESERVE AND SORT OF FEED THAT AS AN INQUIRY INTO THE WHOLE CLUSTER OF BALANCES THAT THE WE USE. WE MAKE SURE THAT WE ONLY PLACE — CONTAINERS ON NODES THAT HAVE CAPABILITIES — CAPACITY TO RUN THEM. SO RESOURCE GOVERNANCE IS ONE THING. THE OTHER THUNG I WANT TO SHOW YOU NOW IS ALL THE SCALING POLICIES. WHICH I THINK IS AN EVEN NEWER FEATURE IN SERVICE FABRIC. SO GOING BACK TO THE APPLICATION THAT I DEPLOYED TO BEGIN WITH THE SCALABLE WEBB API. LET’S TRY AND WORK WITH THAT AND SEE HOW WE IMPLEMENTED SOME OF THE CUSTOM LOAD METRICS IN THAT AND HOW WE IMPLEMENT ALL THE SCALING POLICIES. SO WHAT I’VE DONE INSIDE THIS FAIRY SIMPLE WEB API, AND THIS IS WHAT YOU CAN DO IN ANY STAPLE SERVICE YOU CAN USE THE RIVAL SERVICES APIs AND REPORT THE LOAD FROM WITHIN YOUR CODE YOURSELF. SO IF YOU DON’T WANT TO RELY ON YOU WANT TO HAVE OTHER METRICS TO DEFINE LOAD SUCH AS THE NUMBER OF SESSIONS THAT YOU’RE CURRENTLY SERVING FROM WITHIN YOUR SERVICE. NUMBER OF FUTURES YOUR CONNECTED TO, NUMBER OF QUEUES, YOU CAN CREATE THESE LOAD METRICS THAT NAME AND RECALL ON YOURSELF. SO PART OF MY SERVICE DEFINITION OVER HERE WAS TO SET UP A LOAD METRIC THAT I FOR CONVENIENCE CALLED LOAD AND THEN WHEN INSIDE MY CONTROL I COULD GO AND REPORT THAT LOAD. SO GOING BACK TO MY APPLICATION. SO WHAT I HAVE HERE IS I HAVE A AUTO SCALING POLICY SET UP ON THE SERVICE INSTANCE. FOR THIS SERVICE INSTANCE — ALL THE SCALING POLICY MADE UP TWO THINGS. TRIGGERS AND MECHANISMS. TRIGGERS ARE BASICALLY THE ONES THAT ARE GOING TO MONITOR THE LOAD. AND AGAIN COULD BE CPU MEMORY. IN THIS CASE I’M MONITORING MY METRIC THAT I CALLED LOAD SO BASICALLY THE NUMBER OF INSTANCES I HAVE, EACH OF THEM REPORTS THE LOAD THE AVERAGE IS GOING TO BE THE BASE OF MY THRESHOLD. I HAVE A LOWER AND UPPER THRESHOLD. AND I HAVE A SCALE THAT MEANS HOW OFTEN SHOULD SERVICE FABRIC CHECK AND SCALING UP THE APPLICATION. YOU PROBABLY DON’T WANT TO DO TEN THINGS. AGAIN, THIS IS GOOD FOR A DEMO. PROBABLY NOT GOOD FOR A REAL WORLD SCENARIO. THE OTHER PART OF SETTING UP THE AUTO SCANNING POLICY IS THE PETITION INSTANCE COUNT WHICH MEANS THAT ONCE I MEET MY THRESHOLD I’M GOING TO ADD MORE INSTANCES TO THE SERVICE. AND I CAN EITHER HAVE ONE OR TWO RUNNING, I HAVE A SCALE IMCREPT OF ONE. ALL OF THESE ARE THINGS YOU CAN CONFIGURE. IF YOU LOOK AT THIS, WE CAN SEE JUST ONE INSTANCE RUNNING RIGHT NOW. WE’RE RUNNING WITH A LOAD OF ZERO. I THINK WE SHOULD BE ABLE TO SEE THAT. SO THIS INSTANCE HASN’T REPORTED ANY LOAD MEANING THAT IT’S RUNNING WITH A LOAD OF ZERO. WE CAN ACTUALLY USE THE METRICS VIEW UP HERE IF WE GO FAR ENOUGH TO THE RIGHT. YOU CAN SEE HOW MY LOAD METRIC THAT I PUT IN, AND THERE’S NODE OPEN. SO LET ME DO THIS. SO FOR CONVENIENCE MY WEB API IMPLEMENTED THIS METHOD THAT I CAN JUST CALL WHICH ACTUALLY ENABLES ME TO SET THE LOAD. YOU CAN SEE I JUST GOT THE LOAD FROM THIS GUY AND THERE’S ONE INSTANCE IN THE PETITION GO TO ZERO. LET ME CALL MY WEB API AND ADD A LITTLE BIT OF NOTE. SEND THIS OVER TO MY API. KIND OF RESPOND BACK. I CAN EVEN GO AND ASK IT. SO WE CAN SEE THE PETITION LOAD IS 5. YOU CAN SEE IN THE METRIC VIEW IN THIS SPECIFIC NODE THE METRIC LOAD 5, AND I CAN ALSO SEE THIS DOWN ON THIS SPECIFIC INSTANCE. THE TRIGGER WAS TEN SO WE NEED TO GIVE IT A LITTLE BIT MORE. GO BACK HERE AND GIVE IT 15. WE’RE GOING TO SEPD THAT IN. AND GO AND READ OUT WE NOW HAVE 15 REPORT PETITION LOAD ON MY SERVICE AND IF WE GO TO THE METRICS, YOU CAN SEE THIS GUY AND REPORT IT 15, AND IN ANY SECOND WE SHOULD SEE FABRIC NOW ADDING ANOTHER INSTANCE OF MY SERVICE ALL BASED ON THE DEFINITION OF CONFIGURATION THAT I HAVE. I NOW HAVE TWO INSTANCES RUNNING BECAUSE MY METRIC WAS HIT, AND IF I AM QUICK ENOUGH, JUST DO THIS IN A SECOND, I’D LIKE TO BE ABLE TO GO AHEAD AND SCALE THIS BACK IN AGAIN BY PUTTING THE LOAD BACK TO ZERO. SET THESE GUYS BACK UP. IF I HIT THE WORKLOAD, YOU CAN SEE THE SCALE IN IN JUST A SECOND OR SO. THERE YOU GO, SCALING IN. YOU CAN SEE THAT THE SECOND INCIDENT IS GOING TO RUN BACK TO ONE INSTANCE. THIS IS A VERY, VERY NICE FEATURE AGAIN WORKING WITH THE ORCHESTRATION OF SERVICE FABRIC. LOAD BALANCING AND ALL THESE FEATURES TO DYNAMICALLY CONTROL HOW MANY RESOURCES AND BUSINESSES OF THE SERVICES THAT YOU SPIN UP TO ACCOMMODATE THE LOAD ONTO YOUR APPLICATION. COOL. SO THAT WAS ALL THE SCALING.>>WHAT WE’RE ABLE TO TALK ABOUT HERE. THE SCALE RESOURCES VERTICALLY OR HORIZONTALLY. YOU CHANGE SKUs, OSX, AMOUNT OF CPU, RAM, STORE SJ, MAKE THEM BIGGER OR MAKE MORE INSTANCES OF THEM USING PROGRAM X OR MANUAL METHODS. THIS IS ALSO AVAILABLE SCALE SERVICES WHETHER YOU HAVE MORE INSTANCES. METRICS, WHICH IS PERFORMANCE SECTIONS OF THE MACHINE OR CUSTOM METRICS. SO THE NEXT SUBJECT I WANT TO TALK ABOUT IS MANAGEMENT. SO AUTOMATING CACHE MANAGEMENT IS IMPLEMENTING THE SOURCES. JUST ANNOUNCED YESTERDAY IS GENERALLY AVAILABLE DMSS IMAGE WHERE THE PROVIDERS OF YOUR IMAGES WILL PROVIDE PATCHES AND AZURE WILL PUSH THEM OUT ACROSS THE FEED. WHEN YOU’RE ON-PREM AND WHEN YOU STILL WANT TO RESPECT UPGRADE DOMAINS HOW DO YOU CONTROL WALKING? YOU CAN WRITE YOUR OWN SERVICE AGAINST THE REPAIR MANAGER OR USE YOUR PATCH APPLICATION PROVIDE THIS FOR YOU AND DEPLOY THIS AND WE WILL COORDINATE IT. ONLY TEN PROPERTIES. HOW FREQUENTLY YOU WANT TO RUN. HOW MANY RETRIES YOU’D LIKE TO HAPPEN IF SOMETHING FAILS. WHETHER YOU’D LIKE TO HAVE WINDOWS UPDATES ONLY. WE ALSO HAVE TWO VERSIONS OF COA. THAT’S SOMETHING YOU CAN’T FORGET WHEN YOU’RE ON A MACHINE. IT IS REQUIRED FOR ALL SECURE SOLUTIONS. YOU CAN’T GET AWAY WITH NOT DOING IT. WE’LL LOSE TRUST, YOU HAVE A SECURITY ISSUE. THIS IS THE PART WE’RE GOING TO TALK ABOUT TELEMETRY MONITORING. TELEMETRY IS A METRICS THAT YOU USE TO MEASURE DELAYS OR MONITORING RULES AGAINST THOSE METRICS IN WHICH YOU USE TO MEASURE SLAs. THEY’RE SERVICE LEVEL AGREEMENTS THAT YOU MAKE WITH YOUR CUSTOMER. THE GOALS THAT YOU’RE TRYING TO PUSH TO. WHEN MEASURES THESE YOU NEED TO MEASURE FROM A USER EXPERIENCE. METRICS USER EXPERIENCE IS NOT SIMPLY PROBING THE ENDPOINT OF YOUR APPLICATION TO VERIFY THAT THE USER CAN CONNECT TO IT. MEASURING THEM REQUIRES YOU TO MEASURE ALL LAYERS OF THE STACK, FROM HOW THE APPLICATION PERFORMED BUT INTERNALLY YOU MAY HAVE TO INSTRUMENT THINGS ON HOW PARTICULAR EXECUTION IS GOING. IN ADDITION TO THAT WHEN YOU OWN MACHINES YOU ALL SEE THE HOST, YOU HAVE PHYSICAL EQUIPMENT, MEASURED OUT, THIS IS A FULL STACK MONITORING SOLUTION YOU HAVE TO HAVE. EVERY I LAER OF YOUR APPLICATION. NOW THERE ARE LOTS OF WAYS TO MONITOR YOUR SOLUTION AND ONE OF THEM — I’M GOING TO BRING HER UP ON STAGE TO PROVIDE MORE CONTEXT ON HER APPLICATION — [APPLAUSE] — NEED TO MONITOR YOUR APPLICATIONS. WHEN YOU MONITOR YOU HAVE TO MAKE SURE THAT THE MONITORING SOLUTION YOU HAVE IS NOT JUST COLLECTING TELEMETRY FOR YOU BUT ALSO PROVIDING SOME INTELLIGENCE ON TOP OF IT. BY A SHOW OF HANDS DOES ANYBODY KNOW WHAT DYNATRACE IS HERE? ANYBODY USE IT? A LOT OF YOU DID. AS YOU KNOW, WE ARE NOT JUST MONITORING SOLUTION, THE BEST IN THE APM SPACE NOW WE’RE MOVING OVER INTO SOFTWARE INTELLIGENCE SO WE DO NOT JUST COLLECT METRICS WE PROVIDE YOU WITH FULL STATS ALL ACROSS YOUR APPLICATIONS WHEREVER THEY ARE HOSTED. FOR NOW WE HAVE A GREAT SUPPORT WITH SERVICE FABRIC SO WE WILL MOSTLY BE TALKING ABOUT HOW DYNATRACE INTEGRATES WITH SERVICE FABRIC AND HOW EASY IT IS TO MONITOR YOUR APPLICATIONS WHICH ARE RUNNING ON THE SERVICE FABRIC CLUSTERS. WHAT DOES DYNATRACE PROVIDE YOU? DYNATRACE TYPICALLY PROVIDES YOU ALL THE INFORMATION. IT COLLECTS TELEMETRICS. THE FULL DATA VIEW IS AVAILABLE. ALL OF THIS IS BEING PICKED UP BY THE DYNATRACE AGENT. WE HAVE THE DYNATRACE AGENT TECHNOLOGY THAT GOES ON SERVICE FABRIC VM. ALL THE COOL FEATURES THAT MIKKEL AND ALEX TALKED ABOUT SCALING UP OF NOTES OR SERVICES WILL WORK RAUMTLY ONCE YOU INSTALL THIS EXTENSION. ONCE THE EXTENSION GOES ON YOUR VM SCALE SETS WHETHER YOU SCALE HOAR DOESN’TICALLY OR VERTICALLY DYNATRACE WILL BE MON IT AND START MONITORING ALL OF THOSE. I’LL SHOW YOU HOW THAT HAPPENS. WE HAVE ALL METRICS. WE COLLECT EVERYTHING FROM YOUR END USER, ALL THAT DATA IS COLLECTED. WE HAVE CONTACTS AROUND ALL THAT DATA. WE’RE NOT JUST COLLECTING TELEMETRY FOR YOU BUT PROVIDING RELATIONSHIPS AND CONTEXT SO THAT MAKES IT — THAT MAKES OUR UI MODEL EXTREMELY — IT DIFFERENTIATES IT BY PROVIDING THAT CONTEXTUAL RELATIONSHIP, AND THEN IT MAKES US IT EXTREMELY EASY FOR US TO TELL YOU IF THERE WAS A PROBLEM, WHERE THE PROBLEM WAS, AND BY WHAT DEGREE YOUR APPLICATION WAS GOING WRONG. SO WE HAVE ALL THAT AVAILABLE FOR YOU TODAY. I’LL SHOW YOU A QUICK DEMO OF HOW YOU CAN USE DYNATRACE.>>COOL, I HAVE ALREADY A SIMPLE WORDING SOLUTION HERE. THIS IS ONE OF THE APPLICATIONS THAT WAS DESIGNED BY THE SERVICE FABRIC TEAM IT’S SAMPLE APPLICATION THAT YOU WOULD DEPLOY INTO THE FABRIC CLUSTER. I HAVE IT RIGHT HERE. NOW LET’S TRY AND ADD SOMETHING. SO I’M GOING AGAINST DOGS, BUNNIES, AND SLOTHS. LET’S SEE WHO WINS HERE. I ADDED DOG. IT WAS INITIALLY 125 VOTES IF YOU WERE PAYING ATTENTION. NOW IT BECAME 126 VOTES. LET’S TRY AND ADD BUNNIES. SO AT 109 ONCE WE ADD THIS IT BECAME 110. SO YOU CAN SEE THAT IT ADDED IMMEDIATELY. NOW LET’S ADD A SLOTH AND SEE WHAT HAPPENS. OKAY. SO IT’S STILL DOING THAT. I WONDER WHY. I WOULD THINK THAT SLOTHS ARE SUPER SLOW, RIGHT? THEY’RE CRAWLING ALL THE WAY, COMING IN, JUST 47. NOW IT BECAME 48. SO THE SLOTHS TOOK A REALLY LONG TIME TO CRAWL DOWN INTO THE WARNING LIST. LET’S GO INTO THE DYNATRACE UI AND I WILL SHOW YOU WHAT HAPPENS WHEN YOU INSTALL DYNATRACE. SO UNLIKE ALEX MENTIONED I’M SORRY I DON’T HAVE FIVE NOTES, I HAVE ONLY THREE BUT IT’S NOT A PRODUCTION CLUSTER SO I HOPE I’M NOT IN THE WATER HERE. I PUT THE DYNATRACE AGENT ON THIS CLUSTER, IT HAS TO BE NOTED YOU CAN SEE INTERACTIONS OF HOW THOSE NODES ARE CONNECTING TO EACH OTHER, DYNATRACE WAS ABLE TO FIGURE THIS OUT ONCE YOU INSTALL THE AGENT. IT ALSO DOES THE FULL STAG MONITORING. WE HAVE THE HOST, WE HAVE THE DATA CENTER, ALL THE PROCESSES THAT YOU UTILIZE THAT YOUR SERVICES ARE SCALING UP OR DOWN, WHETHER IT IS AUTO SCALING OR MANUALLY SCALING THEM YOU DON’T HAVE TO MONITOR AND ADD ANOTHER MONITORING SOLUTION. YOU DON’T HAVE TO MONITOR YOUR MONITOR. DYNATRACE TAKES CARE OF THAT FOR YOU. ANY APPLICATIONS YOU HAVE WILL AUTOMATICALLY BE MONETARIED. AND THEN HERE YOUR CORD LEVEL IS ALSO MONITORED. SO THIS IS MY WARNING WEB APPLICATION A WEB APP WHICH IS MAKING A CALL OUT TO THE DATA API THAT I HAVE WRITTEN SO IT’S KIND OF TELLING YOU THAT THIS WEB APP MAKES A CALL TO THE DATA API, AND IF WE GO IN TO THE DETAILS WE’LL BE ABLE TO SEE OUR DYNATRACE CAN ACTUALLY SHOW YOU HOW THAT CALL IS HAPPENING. SO HERE HOW WE CAN SEE THAT THE VOTING APP, WEB APP IS MAKING A CALL TO THE VOTING DATA APP AND THERE’S A PROXY IN THE MIDDLE. HOW MANY TIMES DOES IT CALL IT? AND ALL YOUR CORD LEVEL INSTRUMENTATION IS THERE WITHOUT MAKING ANY CHANGES TO THE KOUR. IT’S PROFILING ALL OF THOSE RELATIONSHIPS FOR YOU WITHOUT HAVING TO GO IN AND MAKE A CHANGE. IF YOU GO BACK HERE I CAN SHOW YOU THE REQUEST THAT WE JUST DID THE BUNNIES AND DOGS THAT WE JUST ADDED. SO IT’S REAL DATA. YOU CAN SEE HERE, IT JUST HAPPENED LIKE TWO MINUTES BACK WHEN I WAS ADDING THESE DOGS AND BUNNIES, SO YOU’RE NOT MISSING OUT ON ANYTHING. DYNATRACE DOESN’T SAMPLE ANYTHING. IT’S ALL REALTIME DATA THAT KEEPS COMING IN. AND IF WE GO IN HERE YOU CAN SEE THAT THE SLOTS TOOK TEN SECONDS AND THE DOGS AND BUNNIES WERE IN ABOUT MILLISECONDS. THEY’RE VERY, VERY QUICK BUT THE SLOTH WAS REALLY SLOW TO COME BACK. NOW WHY WAS IT SLOW? YOU CAN DRILL DOWN INTO IT, AND THEN DYNATRACE WILL BE ABLE TO SHOW YOU THE CORE LEVEL METRICS BUT MOST ANY PROFILER CAN DO THAT. WE’LL SEE WHAT DIFFERENCE IS DYNATRACE. SO WE HAVE SOMETHING CALLED PROBLEMS WHERE IF YOU GO IN TO THIS MORNING I WAS PLAYING WITH IT, I HAVE A SINGLE PROBLEM WITH DYNATRACE SETS UP THRESHOLDS, IT AUTOMATICALLY SETS UP THRESHOLDS AND WHEN THINGS GO WRONG OR RENDER AN ANOMALY IT WILL BE ABLE TO TELL YOU WHERE THE PROBLEM IS AND WHY DID THAT HAPPEN. SO HERE IS A SETTING THAT WARNING WAS SUPER SLOW. LET’S TAKE A LOOK AT WHY IT WAS SLOW. WHEN I DRILL DOWN INTO THESE CHARTS YOU CAN SEE VERY CLEARLY THAT THERE WAS AN ANOMALY IN THE TIME FRAME. THAT RED BAR ON TOP OF THE TIME TO GAIN YOUR ATTENTION AND TELL YOU THAT THERE WAS AN ANOMALY. IDEALLY YOUR APPLICATION RESPONSE BACK REALLY QUICKLY. BUT DURING THIS TIME FRAME, SOMETHING WAS GOING WRONG. I WONDER WHAT IT WAS. LET’S SEE. WHEN WE ANALYZE IT, IT GIVES YOU THE LONG LOG TIME. LET’S GO INTO THE DETAILS. WE CAN SEE THE HOT SPOT WHERE YOU CAN SEE THAT ME, I ADDED A SLEEVE FOR TEN SECONDS SO THAT THE SLOTH CAN COME UP SUPER SLOW, AND NOT JUMP LIKE THE BUNNY. [LAUGHTER] SO ALL THIS CODE LEVEL INSTRUMENTATION YOUR DATABASE QUERIES AND EVERYTHING ELSE IS GOING TO BE PICKED UP FOR YOU WITHOUT HAVING TO MAKE ANY CHANGES TO YOUR CODE. ALL YOU NEED TO DO IS DROP IN AN EXTENSION USING THE CLI ON YOUR VIRTUAL MACHINE SKILL SETS AND YOU GET ALL THIS DATA FOR YOU. AND SCALING IS NOT A PROBLEM. YOU CAN SCALE OUT AND SCALE IN. YOU CAN ALSO SEE WHAT THE USER WAS DOING ON THE WEB SERVER. SO IF I GO IN I DON’T HAVE A NAME HERE BUT YOU CAN SEE MY SESSION, AND FIGURE OUT THAT I, AS A USER, ALL OF THESE ARE MY SESSIONS, AND I WAS ABLE TO COME IN IT I CAME IN FROM WASHINGTON, THIS IS MIKKEL’S LAPTOP BUT HE’S COMING FROM WASHINGTON. ALL THE THINGS YOU ADDED, EXECUTE, AND HOW LONG DID IT TAKE. ALL THAT DATA IS GOING TO BE PICKED UP FOR YOU AUTOMATICALLY ONCE YOU INSTALL THE EXTENSION. AND THAT IS ALL I HAD. THANK YOU SO MUCH, GENTLEMEN. [APPLAUSE]>>SO THE KEY TAKEAWAY FOR THIS PORTION OF THE TALK IS THAT YOU CANNOT GET AWAY WITH NOT MONITORING AND COLLECTING TELEMETRY ON YOUR SERVICES. HOW DO YOU ACHIEVE THAT? USE DYNATRACE, USE APPLICATION INSIGHT IT’S UP TO YOU. YOU CANNOT PROMISE, YOU CANNOT DELIVER, YOU ARE NOT MONITORING AND GATHERING TELEMETRY. RICH TELEMETRY CAN BE MONITORING.>>SO, CLOSING OUT THE END OF THIS TALK, A GOOD TIME WE’RE GOING TO GIVE YOU SOME TIME BACK AT LEAST. WE HOPE THAT WE SHOWED YOU SOME TIDBITS AND TIPS AND TRICKS THAT YOU NEED TO LOOK AFTER. INTRODUCED NEW FEATURES THAT HOPEFULLY WILL HELP YOU EVEN MOBILE APP RUN BETTER AND WE HOPE YOU ENJOYED THE SESSION. PLEASE WE’RE GOING TO STICK AROUND FOR QUESTIONS. YOU CAN ALL USE THE MICROPHONE IF YOU WANT TO. JUST COME UP, WE HAVE TIME TO DO QUESTIONS UP HERE.>>THANK YOU. SO I HAVE AN ANNOUNCEMENT TO MAKE. WE HAVE A BOOTH HERE IN THE EXPO HALL YOU CAN COME AND TALK TO US. BUT WE ALSO HAVE, WE’RE DOING A GIVEAWAY FOR ALL THE PEOPLE WHO ATTENDED THE SESSION. SO MY FRIEND HERE HAS A SCANNER. HE CAN SCAN YOU GUYS AND THEN ONE OF YOU WILL WIN AN XBOX FROM DYNATRACE. WE’LL REACH OUT TO YOU.

Leave a Reply

Your email address will not be published. Required fields are marked *