Azure Red Shirt Dev Tour

RedShirtDevTourJPG
[Image source: Microsoft]
I was so happy when it was announced that Scott Guthrie is coming to Germany for the Azure Red Shirt Dev Tour that I immediately registered for Munich. Many people came from all around Europe, there were even organized buses from Prague.

The trip to Munich was a great adventure, to say the least. The train had to turn around half way and go back so I had to take the next one and I missed the first 1,5 hours of the talk but I was glad that I made it at all because there was a huge snow storm whole day and many trains had delays or were even cancelled. All the trains in the evening were all cancelled, all but one, which I managed to catch so I can get home somehow.

I was hoping that we will all get a red shirt but there was a raffle and someone won a red shirt signed by Scott himself. Nevertheless Scott Guthrie presenting Azure and being able to meet him in person on the stage after the presentation was a fantastic opportunity and totally worth the trip. Seeing Laurent BugnionSimona Cotlin and @DynamicWebPaige was definitely a great bonus.

What is Azure Red Shirt Dev Tour?

The Azure Red Shirt Dev Tour Germany ’18 is a FREE! code-first event where you can connect and learn from cloud experts from Microsoft and your local community. It’s all about helping you become a better developer by teaching skills to develop, deploy, and manage cloud applications through robust demos.

Agenda

08:45 – 09:30

Check-in & Welcome

09:30 – 12:45

Keynote w/ Scott Guthrie | Two 1.5 HR. Sessions w/ Short Break In-Between

12:45 – 13:30

Grab Some Lunch

13:30 – 14:45

Coding on Stage w/ Scott Guthrie | “Azure Tips & Tricks”

14:45

Thank You & Event Close

img_5276
Speaker and Trainer: Scott Guthrie, Executive Vice President, Microsoft Cloud and Enterprise Group

Summary

Mobile

img_5266
Demo of Xamarin by Laurent Bugnion and Scott Guthrie

Laurent Bugnion showed a demo of Xamarin with his iPhone paired with Visual Studio, start an app and deploy directly to the iPhone. You can modify XAML in real-time and do live design directly on the iPhone and Android. You can build mobile native in the cloud and test in the cloud.

DevOps

img_5272
VSTS dashboard of a live system at Microsoft

DevOps is a philosophy to quickly create and deploy applications in an automated way by taking out the human interaction with numerous benefits. Visual Studio Team Services offers a complete DevOps solution for shipping faster and getting customer feedback faster.

VSTS is the environment with the complete DevOps cycle. You can use VSTS to host the code, track backlog work items, do builds in the cloud (Continuous Integration).

Can I trust my code in the cloud? All Microsoft teams use VSTS and Azure deploys 70 times per day.

Scott demoed the VSTS Dashboard of a live system from Microsoft. Another example is Windows, a 40 year old project with custom GIT extensions. Windows has 4 million tests that take only 10 minutes to run using 10,000 machines running in the cloud.

Setting up a new Azure App Service and wiring CI/CD to build, run tests and deploy with VSTS is simple: in the Azure Dashboard click on New Web App => go to CD option and configure VSTS or GitHub => this wires the build pipeline. This is extensible so you can add additional phases like database, npm or docker. The Marketplace offers many extension, e.g. AWS integration for multi-cloud.

After setting it up, you can commit to VSTS using your preferred IDE and this start a new build and pushes the changes to production.

For the Quickstart Tutorial, in the Azure Dashboard go to New and click on DevOps Project.

Data

You can run any database that you want, you can manage it yourself in a virtual machine or you can choose Database as a Service. The latest SQL Server 2017 is the fastest version and it runs on Windows, Linus and in Docker. Azure includes the SQL Database Service offering. In the Azure Dashboard, click on New SQL Database, you can point it to SQL Management Studio which works on Windows or SQL Operation Studio which works on Windows, Linux and Mac.

