It has been months since my friend Namit and I have been working on bringing to life a comprehensive book on Microservices applications specifically targeted for deployment in the cloud. We realized how the community is too keen to get started with Microservices, but there is so little guidance available on the subject. We studied several real-world implementations and documented the learnings as a set of patterns that help solve some of the most common challenges architects face while designing Microservices applications.
In this series Introduction Adding Dialogs and State to your bot Welcome to the second post in my blog series on Building Bots with The Microsoft Bot Framework. In today’s post, we will learn how we can build a stateful bot that can carry out a meaningful conversation with the user. We will also find out how Dialogs can add reusability to our bots. What is a Dialog?
In this series Introduction Adding Dialogs and State to your bot I decided to spend some time learning the Microsoft Bot Framework. I am going to write a series of blog posts to share with you what I learn so that we can go through this learning exercise together. This is the first post in the series with a few more to go. You might want to stay in the loop, so remember to subscribe to my mailing list and keep visiting this site to check out new content.
Visual Studio 2017 is currently the best IDE that is in-line with the Microsoft’s strategy of embracing non Microsoft platforms and operating systems. I am a web developer, therefore, following is my outline of the most compelling features of Visual Studio 2017. Setup Experience Visual Studio no longer asks you to select options from a long list of checkboxes. It presents a more easy to comprehend list of workloads that are segregated by categories.
One of my most popular blog posts on this site is Hands-on with Azure Service Fabric Reliable Services. Referring to the blog post, many readers asked me about guidance to deploy various types of applications as Guest Executables on Service Fabric. In this post, I will try to answer most of those questions by demonstrating the process in a simple manner. The Application We previously built a simple node.js application that uses Azure SQL Database as data store.
Last week @Namit and I were at Ignite Australia. We had a great time interacting with technology enthusiasts from across Australia. We presented a lot of demos built using Service Fabric, Hololens and Congnitie Services to the attendees and received thrilling feedback. The event was well worth our investment of time and effort. We would deliver many more such presentations in future. Microservices with Azure We did an interview with SSW TV, in which we talked about the advantages of using Service Fabric as a platform to host microservices.
I don’t know how popular Node.js still is, but it is always fun to learn new programming languages. If you have previously worked with relational databases such as SQL database with Node.js, you must’ve noticed that there are several node packages available to enable application integration with SQL database. However, while building commercial applications, developers always want to use packages that are backed by professional support and a lively community.
How good is your logging provider’s search experience? Now, you can leverage the same set of services that power search on Facebook, eBay and tons of other websites to index and query the logs of your Service Fabric applications. Let’s discuss how you can integrate ElasticSearch with your Service Fabric application to index and query the diagnostic logs generated by your application. Before we set out to discuss ElasticSearch and Service Fabric integration, I would like to call out that you can build an ElasticSearch listener for your WebApps as well (even for those that are built with .
Let’s take our discussion forward to discuss the Producer and Consumer problem. According to the definition, the problem describes two processes, the producer and the consumer, who share a common, fixed-size buffer used as a queue. The producer’s job is to generate data, put it into the buffer, and start again. At the same time, the consumer is consuming the data (i.e., removing it from the buffer), one record at a time.
Next in our series of patterns, we will discuss a problem that almost all of us have encountered and solved in a less than desirable manner almost every time. Today, we will talk about using reflection. Most of the applications use reflection to read values out of an unknown type of object. I will present you with a utility that helps you do just that with little performance implications using input that you can store in configuration files or your application’s database.
Previously we discussed the Buffer Fill Pattern which can help eliminate bottlenecks in your applications. Let’s tackle yet another challenge stopping you short from building your next flexible service that runs on distributed systems. The pattern that we are going to discuss today has little to do with distributed systems and is rather about component decoupling. This pattern will add flexibility to your system which you can manage through configurations stored in your application’s database.
Most of the times when working on distributed systems that involve asynchronous communication, you need to solve certain common problems. In this multi-part series, I would walk you through some common design challenges and their solutions backed with sample code that you can refer to while working on your projects. Buffer Fill Pattern Example Scenario This pattern comes in handy in systems where a module is responsible for collecting data from multiple sources and forwarding the collated data in batches to some other module for processing.
November 1, 2016: Thank you community. This post was first written in April, 2016 and several parts of the associated sample were getting obsolete. The sample associated with this post has now been updated to use ASP.Net Core and Service Fabric SDK 2.3. I have revised the content of this blog post to accomodate the changes. Azure Service Fabric, the next generation PaaS from Microsoft, is a platform to publish and manage microservices.
Microsoft Azure Service Fabric: There are several reasons to switch to this brand new platform for building distributed systems. For one, Service Fabric can host itself literally anywhere: on your laptop, in your data center, in some else’s data center, on Windows, on Linux… If you are still hugging Cloud Services (that thing with web roles and worker roles), you better mend your acts early, it is getting phased out and will become obsolete soon.
I recently completed the migration of my blog to a brand new platform. I primarily went through the upgrade process to remove dependency on Windows Live Writer to author content and to trim down the large number of Azure services that I was using to keep the blog ticking. Of course, I wanted to improve the response time and keep my focus on writing posts and not maintaining the code base.