Ah, the promises of Microservices. Small manageable services. Independent lifecycles. More features, faster, and with fewer regressions. Unlimited scale. Asynchronous messages. Event sourcing. Full visibility and audit logs. Eventual consistency bliss. Containers everywhere. It sounds fantastic right? And, it can be, for some. Will you be one of them? This keynote will contemplate how to survive this seductive approach toward solution architecture - with the many pitfalls in mind - and with the reasons why it's worth the effort.
Developing applications that run in the cloud is different from other platforms not only because the virtualization technologies available allow us to move quicker towards more modern software architectures, but also because the patterns and processes we follow to get there are rapidly evolving. It requires knowledge of not just the services but also the tools that enable us to deliver on that promise in order to see the benefits of Azure. In this session, we take the developers view and explore how to start building cloud aware apps, and then optimize them to take advantage of features like analytics, identity, and connectivity to other cloud services. Next, we show how to use Resource Groups and how to create templates for our infrastructure that include things like automated scaling, alerts and notifications as well as provide a reliable way to deliver infrastructure as code. You will come away knowing how these tools and approaches enable us to create repeatable processes for delivering value from the public cloud.
Your team of one may not have the crew of a professional kitchen, but you too can cook 5-star meals! Learn how to apply Agile software development principles to your work today. By beginning from the basic recipe of what Agile software development is, we cook up perfectly portioned work for the solo developer that get better day after day. Included are resized familiar team dishes such as Scrum, planning poker, and pair programming, as well as a template for entrees such as estimation, prioritization, and code reviews. Find out how you can serve hot and ready results to your "steakholders" with a side dish of features. Even if you don't cook, you can enjoy the eating the results. This entry level talk is for anyone who works as the chef, dishwasher, and server all at the same time.
Elasticsearch has been commonly used to implement autocomplete, but did you know its suggesters go beyond just that? Let's take a tour of the various problems Elasticsearch can solve with it's powerful suggesters feature.
Learn the fundamentals of cryptography, including public/private and symmetric encryption, hashing, and digital signatures. Discover which techniques are appropriate for various situations. Review practical real life examples for storing passwords, protecting URL parameters, securely exchanging information with partners, and safely encrypting sensitive information on public web sites. Concepts apply to all platforms, examples will be in C# for both .NET and .NET Core.
Microservices are not for everyone, but there are some incredible benefits to employing microservice architecture principles to enable co-evolution of services and features and reduce friction during the DevOps cycle. The growth of moving parts, however, does require tight DevOps procedures, and visibility into system operations including diagnostics, application events and audit trail. Event streaming can enhance your solution enabling async processing and scale, but also enhancing visibility to the solution as a whole. The good news is that if you are already designing a solution based on microservice principles, you are already positioned to incorporate events with less pain. Services that "fit in your head" lead to a manageable approach to introducing event-based strategies. In this session you'll learn how to design a microservices solution that relies on event streams to produce workflow state, history and full audit. You'll see patterns for structuring your solutions, managing events and payloads, and producing full history and audit logs for the solution. Event streaming will be implemented with Azure Event Hubs to compliment a microservices solution hosted in Azure Kubernetes Service (AKS) with Application Insights showing instrumentation output.
Flutter is Google's new cross-platform mobile development framework. With Flutter, Google wanted to create a reactive, cross-platform mobile development framework that helped speed up development, abstract UX/UI into the framework and provide great performance. In this session, we'll walk through the Dart language (because Flutter uses it), the basics of Flutter, the Flutter device APIs and build a few slick demos to see Flutter's powers in action.
Find out how Dow Jones uses AWS Cognito to simplify authentication for their sites, tools and APIs that power the Wall Street Journal, MarketWatch and Barron's. With the power of SAML and OpenID federated identity providers, Cognito helps Dow Jones standardize their approach to authentication and authorization in the cloud. Explore with us a couple of ready to use AWS Resources that easily implement the Cognito based authentication workflow.
More info coming soon...
Data analysis, statistics, and mathematics have been revolutionized by increases in computing power -- and now it's happening again. We can go beyond traditional statistical approaches to studies and data by using unsupervised learning techniques and advanced math. Topological data analysis looks at the shape of data -- the underlying structure -- and in revealing surprising insights, it also brings up interesting questions. The best part is that you can do your own analysis with Python and R, free and open-source tools. We'll look at real-life applications of topological data analysis from health to finance to politics, and I'll ask you how topology might apply to your big data problems!
Information security involves keeping your systems secure and your company's (and your users) data safe and out of unauthorized hands. We as developers have a number of very important roles in info sec, and among those are application security and secure coding. In this presentation, we'll talk about some security best practices, examples of vulnerabilities, and practical ways to avoid doing the sort of things that the bad guys exploit.
We were so preoccupied with whether we could, we didn’t stop to think if we should. Nowhere at Jurassic Park was this more true than how we developed software. Having the wrong software and support structures was a key factor in the failures of our first park. We were entrepreneurs launching something new and architects integrating an enterprise. And our decisions had lasting consequences. Deciding which problems were worth our time was foundational to our failure. Join us for a retrospective of software systems at Jurassic Park. We’ll dig into case studies and explore our successes and failures. We’ll uncover the options, costs, and risks inherent in deciding what software to build, what to buy, and alternatives in between. We’ll explore the opportunity cost of building systems, the sustainability of open-source, and the risks of vendor lock-in. You’ll leave equipped to make better decisions and avoid the pitfalls we made at Jurassic Park.
Want to build great native apps quickly? This session will give you an overview of the Xamarin.Forms API, controls, and toolset, as we illustrate how to quickly build native apps for iOS, Android completely in C#, all while maximizing the amount of shared code between them. This session aims to break down all barriers to getting started. Spoiler: if you know C#, you already know how to build great looking apps using Xamarin.Forms.
Impostor Syndrome is a quiet and subversive force in a lot of developer's lives. They feel like they're faking their way through their job, and they silently panic as they wait for everyone to find out they don't really know what they're doing. It can be crippling, and left alone it can develop into an anxiety disorder, or worse. If you can relate, or even if you just want to learn how to be a little more confident in yourself, come and listen as we cover what Impostor Syndrome is, some theories why it happens, and strategies you can use to eliminate it (that's right, you actually can)!
Keeping up with the latest and greatest tech stack( has never been a bigger challenge for a programmer than it is today. Good news! React Native looks like a stack that is going to be around awhile and is being embraced more and more by businesses as a legitimate option for x platform native mobile applications. in this session, I will walk though the pain of setting up your environment for a simple Hello World app, and then take you though creating the Delivery Truck Mgmt app I've demoed using Angular in the past.
At first, designing a system using microservices might seem easy. Just separate your code into small, autonomous, easily maintainable, individually deployable components. Give each one its own database so they can’t accidentally share data. Let them communicate via REST. Now go bask in the warm glow of your achievement, confident that because of your efforts, your system will now be reliable, scalable, maintainable, and all-the-other-things-able. After all, it worked for Netflix. But once you reach the UI, the party’s over. How do you render a UI composing data from multiple services without reintroducing the coupling the microservices were supposed to eliminate? If one service has to call another to get data, they’re no longer autonomous. Worse yet, you could be introducing so much chatter that the performance of your app will suffer. If the UI layer has to orchestrate the calls to multiple services, then you’ve just moved the coupling into the UI and gained very little. In this session you’ll get a guided tour to working code that composes data from different services in an ASP.NET Core web application using a technique called ViewModel composition. You’ll also learn tips for analyzing service boundaries so you can build systems using this method and create microservices that are truly autonomous from the back all the way to the front.
More info coming soon...
Tired of using a keypad or a remote to open your garage door? Do you ever get to work and wonder if you closed the garage? Problems with your numeric keypad in the Minnesota winter? I wanted to build a smart garage door opener that would allow me to use my phone to open the door and to check the status of the door on my phone from anywhere. I also wanted a project to use my Raspberry Pi 3. In this session, you will learn about the basic hardware I bought to support the sensor and signaling needs of the system and how they connect to the Pi. I'll also go over the applications I wrote to handle the logic on the Raspberry Pi and phone. I'll cover the connections between the phone and the system, the remote access, and how it all fits together. Learn how you can enhance the system with features like sending alerts when your door has been open for an extended period of time.
Containers and orchestration seem essential at the moment, but the learning curve can be steep for a developer, who may have many and varied questions. "Where do I even start? What tools do I need? Kuber-what? Do I even care about containers and Kubernetes? What does my dev workflow look like now? How do I set up and configure my CI/CD pipelines?" Learn all this and more as we dive into the world of container dev. We'll cover what containers actually _are_ and how they solve problems for developers. We'll also cover the ins and outs of a containerized development environment, including recommendations on specific tools. We'll step through some common development and debugging workflows, and you'll walk away with everything you need to get started on container dev, from your inner dev loop all the way to setting up a full end-to-end CI/CD pipeline. With the steep learning curve in your rear-view mirror, you'll be prepared to start developing with containers and deploying to Kubernetes.