Azure offers performance overview and custom recommendations on real telemetry and AI rules to improve the database performance including estimated impact and CPU savings. It also includes a built-in threat detection that shows a dialog or send email/SMS in case of suspicious activity (e.g. SQL injection attack) and it is recommended to turn this on. Last but not least, Azure includes GDPR tooling in SQL, GDPR being an important topic at the moment in Europe and each incident could cost companies 4% of the annual revenue.

img_5277
Simona Cotlin talking about the Azure Database Migration Service

With Azure Database Migration Service, you can lift and shift with no code changes in a seamless way with near-zero downtime. Simona Cotlin shows a demo of migrating the entire Stackoverflow codebase running locally on prem with SQL 2008 to Azure Managed Instance.

New: PostgreSQL and MySQL as a Service.

We can think about data even at planet-scale with CosmosDB, the globally distributed database service. You can run the database auto-replicated globally in all regions with money back guarantee of single-digit performance latency at 99% and access the data with a variety of APIs like MongoDb, Spark and now new also Cassandra. You can scale up to any need, an example was a company  with 100 trillion transactions on Black Friday.

img_5280
Avengers Comic Wiki with Hero Chat Bot using CosmosDB

Demo of CosmosDB using the Avengers Comic Wiki with Hero Chat Bot: in the Azure Dashboard click on New CosmosDB => choose API and region. You can replicate the data globally for faster data access by selecting the region. Visual Studio Code includes an extension to query and visualize the data. Finally you can control when the transaction is complete for consistency: eventual or session, and track metrics for monitoring.

Containers

You can dockerize applications and use orchestration with the goal of having a consistent environment and avoid situations like “It works on my machine!”. Azure includes Kubernetes-based orchestrator, Service Fabric Service Web Apps service or Batch to schedule jobs by bringing your own containers.

You can deploy containers everywhere on Azure. You can spin up a Docker isntance with per second billing and terminate it when not needed. Scott shows a demo of the Azure Container Instance using the Azure CLI 2.0 and Cloud Shell to create a container and query status. AKS or Azure Container Service in preview is a fully managed Kubernetes orchestration service with managed Kubernetes cluster. This can be done using the Azure Dashboard or in the Cloud Shell with the az aks command. You can define the Dcoker images in the yaml file includes how many copies you want and the endpoints.

  • kubectl get nodes – list of nodes
  • kubectl get pods – list of instances
  • az aks browse – Kubernetes dashboard

Docker and containers are possible also with .Net and Visual Studio. You can use .Net Core (Windows or Linux) or the full .Net (only on Windows). Go to Visual Studio, add new project, select Docker support and target OS Windows or Linux. This adds the Dockerfiel to the app and you can run the app on IIS or in Docker directly from Visual Studio, including debug and set breakpoints. This runs a Linux instance and you can debug directly in your IDE. Finally you can publish to any Windows or Linux OS. Scott shows a great demo of the Azure Voting App where you can select cat or dog.

img_5281
Cats vs. Dogs Azure Voting App using Containers

Now you have more options to deploy with the same nice developer experience and you can even take advantage of the built-in DevOps support with VSTS.

Serverless-based computing

With serverless computing you can save money by paying for the chip cycles used, it is cheaper than the full virtual machine or containers. Serverless uses the event-based architecture and there is no state between invocations. You can leverage serverless with Azure using Function, simply wire up triggers like HTTP, timer, queue, CosmosDB or IoT event that kicks off a Function. Create a Function, host it in the cloud and call it dynamically. You pay for CPU only. One company had 1 billion function calls and paid only 40 dollars.

You can develop in the browser or in Visual Studio Code/Visual Studio to take advantage of the IDE functionalities and use the CI/CD with VSTS. You have a full log in the browser and you can even test the HTTP post.

You can have WebHoof notifications that is a popular use case for serverless, e.g. GitHub, Twitter. Go to GitHub repository, click on Settings and select WebHook to call a Function as a response to an event, simply add URL, secret and what events to notify (fork, pull request, issues). In Azure you can wire up the GitHub WebHook by getting the GitHub secret and the function URL and copying it to GitHub. Another demo showed the blob trigger sample using file uploads.

