This is the second video a two-part series covering tips and tricks related to defensive programming in the cloud. In case you missed it, Part One is here.
The motivation for organizing this class was three-fold:
- Like many companies, AIS has many open CSA (Cloud Solution Architect) positions that we are unable to fill. So the only solution is to take folks with a strong background in non-cloud environments (on any development stack for that matter) and “rewire” their brains for cloud computing 😊
Note – Please refer to Gartner’s cautionary note  about Azure (the only note of caution in what is otherwise a very positive report on Azure). Gartner claims that that lack of deep technical expertise is impacting adoption.
- An effective CSA needs an understanding of a broad array of key concepts. Even though new features are being added to the Azure platform every day, the key concepts of availability sets, fault and upgrade domains and managed identity don’t change that often. My goal was to discuss each of these concepts in depth along with practical tips, guidance, and pitfalls.
Note – Please refer to the list of key concepts  that I covered during this class.
- Engender a “Cloud Thinking” mindset. Cloud thinking is a mindset that goes beyond moving an existing application to the cloud (lift-n-shift) or starting out using a cloud-native service like Functions. Cloud thinking is a solution-focused approach to building cloud applications that maximizes the benefits that the cloud has to offer, including considerations like monitoring, cost, governance, HA and of course, compliance and security.
- The class spanned three intense days.
- No hands-on lab – I expected the attendees to fork the repo and work through the samples on their own time. I also encouraged attendees to review Azure Essentials before attending the class.
- I focused on building a conceptual understanding of key Azure topics. I relied on concept slides combined with focused demos.
This is the first of a two-part video series covering tips and tricks related to defensive programming in the cloud.
I had the opportunity to record a video on Azure Custom Speech Service with Steve Michelotti from the AzureGov team. Steve and I talked about how Azure Custom Speech Service can overcome most common challenges in speech recognition, including speaking style, technical vocabulary, and background noise.
Please take a listen and let us know your thoughts. We strongly believe that the innovative capabilities like Azure Custom Speech Service are a real differentiator when it comes to selecting a cloud provider.
FREE HALF DAY SESSION: APP MODERNIZATION APPROACHES & BEST PRACTICES
Transform your business into a modern enterprise that engages customers, supports innovation, and has a competitive advantage, all while cutting costs with cloud-based app modernization.
This course is designed for developers (both citizen and professional developers) interested in a low-code approach for building mobile applications.
Here’s some background on Power Apps, if you haven’t had a chance to play with it yet:
Power Apps is a productive low-code development platform. It allows you to very quickly build business applications that can run inside a web browser, on a phone or a tablet. Power Apps includes a web-based IDE (Power Apps Studio, a set of built-in cross-platform controls), an Excel-like expression language that also includes imperative constructs like variables and loops, and over 130 connectors to talk to any number of data sources — including SQL Server, Office 365, Salesforce, Twitter, etc. You can also use custom connectors to talk to your domain-specific data source.
Beyond the controls, language expression and connectors, Power Apps provides ALM support in the form of app versioning, app publication to various app stores, swim-lanes for development environments, authentication and authorization (via Azure AD), RBAC controls, and security polices like data loss prevention (DLP). All in all, the Power Apps service seeks to significantly lower the bar for building and distributing cross-platform mobile applications within your enterprise.
For a concrete example of our use of Power Apps, please read how we built a cross-platform event app in less than a week. Also please check out a recent episode of DotNetRocks where we talk about Power Apps.
Finally, as part of the latest spring update, Power Apps is combining with Dynamics 365 for Sales, Marketing, and Talent applications to offer an enterprise high-productivity application platform as a service (known as Microsoft Business Applications platform). What this means for Power Apps developers is that:
- They can now take advantage of server-side logic
- They have access to a data-centric way of building declarative apps, known as model-driven apps (in contrast to canvas apps, which are built by dragging and dropping controls to a canvas).
For more information on the spring update, please refer to this blog post by Frank Weigel.
I hope you will find this course useful. Please reach out to me via this blog or Twitter if you have any questions or comments.
However, Virtual Service Endpoints is only available to resources connected to Resource Manager VNETs. This means that classic compute resources like VMs and Cloud Services cannot take advantage of these features out of the box. This blog post describes an approach to overcome this limitation.
As shown in the diagram below, we have a classic VM (Vnet1-VM1) connected to a classic VNET (Vnet1-ASM). We want to take advantage of Virtual Service Endpoints for Storage. More specifically, we want a program executing on Vnet1-VM1 to access the storage in a manner that the traffic is completely limited to the Azure backbone.
I also talked about moving up into a higher layer of coding using Logic Apps and Azure Flow to pull together the various sources of data that already exist in your organization, including Office, SharePoint, SalesForce and so on. You already have the data, so how do you surface it in an app that your users actually like to use?
And finally, we discussed the Power Apps spring update that brings both server-side logic and model-driven apps.
(A complete transcript is available below.)
To show how much fun (and useful) coding is, I wanted the kids to build something real, vs. simply making their favorite character walk left or right. I decided to use the MIT App Inventor tool for my Hour of Code sessions. App Inventor is a browser-based tool that allows you to build your own apps. We built a simple Android app to help parents reduce distractions while driving. Even though the app is super simple, the results are cool enough for kids to proudly show the app to their parents.
Here is a 10-minute video of the steps we followed to build and test the app: Read More…