Podcast Summary
Managing Serverless Technology at a Large Scale in a Corporation: A principal software engineer at Liberty Mutual Insurance, Christie Peralta, manages over 70,000 serverless functions and supports 5,000 developers in a serverless-first initiative. She creates starter patterns, consults with teams, and focuses on well-architected reviews and frameworks.
Christie Peralta, a principal software engineer at Liberty Mutual Insurance and an AWS serverless hero, shared her experience managing and implementing serverless technology at a large scale in a corporation. She and her team support over 5,000 developers and have embraced a serverless-first initiative. Christie discussed her role, which involves creating starter patterns, consulting with teams, and focusing on well-architected reviews and frameworks. She recently announced her recognition as an AWS serverless hero. During the conversation, she mentioned managing over 70,000 serverless functions, making her an expert in the field. The podcast episode was sponsored by Hasura, Stack Overflow, and LightStep. Christie shared her background and experiences, providing valuable insights into the world of serverless technology and its implementation in large corporations.
Liberty Mutual's Focus on Cost, Performance, and Serverless Functions: Liberty Mutual, a global insurer with 5,000 developers, leverages serverless functions for cost efficiency, event-driven computing, and automatic scaling, while maintaining on-premises applications and dealing with legacy code.
Liberty Mutual, a global tech company in the insurance industry, focuses on cost, performance optimization, reliability, and sustainability when architecting applications. With over 5,000 developers, they support a vast array of applications, from customer-facing platforms to internal tools and infrastructure. Their work includes React developers, front-end developers, application developers, and more. Their need for 70,000 serverless functions covers various aspects, including customer interactions, internal tooling, and infrastructure development. Serverless functions offer cost efficiency, as you only pay for what you use, aligning with Liberty Mutual's business model. The company's unique position involves maintaining some on-premises applications and dealing with legacy code while also embracing the cloud and serverless technology. For those considering serverless, the benefits include cost savings, event-driven computing, and automatic scaling.
Frees developers to focus on code optimization with managed infrastructure: Serverless computing offers cost savings, improved performance, and flexibility by letting cloud providers manage infrastructure, allowing developers to optimize business code.
Serverless computing offers significant cost savings and improved performance by allowing a third party, usually a cloud provider, to manage the infrastructure, freeing up resources for developers to focus on optimizing business code. This is particularly beneficial for companies dealing with a large scale of applications, some of which may only be used infrequently. The reverse side is also important, as constantly running applications can add up in costs, and cloud providers offer fault tolerance and reliability that can mitigate potential downtime. Developers are able to work in their preferred programming languages, and the flexibility of serverless computing allows teams to choose the best solution for their specific needs.
Infrastructure as Code: Automating Infrastructure Changes Through Code Commits: Infrastructure as Code allows for version control, security, and easier management of tech debt and permissions through automated code commits, using tools like AWS CDK, AWS SAM, CloudFormation, Terraform, and the Serverless Framework.
Modern software development relies heavily on infrastructure as code, which means that all infrastructure changes must be made through code commits rather than manual console interactions. This approach offers several benefits, including version control, security, and easier management of tech debt and permissions. Popular tools for implementing infrastructure as code include AWS CDK, AWS SAM, CloudFormation, Terraform, and the Serverless Framework. While the specific tool or language used is flexible, organizations can enforce policies and checks through their pipelines to ensure compliance. This episode was brought to you by Hasura, which simplifies building and maintaining GraphQL APIs, allowing you to focus on your core business logic.
Microservices architecture setup and local development with AWS: CDK tools enable local testing and development of AWS services like Lambda, DynamoDB, and S3, allowing for efficient infrastructure management in a microservices architecture.
In a microservices architecture, infrastructure setup and local development workflow can vary based on specific needs and priorities. AWS services like Lambda, DynamoDB, and S3 can be deployed together in one application or separated into different stacks. CDK is a popular choice due to its tools for local testing and development, allowing developers to check templates and run functions locally. Environment management, such as a sandbox and dev accounts, is also crucial for testing and deployment. Despite the popularity of serverless, some developers may prefer using products as a service that sit on top of AWS Lambda to avoid management and cost concerns. However, for those who choose to use AWS services directly, understanding the infrastructure setup and local development workflow is essential. CDK's tools and the ability to run functions locally make it a helpful choice for managing and testing infrastructure in a microservices architecture.
AWS CDK: A Powerful Tool for Enterprise Development: AWS CDK is a popular, community-driven tool for enterprises, offering a versatile platform for diverse use cases. With CDKv2, AWS provides a powerful solution for large enterprises, featuring constructs, patterns, and support for TypeScript and Python.
AWS's Cloud Development Kit (CDK) has come a long way and is now a highly recommended tool for enterprises looking for a powerful, community-driven developer platform. CDKv2, released during re:Invent last year, has received significant iteration and support from AWS, making it an attractive choice for AWS shops. The tool is particularly beneficial for large enterprises with diverse use cases, as it provides a platform that can cover a wide range of needs. CDK is also community-driven, with developers contributing constructs and patterns to help others build solutions more efficiently. The CDK workshop is a great starting point for those new to the tool, offering a simple and easy-to-follow "hello world" tutorial. TypeScript is the most popular language for CDK, and constructs and patterns are also valuable resources for getting started. If you've worked with serverless functions in the past, you'll find CDK's Lambda code familiar. Python is another popular language for CDK development. Overall, CDK's ease of use, community support, and versatility make it a valuable tool for enterprises looking to streamline their development processes.
Machine learning for incident response reduces noise and personalizes notifications: LightStep's system uses ML to quickly group alerts, reducing noise and enabling faster response times. It also seamlessly orchestrates alerts and triage across platforms.
LightStep's incident response system uses machine learning to quickly identify and group alerts, reducing noise and allowing for more personalized notifications. This leads to faster response times and the ability to automatically notify the right teams. Additionally, LightStep offers unified incident response by seamlessly orchestrating alerts and incident triage across various platforms. During the conversation, Wes shared his educational background, which included a computer engineering degree with a focus on circuits and building an autonomous vehicle. He then went on to work at Liberty Mutual, where he earned a master's degree in electrical and computer engineering with a focus on cloud computing, IoT, and robotics, machine learning, and AI. Wes also discussed his interest in serverless technology and how he fell into it while working with Java microservices. Wes' story showcases the importance of having a solid educational foundation and the flexibility to explore different areas of technology. His experiences in building an autonomous vehicle and working on cloud computing projects provided him with valuable skills that he was able to apply in his career. Additionally, his curiosity and willingness to learn new technologies, such as serverless, led him to new opportunities and growth within his field.
Managing Functions and Resources in a Complex Organization: Implement tagging and regularly clean up unused functions to maintain organization in a large cloud environment. Prioritize security education and implementation in pipelines for sensitive data.
Managing a large number of functions and resources in the cloud, especially in a complex organization like an insurance company dealing with sensitive data, presents significant challenges. The speaker discussed building a project that utilized a VR environment, blockchain, and crypto wallet, which triggered IoT core functions and a robot. However, they acknowledged the challenge of keeping all these functions organized, especially as the number of accounts and teams grew. To address this, they implemented tagging and are now working to identify and clean up unused functions. Security is also a top priority due to the sensitive nature of the data they handle. The organization collects data on Lambda functions, API gateways, and plans to expand this to other areas like DynamoDB and S3 buckets. Despite feeling secure in AWS, they emphasized the importance of educating teams on security best practices and implementing them in their pipelines. The sheer scale of their operations means managing roles, tagging, and policies is a significant undertaking.
Managing Cloud Infrastructure: Access, Monitoring, and Default Settings: Properly manage cloud infrastructure by setting access levels, monitoring for anomalies, and staying informed about default settings to maintain security and prevent unintended consequences.
An IAM role functions as a security privilege with permissions tied to it, ensuring proper access levels for different team members in cloud environments like AWS. It's crucial for maintaining account security and preventing unauthorized access to resources. Regarding monitoring and spiking costs, teams use a combination of self-monitoring, third-party tools, and dedicated teams to identify anomalies and educate team members about potential issues. For instance, teams might notice high memory usage in Lambda functions or unexpected charges from certain services. Additionally, AWS account governance teams handle account-level work, such as provisioning new accounts and increasing quotas. An interesting observation shared during the discussion was the potential for unintended consequences, like the creation of numerous Lambda function versions due to default settings in certain frameworks. This example highlights the importance of being aware of default settings and keeping up-to-date with changes in cloud services to avoid potential issues. In summary, maintaining proper access levels, monitoring for anomalies, and staying informed about cloud services and their default settings are essential practices for managing cloud infrastructure effectively and securely.
Managing AWS Lambda functions effectively: Keep track of old Lambda function versions, address security vulnerabilities, and optimize resources to reduce costs.
It's essential to manage your AWS Lambda functions effectively, including cleaning up old versions and addressing security vulnerabilities. By default, versioning is turned on, and you're charged based on storage, invokes, and memory consumption. Accounts start with a limited amount of storage, and some limits can be increased. When significant security issues arise, like the Log4j vulnerability, it becomes a priority to address them across all affected accounts. It's important to keep track of your team's projects, especially when exploring new technologies like Edge functions. As for the technical side, MacBook Pros are a popular choice for developers, and the preferred text editor theme and font can vary greatly.
Essential Tools and Openness to Learning for Successful Coding: Use preferred tools like Visual Studio Code, stay open to learning new languages, and adapt to trends through resources like Tech Twitter and newsletters.
Having the right tools and being open to learning are essential for successful coding. The interviewee shares his preference for Visual Studio Code, dark mode, and a basic keyboard. He wishes he had started with Python instead of Java and advises beginners to be open to learning and growing. He stays updated on tech and serverless trends through Tech Twitter and various newsletters. The interviewee emphasizes the importance of being adaptable and learning in the open. He encourages experimentation and admitting mistakes. In the realm of tech, he is excited about the future of serverless technology and the continuous evolution of programming languages and tools.
Exploring AWS's Sustainability Pillar and Serverless Development: The speaker emphasizes the importance of AWS's new sustainability pillar for economic and environmental benefits in serverless development, while also stressing the value of networking and local tech communities.
The speaker is currently focused on AWS Well Architected and looking forward to learning more about AWS's new sustainability pillar, particularly in the context of serverless development. They're excited about the potential economic and environmental benefits of using less energy in their development work. The speaker also emphasizes the importance of networking and getting involved in local tech communities to open up opportunities, something they wish they had done earlier in their career. Additionally, they mention the challenges of speaking publicly about their work in the tech industry, with some limitations on what they can discuss due to company policies.
Katie Peralta's Exciting Tech and Personal Updates: Tech professional Katie Peralta, known for her expertise in serverless architecture, shares her enthusiasm for the Doctor Strange movie and 'Low Key' show. She promotes her upcoming speaking engagements and encourages following the Serverless Denver meetup group.
The guest, Katie Peralta, is a busy and accomplished professional in the tech industry, particularly in the field of serverless architecture. She shared her excitement for the new Doctor Strange movie and her recent enjoyment of the show "Low Key." In terms of shameless plugs, Katie mentioned her upcoming speaking engagements, including the Real World Serverless podcast, AWS user group in Denver, Women Impact Denver conference, AWS Summit in Chicago, and the serverless architecture conference in Berlin. She also started the Serverless Denver meetup group and encouraged those in the Colorado area to follow it on Twitter and join the meetings. Katie can be found on Twitter as @kperalt95 and blogs on Dev.to and Medium. She has also been featured in Business Insider. Overall, Katie's passion for serverless architecture and her active involvement in the tech community make her an influential figure in the industry.