1 / 41

Born in the Cloud: Lessons Learned from Building a Successful IoT Startup in Azure

Join Alan Blythe and Joey Lorich as they share their experiences and insights gained while building UniKey Technologies, a successful IoT startup in Azure. Learn about getting started on the right foot, designing for scalability, moving to microservices, embracing DevOps, and avoiding pitfalls in IoT. Discover where UniKey is today and get practical advice on network programs, scaling, architecture choices, adopting new technology, and enjoying the journey.

ehamilton
Download Presentation

Born in the Cloud: Lessons Learned from Building a Successful IoT Startup in Azure

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Born in the CloudLessons learned while building a successful IoT startup in Azure Alan Blythe Chief Architect UniKey Technologies – Orlando, FL Joey Lorich Technical Architect – Azure Application Development Microsoft Technology Center – Denver, CO BRK2410

  2. Born in the CloudLessons learned while building a successful IoT startup in Azure • Getting started on the right foot • Designing to scale • Moving to microservices • Embracing DevOps • Pitfalls of IoT • Where UniKey is today

  3. An early history

  4. Some Tech Details

  5. Where We Started What Came Next CosmosDB Application Insights App Services Azure Functions Key Vault Traffic Manager HAProxy Azure AD VM ScaleSets Cloud Services Service Bus Blob Storage Table Storage New Relic SQL Database Redis SQL Server Data Warehouse Linux VM

  6. Recent What's Next? Service Fabric Data Factory Data Lake Power BI API Management Docker in App Services Logic Apps Azure DevOps Service Fabric Mesh Kubernetes

  7. Getting started on the right foot

  8. Getting started on the right footThe challenges faced • Starting a new business is hard • Starting a new business is risky • Starting a new business is expensive

  9. Getting started on the right footWhat did UniKey do? • Raise Money • Launch a product fast • Control costs as much as possible

  10. Getting started on the right footWhy did we succeed? • Hire excited, driven people • Take advantage of programs for startups • Leverage partner expertise

  11. Designing to scale

  12. Designing to scaleThe challenges faced • UniKey had very high media-driven interest • Cost was a big concern • Very resource constrained • Know what your focus is

  13. Designing to scaleWhat did UniKey do? • Cloud-first PaaS was the only path to success • SQL Azure was a natural choice • N-tiered architecture, background workers, sharding, and caching • Embrace distributed computing concepts such as eventual consistency

  14. Designing to scaleLessons learned • Start with something already scalable • Be prepared to scale, but don’t until you need to • Well-designed monoliths are fine, and a great place to start • Good design transcends implementations • Asynchronous work is extremely important

  15. Moving to microservices

  16. Moving to microservicesThe challenges faced • Moving to support multiple verticals • Fast growing and changing teams • Increasing deployment time and risk

  17. Moving to microservicesLessons learned • What is micro? • Be conscious of Conway’s law • Consider domain-driven design • You don’t have to use containers • Beware of dependency chains • Choose an orchestration method that fits your company

  18. Embracing DevOps

  19. Embracing DevOpsThe challenges faced • Microservices • Frequently adding new partners with new deployments • Resource-constrained teams • Long testing times

  20. Embracing DevOpsWhat did UniKey do? • Embrace change, move to Azure DevOps (Formerly VSTS) • Infrastructure as code • Automate piece by piece • Find an SDLC that worked well

  21. Embracing DevOpsLessons learned • It’s not just tools, it’s culture • Fail early, fail often, fail forward • Deploy small changes, deploy often • Use deployment rings and feature flags

  22. Pitfalls of IoT

  23. Pitfalls of IoTThe challenges faced • Growing set of persistently connected IoT gateway devices • Building secure internet connected embedded devices is hard • High-scale websockets in .NET on IIS is not intuitive

  24. Pitfalls of IoTThe challenges faced How to DDOS yourself

  25. Pitfalls of IoTHow to DDOS Yourself • DNS lookups only at startup due to memory constraints • Partly custom TCP/IP stack – including retry logic • Embedded is hard, so just reboot on successive failures • Firmware updates were slow and risky • Users are unpredictable and non-conforming, IoT devices are not • Azure Cloud Services Deployment slots cut traffic instantly • Azure Cloud Services scale slowly, and reboot all roles on scaling

  26. Pitfalls of IoTLessons Learned • Don’t built an IoT platform yourself (unless it’s 2013) • Using ServiceBus, EventHub, etc for message processing is a great idea • You typically don’t need to report state unless it’s changed • Let websockets be websockets. Don’t build HTTP over it. • Serverless and Stream Analytics are very effective with IoT

  27. Where UniKey is today

  28. Where UniKey is today Small company that feels big

  29. Where UniKey is today We're growing quickly

  30. Where UniKey is today We're a Platform

  31. Born in the CloudLessons learned while building a successful IoT startup in Azure • Network and take advantage of programs • Plan for scaling • Choose the right architecture • Embrace DevOps • Adopt new technology and services • Enjoy the journey

  32. Alan Blythe @blythealan alan@unikey.com Joey Lorich @josephlorich joseph.lorich@microsoft.com Contact Information

  33. Questions?

  34. Please evaluate this sessionYour feedback is important to us! Please evaluate this session through MyEvaluations on the mobile appor website. Download the app:https://aka.ms/ignite.mobileApp Go to the website: https://myignite.techcommunity.microsoft.com/evaluations

More Related