Visual Studio also includes tooling support, simple add new project, select Cloud, Azure Functions template. The advantage is that you can add Nuget packages, multiple projects and references. You can run it on your local machine, connect to the cloud and listen to events. The demo of the cat picture upload website shown by Scott uses a function to listen to uploads and calls an AI service for photo detection to find our if a cat is in the picture and that no profanity is in the text.

You can publish the serverless function directly with push or with CI/CD using VSTS.

Another serverless offering is the Azure Logic Apps, a declarative workflow for long-running use cases. It includes built-in connectors like Twitter. Scott demoed a Twitter Analysis for Azure tweets, that uses the sentiment detector AI, performs classification and creates key phrases and a Function analyses the phrases. The positive tweets are pushed into Power BI and the negative tweets are pushed to the Team room and a new support case is created in Dynamics 365.

Artificial Intelligence

Many companies use AI to transform their business. Azure has offerings for data scientists and AI experts building custom models but also for people that don’t know AI. The latter can use the Azure Cognitive Services to add smarts into their apps. These are pre-built algorithms exposed as Rest APIs. Scott shows a demo of the Cognitive Services in the Azure Dashboard: New => AI + Cognitive Services => Face API and many others. The next demo Realtime Crowd Insights uses face and emotion detection and how to train the model. There is no need for data scientists, you can start taking advantage of AI using the Cognitive services.

img_5289
Realtime Crowd Insights demo using Cognitive Services

With Azure Machine Learning, AI experts can train, build and run algorithms in the cloud. You can publish Azure ML in Docker, run it on IoT Edge, on premises, in Azure or in AWS. Using the Azure ML workbench locally or in a VM on Azure, data scientists can clean the data from different sources. Paige talked about Jabil and how they built a deep learning solution to automate a task of recognizing faulty chips, previously performed by humans, and improve the accuracy. As a software developer, building such solutions required if-else custom logic for every chip on board.

Cleaning the data with ML Workbench is easy: add a new column, start classification and it derives the column by example. These steps are saved so you can run it any time and there is no need to do the data cleaning manually again. This takes the tedious data cleaning task of the data scientist and it saves 80% time. Paige showed Jupyter notebook, an interactive way for Model and Evaluation using an open source alternative to Tensorflow.

Azure Stack

Customers have the option of using the public cloud or Azure Stack, an extension of azure for edge and disconnected scenarios, e.g. manufacturing, to meet every regulatory requirements, or cloud app model on premises. Carnival cruise ship uses Azure Stack when out on the sea with no internet connection. HP, Dell and Cisco have Azure Stack offerings and it can be up and running in 8 hours from unpacking.

Tips & Tricks

  • Azure Advisor Service: free service  with recommendations on how to use Azure better, based on analyzing your account. It provides recommendation regarding reliability, security, cost effectiveness and performance, like unused VMs. Recommendations can be snoozed for a period of time.
  • Security center: free service that provides information about where security best practices are not kept using AI algorithms running on your system, e.g. no OS updates turned on, VMs with malware potential (no endpoint), VMs with ports open to internet.
  • Secuirty alerts: not free early warning radar showing if the system is under attack and how to prevent it from happening again.
  • Just In time Admin Access in preview: none of the users are admins for the case that username and passward are stolen and sppecific users cna be elevated on demand for a short period of time.
  • Adaptive app controls in preview: configure what executables can run in the virtual machine and this service shuts down the executable and raises an alert.
  • Azure Policy in preview: enforce policy so that no one can do things that are not allowed or not secure. You can block or raise an alert if not in compliance.
  • Cost Management + Billing: free service using Cloudyn with cost breakdown, utilization, even for multi-cloud. Free for Azure customers.
  • You can take your existing Windows Server license and use it in the cloud for windows virtual machines by selecting under “Save money”. You can save up to 40% with the license that you already own. You cannot use the license in two places though.
  • You can use reserved instances for workloads running more than one year.

You can try Azure for free with the Azure trial that includes 170 euros in the first month and many free services in the first 12 months.

img_5296
Azure = Productive + Hybrid + Intelligent + Trusted