13 episodes

Welcome to Modern Digital Applications - a podcast for corporate decision makers and executives looking to create or extend their digital business with the help of modern applications, processes, and software strategy. Your host is Lee Atchison, a recognized industry thought leader in cloud computing and published author bringing over 30 years of experience.

This podcast uses the following third-party services for analysis:

Chartable - https://chartable.com/privacy
Podtrac - https://analytics.podtrac.com/privacy-policy-gdrp

Modern Digital Applications with Lee Atchison Lee Atchison

    • Technology

Welcome to Modern Digital Applications - a podcast for corporate decision makers and executives looking to create or extend their digital business with the help of modern applications, processes, and software strategy. Your host is Lee Atchison, a recognized industry thought leader in cloud computing and published author bringing over 30 years of experience.

This podcast uses the following third-party services for analysis:

Chartable - https://chartable.com/privacy
Podtrac - https://analytics.podtrac.com/privacy-policy-gdrp

    How to maintain availability with multiple AWS accounts

    How to maintain availability with multiple AWS accounts

    In this episode, we know that using multiple availability zones helps increase your application availability and resiliency by distributing our application across multiple disperse data centers. But did you know that availability zones don’t necessarily give you the separation you expect? In fact, it is entirely possible to have two instances of a service running in two distinct availability zones, but actually have them running in the same data center, in the same physical rack, and possibly even on the same physical server! How can this be? And even more importantly, how can we avoid it? The answer involves understanding how availability zones work and how they are structured.


    And then, one of the oddest cloud services created is also one of the first cloud services. Before AI and before machine learning, humans actually powered a part of the cloud.


    This is, Life with Multiple AWS Accounts.


    Links and More Information


    The following are links mentioned in this episode, and links to related information:


    How to maintain availability when using multiple AWS accounts ( https://www.infoworld.com/article/3444860/5-pain-points-of-modern-software-development-and-how-to-overcome-them.html (https://www.infoworld.com/article/3444860/5-pain-points-of-modern-software-development-and-how-to-overcome-them.html) )


    Modern Digital Applications Website ( https://mdacast.com (https://mdacast.com) )


    Lee Atchison Articles and Presentations ( https://leeatchison.com (https://leeatchison.com) )


    Architecting for Scale, published by O’Reilly Media ( https://architectingforscale.com (https://architectingforscale.com) )


    Distributing Your Application


    When building a modern, high-performant application at scale, it’s important to make sure the individual application instances are distributed across a variety of data centers in such a way that if any given data center goes offline, the application can continue to function relatively normally. This is an industry-wide best practice, and an important characteristic to architect into your applications in order to make them sufficiently resilient to data center problems.


    The same philosophy occurs when you build your application in the cloud. Except, when you build a cloud-based application, you typically do not have visibility into which data center a particular server or cloud resource is located. This is part of the abstraction that gives the cloud its value.


    Not having visibility into which data centers your application is operating in makes it difficult to build multi data center resiliency into your applications. 


    To solve this problem, AWS created a cloud abstraction of the data center that allows you to build on this level of resiliency without being exposed to the details of data center location. The abstraction is the availability zone.


    AWS availability zones


    An AWS availability zone is an isolated set of cloud resources that allows specifying a certain level of isolation into your applications. Resources within a single availability zone may be physically or virtually near each other, to the extent that they can be dependent on each other and share subcomponents with each other. For example, two EC2 servers that are in the same availability zone may be in the same data center, in the same rack, or even on the same physical server.


    However, cloud resources that are in different availability zones are guaranteed to be separated into distinct data centers. They cannot be in the same data center, they cannot be in the same rack, and they cannot be using the same physical servers. They are distinct and independent from each other.


    Hence, the solution to the resiliency problem, you can build your application to live in multiple availability zones. If you construct your application so instances of your application are distributed across multiple availability zones,

    • 12 min
    Special Edition: The Great Serverless Debate, Redux — Special Guest Clay Smith, part 2

    Special Edition: The Great Serverless Debate, Redux — Special Guest Clay Smith, part 2

    This is a special edition of Modern Digital Applications.


    July 9th, 2018 was the launch of a podcast episode. It was an episode of the “ Clay Smith (https://www.linkedin.com/in/smithclay/) . Clay and I were guests on the show.


    That episode was a huge success, and I still get asked questions about it today. It seemed to me that it was time for an update of that debate…a redux if you will. Since New Relic’s Modern Software Podcast isn’t active right now, I thought I would take on the challenge myself and host a redo of the great debate — based on what we know about serverless in 2020.


    So, on February 21, 2020, Clay and I got together for an update to our views on the world of serverless.


    This is The Great Serverless Debate, Redux. This is the second part of that interview.


    Links and More Information


    The following are links mentioned in this episode, and links to related information:


    Modern Digital Applications Website ( https://mdacast.com (https://mdacast.com/) )


    Lee Atchison Articles and Presentations ( https://leeatchison.com (https://leeatchison.com/) )


    Architecting for Scale, published by O’Reilly Media ( https://architectingforscale.com (https://architectingforscale.com/) )


    The Great Serverless Debate ( https://leeatchison.com/2018/07/11/the-great-serverless-debate/ (https://leeatchison.com/2018/07/11/the-great-serverless-debate/) )


    Clay Smith - Twitter ( https://twitter.com/smithclay (https://twitter.com/smithclay) )


    Clay Smith - LinkedIn ( https://www.linkedin.com/in/smithclay/ (https://www.linkedin.com/in/smithclay/) )


    Clay Smith’s Monitoring Monitoring Newsletter ( https://monitoring2.substack.com/ (https://monitoring2.substack.com/) )


    Modern Software Podcast - Fredric Paul @TheFreditor ( https://twitter.com/TheFreditor (https://twitter.com/TheFreditor) )


    Modern Software Podcast - Tori Wieldt @ToriWieldt ( https://twitter.com/ToriWieldt (https://twitter.com/ToriWieldt) )


    Lee’s Guest — Clay Smith


    Clay Smith (https://www.linkedin.com/in/smithclay/) is a good friend of mine. He was a senior software engineer at several early-stage startup companies and has been building serverless solutions for many years now, from mobile backends to real-time APIs with Amazon Web Services. Clay was a senior Developer Evangelist at New Relic, which is where Clay and I met.


    Clay’s newsletter is “Monitoring Monitoring”. You can subscribe to the newsletter at https://monitoring2.substack.com/ (https://monitoring2.substack.com/) .


    Questions/Issues Discussed


    Is Lambda living up to the hype?


    Is there an end to the hype anytime soon?


    Has Fargate lived up to the hype?


    What is the role of containers vs FaaS?


    What is the role of Kubernetes?


    What types of problems are suited for FaaS and what kind of problems are not?


    How good was our guesses in 2018 for the state of serverless in 2020?


    What will be the state of serverless in 2022?


    We need a better term for FaaS than the generic term “serverless”


    Use of FaaS as a glue between external services


    Quotes


    Lee: “One of the problems with Lambda is…you are not making your service boundaries based on functionality, you are making service boundaries based on the limitation of the technology.”


    Clay: “It’s been a great two years for event driven architectures in general.”


    Clay: “There’s a new class of startups giving a Heroku type experience that look very interesting…”


    Lee: “Lambda is very good…for the hook and glue use case” [system integration] Clay: “API Glue”


    Clay: “We both definitely agree that the glue aspect is still the killer use case…”


    Clay: “Greatest disappointment around FaaS the past two years is the DevOps…workflows. These sorts of solutions are still a total mess.”


    Lee: “When Lambda first came out, that was my number one concern…how do you deal wi

    • 28 min
    News Report: Architecting for Scale, 2nd Edition

    News Report: Architecting for Scale, 2nd Edition

    The second edition of my book, Architecting for Scale, is now available!


    Links and More InformationBook Website ( https://architectingforscale.com (https://architectingforscale.com) )


    Amazon.com ( https://www.amazon.com/Architecting-Scale-Maintain-Availability-Manage/dp/1492057177/ (https://www.amazon.com/Architecting-Scale-Maintain-Availability-Manage/dp/1492057177/) )


    O’Reilly ( http://shop.oreilly.com/product/0636920274308.do (http://shop.oreilly.com/product/0636920274308.do) )


    Special ReportHello everyone and welcome to Modern Digital Applications. This is just a very quick news break...


    The second edition of my book, Architecting for Scale, is now available! This edition is dramatically updated and improved. It includes new content on cloud computing, microservices, and serverless computing. All the content has been updated and it has been significantly reorganized.


    The book is now available for purchase on amazon.com (http://amazon.com) , other technical bookstores, or directly from O’Reilly Media. It’s also available included as part of your O’Reilly Safari subscription.


    Check it out! If you have any questions or comments, feel free to reach out to me. Links to the websites where you can find out more about the book or purchase it are contained in the shownotes for this episode.


    Thank you and enjoy!




    This podcast uses the following third-party services for analysis:

    Chartable - https://chartable.com/privacy
    Podtrac - https://analytics.podtrac.com/privacy-policy-gdrp

    • 1 min
    Special Edition: The Great Serverless Debate, Redux — Special Guest Clay Smith

    Special Edition: The Great Serverless Debate, Redux — Special Guest Clay Smith

    This is a special edition of Modern Digital Applications.


    July 9th, 2018 was the launch of a podcast episode. It was an episode of the “ Clay Smith (https://www.linkedin.com/in/smithclay/) . Clay and I were guests on the show.


    That episode was a huge success, and I still get asked questions about it today. It seemed to me that it was time for an update of that debate…a redux if you will. Since New Relic’s Modern Software Podcast isn’t active right now, I thought I would take on the challenge myself and host a redo of the great debate — based on what we know about serverless in 2020.


    So, on February 21, 2020, Clay and I got together for an update to our views on the world of serverless.


    This is The Great Serverless Debate, Redux.


    Links and More Information


    The following are links mentioned in this episode, and links to related information:


    Modern Digital Applications Website ( https://mdacast.com (https://mdacast.com) )


    Lee Atchison Articles and Presentations ( https://leeatchison.com (https://leeatchison.com) )


    Architecting for Scale, published by O’Reilly Media ( https://architectingforscale.com (https://architectingforscale.com) )


    The Great Serverless Debate ( https://leeatchison.com/2018/07/11/the-great-serverless-debate/ (https://leeatchison.com/2018/07/11/the-great-serverless-debate/) )


    Clay Smith - Twitter ( https://twitter.com/smithclay (https://twitter.com/smithclay) )


    Clay Smith - LinkedIn ( https://www.linkedin.com/in/smithclay/ (https://www.linkedin.com/in/smithclay/) )


    Clay Smith’s Monitoring Monitoring Newsletter ( https://monitoring2.substack.com/ (https://monitoring2.substack.com/) )


    Modern Software Podcast - Fredric Paul @TheFreditor ( https://twitter.com/TheFreditor (https://twitter.com/TheFreditor) )


    Modern Software Podcast - Tori Wieldt @ToriWieldt ( https://twitter.com/ToriWieldt (https://twitter.com/ToriWieldt) )


    Lee’s Guest — Clay Smith


    Clay Smith (https://www.linkedin.com/in/smithclay/) is a good friend of mine. He was a senior software engineer at several early-stage startup companies and has been building serverless solutions for many years now, from mobile backends to real-time APIs with Amazon Web Services. Clay was a senior Developer Evangelist at New Relic, which is where Clay and I met.


    Clay’s newsletter is “Monitoring Monitoring”. You can subscribe to the newsletter at https://monitoring2.substack.com/ (https://monitoring2.substack.com/) .


    Questions/Issues Discussed


    Is Lambda living up to the hype?


    Is there an end to the hype anytime soon?


    Has Fargate lived up to the hype?


    What is the role of containers vs FaaS?


    What is the role of Kubernetes?


    What types of problems are suited for FaaS and what kind of problems are not?


    How good was our guesses in 2018 for the state of serverless in 2020?


    What will be the state of serverless in 2022?


    We need a better term for FaaS than the generic term “serverless”


    Use of FaaS as a glue between external services


    Quotes


    Lee: “One of the problems with Lambda is…you are not making your service boundaries based on functionality, you are making service boundaries based on the limitation of the technology.”


    Clay: “It’s been a great two years for event driven architectures in general.”


    Clay: “There’s a new class of startups giving a Heroku type experience that look very interesting…”


    Lee: “Lambda is very good…for the hook and glue use case” [system integration] Clay: “API Glue”


    Clay: “We both definitely agree that the glue aspect is still the killer use case…”


    Clay: “Greatest disappointment around FaaS the past two years is the DevOps…workflows. These sorts of solutions are still a total mess.”


    Lee: “When Lambda first came out, that was my number one concern…how do you deal with them operationally. We are still operating

    • 22 min
    Modernizing and Dynamic Infrastructures

    Modernizing and Dynamic Infrastructures

    In this episode, Our customers depend on them, and our businesses depend on them. Without modern web apps, most businesses would not survive. This is the second in a two part series on the principles for modernizing your enterprise web application. 


    And then, what is STOSA and how does it help with modern digital applications?


    Links and More InformationThe following are links mentioned in this episode, and links to related information:


    Modern Digital Applications Website ( https://mdacast.com (https://mdacast.com) )


    Lee Atchison Articles and Presentations ( https://leeatchison.com (https://leeatchison.com) )


    Architecting for Scale, published by O’Reilly Media ( https://architectingforscale.com (https://architectingforscale.com) )


    STOSA — Single Team Oriented Service Architecture ( https://stosa.org (https://stosa.org) )


    Main Story - Five Principles for Modernizing Your Enterprise Web Applications, p2Modern web applications have a lot riding on them. Our customers depend on them, and our business depends on them. Without modern web applications, many businesses would not survive. Modern web applications must scale to meet our biggest needs without suffering outages or other availability issues. In order to meet and exceed this high bar, we must build, manage, and monitor our applications using modern principles, processes, and procedures.


    There are five guiding principles that a modern application requires in order to meet these expectations. 


    In previous episodes, we discussed principle 1, using service-based architectures; principle 2, organizing teams around services; and principle 3, using DevOps processes and procedures.


    In this episode, we will finish the remaining two principles. Starting with…


    Principle #4. Use dynamic infrastructures.Customer traffic loads on our applications vary considerably. The upper bound or maximum amount of traffic your application needs to support can never be known accurately.


    In the past, as application traffic grew, we simply threw additional hardware at the problem. But as traffic variations increase, and customer usage patterns become more complicated. This simple solution is no longer reasonable.


    Simply adding hardware may be fine to handle expected peaks, but what do you do when an unexpected spike in usage arrives? When I was at Amazon, there was a term that was used. It was called the “Johnny Carson Effect”. It’s origin comes from the day that Johnny Carson died. On that day, there was a huge uptick in demand for any videotape of old episode’s of Johnny Carson’s The Tonight Show. Demand was huge, and given the suddenness of the event, it was all unexpected demand. Now-a-days, the term “going viral” is both a positive and a negative for most businesses. Going viral means huge attention given to you and your business. But it also means huge and unexpected traffic volume. The last thing you want is for your application to fail right at the point when everyone is watching.


    How can you handle the unexpected surge from such an unexpected event? It is no longer possible to throw large quantities of hardware at an application. You never know how much hardware is enough hardware to handle your possible maximum need.


    Additionally, when your application is not operating at a high volume, what do you do with the extra hardware? Typically, it’s sitting idle...which is a huge a waste of resources...and even more importantly...a waste of money. Especially if your traffic needs are highly variable or highly spiky, simply adding hardware to handle your peaks is not an effective use of resources.


    Instead, you must add resources to your applications dynamically, as they are needed and when they are needed. These resources can be applied when your traffic needs are high, and they can be released when they are no longer needed. This is what dynamic i

    • 11 min
    Modernizing Your Web Applications

    Modernizing Your Web Applications

    In this episode, Our customers depend on them, and our businesses depend on them. Without modern web apps, most businesses would not survive. I’ll present the first in a two part series on the principles for modernizing your enterprise web application. 


    And then, what does any of this have to do with my son and his wage reporting application?


    Links and More InformationThe following are links mentioned in this episode, and links to related information:


    Modern Digital Applications Website ( https://mdacast.com (https://mdacast.com) )


    Lee Atchison Articles and Presentations ( https://leeatchison.com (https://leeatchison.com) )


    Architecting for Scale, published by O’Reilly Media ( https://architectingforscale.com (https://architectingforscale.com) )


    Main Story - Five Principles for Modernizing Your Enterprise Web ApplicationsModern web applications have a lot riding on them. Our customers depend on them, and our business depends on them. Without modern web applications, many businesses would not survive. Modern web applications must scale to meet our biggest needs without suffering outages or other availability issues. In order to meet and exceed this high bar, we must build, manage, and monitor our applications using modern principles, processes, and procedures.


    There are five guiding principles that a modern application requires in order to meet these expectations. 


    Principle #1 Using service-based architecturesModern applications are large and complex, too complex to be handled as a single entity by a single team. Instead, multiple teams are required to develop, test, support, and operate these applications. This complex task is impossible when the application is a single monolith.


    To handle a large complex application, split the application into multiple independent services. Then, you can assign different pieces of the application to different teams, allowing parallel development and operation.


    By keeping modules isolated, they can be built, tested, and operated in isolation. Application problems can be more easily correlated and isolated to individual services, making it easier to decide which team should be called on to work on an issue when a problem arises.


    Scaling is not just about the amount of traffic an application receives, but about the size and complexity of the application itself. Using service-based architectures makes scaling the application easier and allows larger and more complex applications to be dealt with reasonably.


    In future segments, we will talk about the remaining four guiding principles that are required for enterprise applications to modernize. In the next segment, principle #2 is about team organization.


    Our applications *are* getting more complex, and becoming more intertwined with the fundamental operation of our business. As such, the expectations of our customers are growing, and the demands for reliability, scalability, and functionality from management are keeping pace. Only by modernizing our applications can we make our applications meet the needs of our customers and our business.


    Principle #2. Organize teams around services.Architecting your application as a service-based application is only part of the answer to modernizing your enterprise systems. Once you have your application split up into services, it is essential that you structure your development teams around those services. It is critical that a single team owns each service.


    And when I say “own”, I mean complete ownership...front to back...top to bottom.


    This includes development, testing, operation, and support. All aspects of the development and operation of each service should be handled by one and only one team.


    There is a model for application management that stresses these ownership values. STOSA, which stands for Single Team Owned Service Architecture, provides guiding princip

    • 10 min

Top Podcasts In Technology