The document discusses moving a Java server application to the cloud by deploying it on Artifactory's Software-as-a-Service (SaaS) platform. Some benefits mentioned include not having to maintain the server, receiving fanatical technical support, and always having the latest version. A potential downside is not being able to deploy custom plugins. It also describes the large amount of artifacts and data stored on Artifactory and how it can easily scale to support increasing usage and storage needs.
Building a massively scalabale cloud service from grounds upBaruch Sadogursky
In this talk, we’ll go into excruciating technical detail about building a greenfield, massively scalable cloud service. As many of us are assembling open source and SaaS components to power our next generation applications, it seems as easy as choosing the leaders in each space and just gluing them together using APIs. This sentiment couldn’t possibly be more wrong. Along the path to constructing a scalable cloud service, there are many options and critical decisions to take.
This talk covers our missteps and our revised successful choices of building Bintray. We will share our challenges and how it affected our approach towards issues like: segmenting the system; supporting horizontal scaling; physical vs virtual hosts; handling cross data center deployments; managing redundancy; and supporting a cloud-based development environment. Many of these approaches you can replicate in your own construction of your next cloud solution.
How we took our server side application to the cloud and liked what we gotBaruch Sadogursky
The document discusses moving a Java server application to the cloud by deploying it on Artifactory SaaS. It describes some benefits of using Artifactory SaaS such as not needing to maintain servers and always having the latest version. It also notes a limitation is not being able to deploy custom plugins. The document then explores different multi-tenancy strategies and their tradeoffs for hosting multiple tenants on Artifactory SaaS.
Optimizing Git LFS Migration Through Repository Data-miningAtlassian
This document discusses optimizing migration to Git LFS (Large File Storage) by analyzing repository data. It recommends setting a Git LFS file size cutoff between 100KB and 1000KB based on metrics like clone size increase over time, number of files tracked, and workspace size without large files. The analysis found that a cutoff below 800KB produced the best results for these metrics when migrating a large 75GB repository to Git LFS.
How Netflix tests in production to augment more traditional testing methods. This talk covers the Simian Army (Chaos Monkey & friends, code coverage in production, and canary testing.
The document discusses integration hell, which can occur when developing software if changes and deployments happen too frequently without proper processes. It provides details on a real-world project with 6 developers, over 900 files, and a deployment every 43 minutes on average. Recommendations are made around using tools like Git, Jenkins, virtualenv, and others to help manage the integration process and spot problems early.
Palringo : a startup's journey from a data center to the cloudPhilipBasford
UK-based app developer Palringo is a long-standing provider of mobile chat, entertainment bots, and gaming services to millions of people around the world. Palringo brings users together in an immersive second world to chat and play in groups of all sizes, exchanging millions of messages per hour. With ten years’ expertise in fostering a thriving atmosphere of community and friendly competition among users, Palringo is building on its strengths in the Middle East and North Africa with plans for expansion in Western markets. With increasing emphasis on user-created content, Palringo is pushing the boundaries of social and mobile technologies.
Building a massively scalabale cloud service from grounds upBaruch Sadogursky
In this talk, we’ll go into excruciating technical detail about building a greenfield, massively scalable cloud service. As many of us are assembling open source and SaaS components to power our next generation applications, it seems as easy as choosing the leaders in each space and just gluing them together using APIs. This sentiment couldn’t possibly be more wrong. Along the path to constructing a scalable cloud service, there are many options and critical decisions to take.
This talk covers our missteps and our revised successful choices of building Bintray. We will share our challenges and how it affected our approach towards issues like: segmenting the system; supporting horizontal scaling; physical vs virtual hosts; handling cross data center deployments; managing redundancy; and supporting a cloud-based development environment. Many of these approaches you can replicate in your own construction of your next cloud solution.
How we took our server side application to the cloud and liked what we gotBaruch Sadogursky
The document discusses moving a Java server application to the cloud by deploying it on Artifactory SaaS. It describes some benefits of using Artifactory SaaS such as not needing to maintain servers and always having the latest version. It also notes a limitation is not being able to deploy custom plugins. The document then explores different multi-tenancy strategies and their tradeoffs for hosting multiple tenants on Artifactory SaaS.
Optimizing Git LFS Migration Through Repository Data-miningAtlassian
This document discusses optimizing migration to Git LFS (Large File Storage) by analyzing repository data. It recommends setting a Git LFS file size cutoff between 100KB and 1000KB based on metrics like clone size increase over time, number of files tracked, and workspace size without large files. The analysis found that a cutoff below 800KB produced the best results for these metrics when migrating a large 75GB repository to Git LFS.
How Netflix tests in production to augment more traditional testing methods. This talk covers the Simian Army (Chaos Monkey & friends, code coverage in production, and canary testing.
The document discusses integration hell, which can occur when developing software if changes and deployments happen too frequently without proper processes. It provides details on a real-world project with 6 developers, over 900 files, and a deployment every 43 minutes on average. Recommendations are made around using tools like Git, Jenkins, virtualenv, and others to help manage the integration process and spot problems early.
Palringo : a startup's journey from a data center to the cloudPhilipBasford
UK-based app developer Palringo is a long-standing provider of mobile chat, entertainment bots, and gaming services to millions of people around the world. Palringo brings users together in an immersive second world to chat and play in groups of all sizes, exchanging millions of messages per hour. With ten years’ expertise in fostering a thriving atmosphere of community and friendly competition among users, Palringo is building on its strengths in the Middle East and North Africa with plans for expansion in Western markets. With increasing emphasis on user-created content, Palringo is pushing the boundaries of social and mobile technologies.
The document discusses some challenges, or "gaps", in the serverless development lifecycle including access and permission management, collaboration mechanisms, testing, and monitoring/instrumentation. It presents these gaps as problems that serverless applications currently face and offers some solutions. For access and permission management, it suggests using a framework that automatically generates necessary permissions at deployment time. For collaboration, it proposes automatically namespacing resource names. For testing, it advises implementing integration tests locally using service fakes when possible. And for monitoring, it recommends letting frameworks automatically instrument functions according to defined rules. The overall message is that while serverless applications present new challenges, frameworks can help address these gaps to streamline the development process.
The document discusses event-driven infrastructure and how infrastructure can react to different types of events. It describes how infrastructure as code tools like Puppet, Chef, and Ansible can be used to configure infrastructure. It also discusses how serverless architectures using AWS Lambda allow infrastructure to scale automatically in response to events with no administration. Finally, it considers how event-driven infrastructure affects operational practices for DevOps.
IaC? VSTS to the rescue! Abbreviations explainedJeroen Niesen
This document discusses DevOps and infrastructure as code (IaC) using Azure Resource Manager. It begins with an overview of how Agile development processes led to the need for immutable infrastructure and DevOps. Infrastructure is now defined as code using ARM templates to ensure consistency and deployability. The document then outlines how IaC, DevOps tools like VSTS, and a continuous delivery pipeline can be used together for automated deployments in a production environment every sprint. It concludes by advertising an upcoming session on continuous delivery for IT professionals.
The document discusses Function as a Service (FaaS) and how it can be used with frameworks. FaaS allows developers to build and run application functionalities without managing infrastructure. It focuses on business logic over implementation details. The document provides an overview of FaaS and how it works using Apache OpenWhisk as an example. It also discusses how FaaS can scale functions on demand and be used for building microservices and REST APIs. Appsody is presented as a tool that uses FaaS and stacks to provide a development workflow for building cloud-native applications.
Embracing Failure - Fault Injection and Service Resilience at NetflixJosh Evans
A presentation given at AWS re:Invent on how Netflix induces failure to validate and harden production systems. Technologies discussed include the Simian Army (Chaos Monkey, Gorilla, Kong) and our next gen Failure Injection Test framework (FIT).
CI/CD and Asset Serving for Single Page AppsMike North
This document discusses modern CI/CD and asset serving practices. It defines continuous integration as running automated tests on code changes to provide quick feedback. Continuous deployment automates releasing code to production without human intervention. The document recommends keeping the CI/CD pipeline fast through practices like modular code and fast tests. It also discusses asset serving techniques like versioning assets, maintaining canary environments, and notifying users of new releases. Overall, the document promotes CI/CD and advanced asset serving practices to increase velocity, reliability and user experience for modern web applications.
Philip Lombardi discusses Datawire's experience using Spinnaker for continuous deployment of microservices. While Spinnaker allows for custom deployment workflows and works as promised, Datawire encountered issues with Spinnaker's complex UI, difficulty reconfiguring and upgrading, and slow developer experience. Lombardi concludes that Spinnaker may be overkill for small teams and its deployment, UI, and configuration need improvement for broader adoption.
Slide deck for a presentation at OSCON 2011 about why Netflix uses web technology for TV user interfaces and how we maximize performance for a broad range of devices.
How and why test Azure Front Door with AWS Lambda & PowerShell? | Osman Sahin...UK DevOps Collective
Osman Sahin, a regular attendee of our events, explains how and why he is using AWS Lambda & PowerShell to test the new Azure Front Door service.
Presented Wednesday 28th July 2019 at the London PowerShell User Group Meetup hosted by dotdigital Group.
Connect with Osman Sahin:
- LinkedIn: https://www.linkedin.com/in/osmanysahin/
Thanks to dotdigital Group (https://dotdigital.com / https://twitter.com/dotdigital) for providing the venue, food and drinks. We very much appreciate your continued support of our community of PowerShell & DevOps tech enthusiasts.
Join our next event at https://www.meetup.com/PowerShell-London-UK/. We are running at least one Meetup every month.
#PowerShell #Azure #AWS #DevOps
The document discusses techniques for achieving zero downtime deployments. It begins with an introduction and overview before covering specific methods such as blue-green deployments, canary releases, and rolling deployments. It also provides details on tools that can be used and considerations for deploying to web servers and databases. The document advocates combining different techniques into a hybrid 1/10/100 approach for deploying code changes to environments in a phased manner to minimize risk.
This document summarizes the keynote presentation for RavenDB 3.0 by Oren Eini. It discusses many of the major new features and changes in RavenDB 3.0, including the new Voron storage engine, support for OWIN and Web API, improved indexing and operations, the new RavenFS file system, and a redesigned studio interface. It also provides context on the history and development of RavenDB over time. Oren highlights how these changes are aimed at reducing friction for users and increasing access to the database system.
Let's say you're a data scientist, and you've been asked to build infrastructure. Here I've distilled some best practices as an introduction for people who are new to DevOps.
(SPOT302) Availability: The New Kind of Innovator’s DilemmaAmazon Web Services
Successful companies, while focusing on their current customers' needs, often fail to embrace disruptive technologies and business models. This phenomenon, known as the "Innovator's Dilemma," eventually leads to many companies' downfall and is especially relevant in the fast-paced world of online services. In order to protect its leading position and grow its share of the highly competitive global digital streaming market, Netflix has to continuously increase the pace of innovation by constantly refining recommendation algorithms and adding new product features, while maintaining a high level of service uptime. The Netflix streaming platform consists of hundreds of microservices that are constantly evolving, and even the smallest production change may cause a cascading failure that can bring the entire service down. We face a new kind of Innovator's Dilemma, where product changes may not only disrupt the business model but also cause production outages that deny customers service access. This talk will describe various architectural, operational and organizational changes adopted by Netflix in order to reconcile rapid innovation with service availability.
The document is an agenda for a presentation titled "DevOps: the Atlassian way, how to accelerate your Operations". The presentation will cover preparing infrastructure, an overview of ALM tools like Jira, Bitbucket, Bamboo, and Chef, and how to build a scalable infrastructure for deployment using these tools. It will also discuss managing test environments from Jira, autoscaling infrastructure, and accelerating the concept to launch cycle from 10 days to 10 minutes using an Atlassian-based approach.
This document discusses how Dan Cuellar accidentally created the wildly popular open source mobile testing framework Appium. It describes how Appium works and its philosophy of being inclusive, free, and open source. It provides code examples for setting up tests on iOS and Android. It also outlines how Cuellar grew the project from 0 to over 100,000 users through conferences, forums, and being very inclusive. It discusses challenges like conflict, loss of control, and rewriting the codebase, and looks towards the future of Appium.
Engineering Netflix Global Operations in the CloudJosh Evans
Delivered at re:Invent 2015.
Operating a massively scalable, constantly changing, distributed global service is a daunting task. We innovate at breakneck speed to attract new customers and stay ahead of the competition. This means more features, more experiments, more deployments, more engineers making changes in production environments, and ever-increasing complexity. Simultaneously improving service availability and accelerating rate of change seems impossible on the surface. At Netflix, operations engineering is both a technical and organizational construct designed to accomplish just that by integrating disciplines like continuous delivery, fault injection, regional traffic management, crisis response, best practice automation, and real-time analytics. In this talk, designed for technical leaders seeking a path to operational excellence, we'll explore these disciplines in depth and how they integrate and create competitive advantages.
Heroku is a platform as a service that originally started as a Ruby PaaS but now supports Node.js, Clojure, Grails, Scala, and Python. It uses the Git version control system for deployment and a dyno process model for scaling applications. While flexible in allowing custom buildpacks and configuration via environment variables, there are also restrictions like maximum source code size and memory limits for dyno processes.
Serverless Workflows on AWS - A Journey from SWF to Step FunctionsForrest Brazeal
Over the past year, my team and I designed and implemented multiple serverless workflow architectures on AWS to support continuous deployment of large enterprise applications. We pushed the limits of Amazon's SWF and Step Functions services, learned a lot about what works (and doesn't work) and lived to share our story with you.
Built around real world case studies, my talk features:
- A deep dive into possible serverless workflow architectures on AWS, using CloudWatch Events, Lambda, Step Functions, DynamoDB, SWF, and more
- Detailed comparison and contrast of Step Functions with older serverless AWS workflow solutions
- High-level discussion of when a serverless workflow architecture makes sense, and how to spot and avoid a workflow architecture that is "serverless for serverless' sake"
From the perspective of software developers, you must still build, integrate, and deploy the software that makes up your Serverless Stack, be it Lambda functions, APIs in API gateway, databases in DynamoDB, streams in Kinesis, and so on. What does provisioning, continuous integration, continuous deployment, and monitoring look like in the Serverless world? We will look at effective end-to-end approaches for to achieve all of the above.
Speaker: Krishnan Mani,
Solutions Architect, Amazon India
Are Websphere or Weblogic appropriate for your project? Too big" ? Do Jetty or Tomcat actually meet your needs? Too "small"?
Neither too big nor too small. What you need is "just enough app server" to support only the subset of APIs and services your application needs.
Follow these reasons to know java’s importancenishajj
The document discusses several reasons for the importance of Java, including that Java applications can run on any system due to the Java virtual machine, Java has strong IDE support to help developers, and Java is used widely in areas like Android and enterprise applications. Specifically, it notes that Java's virtual machine allows applications to run the same on all processors and operating systems, Java IDEs like Eclipse make development easier, and Java is commonly used for Android development and for integrating with other systems through APIs.
The document discusses some challenges, or "gaps", in the serverless development lifecycle including access and permission management, collaboration mechanisms, testing, and monitoring/instrumentation. It presents these gaps as problems that serverless applications currently face and offers some solutions. For access and permission management, it suggests using a framework that automatically generates necessary permissions at deployment time. For collaboration, it proposes automatically namespacing resource names. For testing, it advises implementing integration tests locally using service fakes when possible. And for monitoring, it recommends letting frameworks automatically instrument functions according to defined rules. The overall message is that while serverless applications present new challenges, frameworks can help address these gaps to streamline the development process.
The document discusses event-driven infrastructure and how infrastructure can react to different types of events. It describes how infrastructure as code tools like Puppet, Chef, and Ansible can be used to configure infrastructure. It also discusses how serverless architectures using AWS Lambda allow infrastructure to scale automatically in response to events with no administration. Finally, it considers how event-driven infrastructure affects operational practices for DevOps.
IaC? VSTS to the rescue! Abbreviations explainedJeroen Niesen
This document discusses DevOps and infrastructure as code (IaC) using Azure Resource Manager. It begins with an overview of how Agile development processes led to the need for immutable infrastructure and DevOps. Infrastructure is now defined as code using ARM templates to ensure consistency and deployability. The document then outlines how IaC, DevOps tools like VSTS, and a continuous delivery pipeline can be used together for automated deployments in a production environment every sprint. It concludes by advertising an upcoming session on continuous delivery for IT professionals.
The document discusses Function as a Service (FaaS) and how it can be used with frameworks. FaaS allows developers to build and run application functionalities without managing infrastructure. It focuses on business logic over implementation details. The document provides an overview of FaaS and how it works using Apache OpenWhisk as an example. It also discusses how FaaS can scale functions on demand and be used for building microservices and REST APIs. Appsody is presented as a tool that uses FaaS and stacks to provide a development workflow for building cloud-native applications.
Embracing Failure - Fault Injection and Service Resilience at NetflixJosh Evans
A presentation given at AWS re:Invent on how Netflix induces failure to validate and harden production systems. Technologies discussed include the Simian Army (Chaos Monkey, Gorilla, Kong) and our next gen Failure Injection Test framework (FIT).
CI/CD and Asset Serving for Single Page AppsMike North
This document discusses modern CI/CD and asset serving practices. It defines continuous integration as running automated tests on code changes to provide quick feedback. Continuous deployment automates releasing code to production without human intervention. The document recommends keeping the CI/CD pipeline fast through practices like modular code and fast tests. It also discusses asset serving techniques like versioning assets, maintaining canary environments, and notifying users of new releases. Overall, the document promotes CI/CD and advanced asset serving practices to increase velocity, reliability and user experience for modern web applications.
Philip Lombardi discusses Datawire's experience using Spinnaker for continuous deployment of microservices. While Spinnaker allows for custom deployment workflows and works as promised, Datawire encountered issues with Spinnaker's complex UI, difficulty reconfiguring and upgrading, and slow developer experience. Lombardi concludes that Spinnaker may be overkill for small teams and its deployment, UI, and configuration need improvement for broader adoption.
Slide deck for a presentation at OSCON 2011 about why Netflix uses web technology for TV user interfaces and how we maximize performance for a broad range of devices.
How and why test Azure Front Door with AWS Lambda & PowerShell? | Osman Sahin...UK DevOps Collective
Osman Sahin, a regular attendee of our events, explains how and why he is using AWS Lambda & PowerShell to test the new Azure Front Door service.
Presented Wednesday 28th July 2019 at the London PowerShell User Group Meetup hosted by dotdigital Group.
Connect with Osman Sahin:
- LinkedIn: https://www.linkedin.com/in/osmanysahin/
Thanks to dotdigital Group (https://dotdigital.com / https://twitter.com/dotdigital) for providing the venue, food and drinks. We very much appreciate your continued support of our community of PowerShell & DevOps tech enthusiasts.
Join our next event at https://www.meetup.com/PowerShell-London-UK/. We are running at least one Meetup every month.
#PowerShell #Azure #AWS #DevOps
The document discusses techniques for achieving zero downtime deployments. It begins with an introduction and overview before covering specific methods such as blue-green deployments, canary releases, and rolling deployments. It also provides details on tools that can be used and considerations for deploying to web servers and databases. The document advocates combining different techniques into a hybrid 1/10/100 approach for deploying code changes to environments in a phased manner to minimize risk.
This document summarizes the keynote presentation for RavenDB 3.0 by Oren Eini. It discusses many of the major new features and changes in RavenDB 3.0, including the new Voron storage engine, support for OWIN and Web API, improved indexing and operations, the new RavenFS file system, and a redesigned studio interface. It also provides context on the history and development of RavenDB over time. Oren highlights how these changes are aimed at reducing friction for users and increasing access to the database system.
Let's say you're a data scientist, and you've been asked to build infrastructure. Here I've distilled some best practices as an introduction for people who are new to DevOps.
(SPOT302) Availability: The New Kind of Innovator’s DilemmaAmazon Web Services
Successful companies, while focusing on their current customers' needs, often fail to embrace disruptive technologies and business models. This phenomenon, known as the "Innovator's Dilemma," eventually leads to many companies' downfall and is especially relevant in the fast-paced world of online services. In order to protect its leading position and grow its share of the highly competitive global digital streaming market, Netflix has to continuously increase the pace of innovation by constantly refining recommendation algorithms and adding new product features, while maintaining a high level of service uptime. The Netflix streaming platform consists of hundreds of microservices that are constantly evolving, and even the smallest production change may cause a cascading failure that can bring the entire service down. We face a new kind of Innovator's Dilemma, where product changes may not only disrupt the business model but also cause production outages that deny customers service access. This talk will describe various architectural, operational and organizational changes adopted by Netflix in order to reconcile rapid innovation with service availability.
The document is an agenda for a presentation titled "DevOps: the Atlassian way, how to accelerate your Operations". The presentation will cover preparing infrastructure, an overview of ALM tools like Jira, Bitbucket, Bamboo, and Chef, and how to build a scalable infrastructure for deployment using these tools. It will also discuss managing test environments from Jira, autoscaling infrastructure, and accelerating the concept to launch cycle from 10 days to 10 minutes using an Atlassian-based approach.
This document discusses how Dan Cuellar accidentally created the wildly popular open source mobile testing framework Appium. It describes how Appium works and its philosophy of being inclusive, free, and open source. It provides code examples for setting up tests on iOS and Android. It also outlines how Cuellar grew the project from 0 to over 100,000 users through conferences, forums, and being very inclusive. It discusses challenges like conflict, loss of control, and rewriting the codebase, and looks towards the future of Appium.
Engineering Netflix Global Operations in the CloudJosh Evans
Delivered at re:Invent 2015.
Operating a massively scalable, constantly changing, distributed global service is a daunting task. We innovate at breakneck speed to attract new customers and stay ahead of the competition. This means more features, more experiments, more deployments, more engineers making changes in production environments, and ever-increasing complexity. Simultaneously improving service availability and accelerating rate of change seems impossible on the surface. At Netflix, operations engineering is both a technical and organizational construct designed to accomplish just that by integrating disciplines like continuous delivery, fault injection, regional traffic management, crisis response, best practice automation, and real-time analytics. In this talk, designed for technical leaders seeking a path to operational excellence, we'll explore these disciplines in depth and how they integrate and create competitive advantages.
Heroku is a platform as a service that originally started as a Ruby PaaS but now supports Node.js, Clojure, Grails, Scala, and Python. It uses the Git version control system for deployment and a dyno process model for scaling applications. While flexible in allowing custom buildpacks and configuration via environment variables, there are also restrictions like maximum source code size and memory limits for dyno processes.
Serverless Workflows on AWS - A Journey from SWF to Step FunctionsForrest Brazeal
Over the past year, my team and I designed and implemented multiple serverless workflow architectures on AWS to support continuous deployment of large enterprise applications. We pushed the limits of Amazon's SWF and Step Functions services, learned a lot about what works (and doesn't work) and lived to share our story with you.
Built around real world case studies, my talk features:
- A deep dive into possible serverless workflow architectures on AWS, using CloudWatch Events, Lambda, Step Functions, DynamoDB, SWF, and more
- Detailed comparison and contrast of Step Functions with older serverless AWS workflow solutions
- High-level discussion of when a serverless workflow architecture makes sense, and how to spot and avoid a workflow architecture that is "serverless for serverless' sake"
From the perspective of software developers, you must still build, integrate, and deploy the software that makes up your Serverless Stack, be it Lambda functions, APIs in API gateway, databases in DynamoDB, streams in Kinesis, and so on. What does provisioning, continuous integration, continuous deployment, and monitoring look like in the Serverless world? We will look at effective end-to-end approaches for to achieve all of the above.
Speaker: Krishnan Mani,
Solutions Architect, Amazon India
Are Websphere or Weblogic appropriate for your project? Too big" ? Do Jetty or Tomcat actually meet your needs? Too "small"?
Neither too big nor too small. What you need is "just enough app server" to support only the subset of APIs and services your application needs.
Follow these reasons to know java’s importancenishajj
The document discusses several reasons for the importance of Java, including that Java applications can run on any system due to the Java virtual machine, Java has strong IDE support to help developers, and Java is used widely in areas like Android and enterprise applications. Specifically, it notes that Java's virtual machine allows applications to run the same on all processors and operating systems, Java IDEs like Eclipse make development easier, and Java is commonly used for Android development and for integrating with other systems through APIs.
Learn about the breaking changes that went into Java since Java 8 and tools to help you find migration issues when migrating from Java 8 to Java 11/13.
The document discusses using Django with Jython to build web applications that can leverage both the Python and Java ecosystems. Some key points covered include:
- Jython allows running Python code on the Java Virtual Machine, enabling access to Java libraries and deployment on Java application servers.
- Django applications can be bundled and deployed as WAR files to standard Java application servers, providing features like load balancing and management tools.
- Using Jython and Java application servers allows leveraging existing Java infrastructure while still using Python and Django for rapid development and their strengths in areas like web development.
- Examples of deployment options like Google App Engine are compared, with Java application servers being presented as having advantages in areas like scalability and
Slides from a talk our iOS Product Manager, Nadav Wizman, gave at Advanced iOS Engineering event at The Junction (@thejunction32).
Read the blog post: http://blog.onavo.com/?p=443
This document discusses serverless computing and function as a service (FaaS). It begins with an introduction to serverless and FaaS concepts like functions being custom code that runs ephemerally in response to events. The document then shares experiences developing and operating a serverless photo platform called PhotoVogue at scale. Challenges discussed include vendor lock-in and managing shared dependencies between functions. Disaster recovery and testing operations are also covered. The document concludes with considerations for when FaaS may or may not be a good fit.
This document summarizes Jan Jongboom's presentation on building web applications for offline use. Some key points:
1. Only 2.5 billion people out of 7 billion have internet access, so mobile users often don't have a connection. Applications need to work offline.
2. Applications have two parts - the shell (code, UI, assets) and app content (dynamic data). The shell can be cached using the AppCache API to work offline.
3. App content is fetched via AJAX but can be stored in localStorage to serve offline. Path caching pre-fetches related data to improve performance.
4. While AppCache works today, the ServiceWorker API proposed by Google
This document provides an introduction and overview of Lift web framework and how to get it running on Google App Engine for Java (GAE/J). It begins with introductions of Scala programming language and Lift framework. It then explains what GAE/J is and how to set up a basic Lift project to run on GAE/J using Maven. References for further information on Scala, Lift and running Lift on GAE/J are also provided. The document concludes by inviting questions and thanking attendees.
2015 - Introduction to building enterprise web applications using Angular.jsWebF
Introduction presentation for workshop - Building Enterprise Web applications using Angular.js. It gives a quick 10 minutes overview of what it means to build an enterprise web app.
Java is the class-based and object-oriented programming language. In java, you can write once and run anywhere means WORA. Here get the Top 6 new features in Java 2019.
Declaring Server App Components in Pure JavaAtlassian
Today, server app developers declare their components using a mixture of technologies that includes atlassian-plugin.xml, Spring XML files, and Spring Scanner. This fragmented approach comes with its own learning curve and an array of pitfalls.
In this talk, Andrew Swan from Atlassian's Server Java Platform team will describe how server app developers can declare their Spring components in pure Java code. This approach is cleaner, more powerful, more flexible, easier to reason about, and more industry-standard. Attendees will also learn about a new Atlassian library that facilitates this approach by providing easy importing and exporting of OSGi services.
Attendees will come away being immediately able to start using Java-based configuration in their server apps. Links to documentation and working sample code will be provided.
Maven is a build tool that can manage a project's build process, dependencies, documentation and reporting. It uses a Project Object Model (POM) file to store build configuration and metadata. Maven has advantages over Ant like built-in functionality for common tasks, cross-project reuse, and support for conditional logic. It works by defining the project with a POM file then running goals bound to default phases like compile, test, package to build the project.
The document discusses JBoss Application Server 7 (AS 7). It provides an overview of AS 7's features including speed, modularity, lightweight design, and ease of administration. It also discusses how AS 7 is built using tools like Maven and how the build process can be improved to better target specific platforms. Finally, it briefly defines what free and open source software (FOSS) is.
This document provides an overview of Google Web Toolkit (GWT), including its history and development, why it is still useful despite newer JavaScript frameworks, how it works, and examples of its use. Key points include: GWT started at Google but is now an open source project overseen by a committee including Google; it allows developing complex browser apps in Java that compile to optimized JavaScript; it enables strong typing and code reuse across platforms; major companies like Google use it for applications; and frameworks like Errai extend it for full-stack web development.
JRebel is a tool that allows Java developers to see changes to code instantly without redeploying applications. It eliminates lengthy redeploys, allowing developers to test incremental changes quickly and spend more time on coding, debugging, and collaborating. JRebel supports over 90 frameworks and allows remote debugging and deploying code changes to servers from a local machine. By removing redeploys, JRebel helps developers work more efficiently and productively.
JRebel is a tool that allows Java developers to see changes to code instantly without redeploying applications. It eliminates lengthy redeploys, allowing developers to test incremental changes quickly and spend more time on coding, debugging, and collaborating with colleagues. JRebel supports over 90 frameworks and allows both local and remote development. By removing redeploys, JRebel helps developers work more efficiently and productively.
Coding With JRebel - Java Forever ChangedK. Dachos
JRebel is a tool that allows Java developers to see changes to code instantly without redeploying applications. It eliminates wasted time waiting for redeploys. With JRebel, developers can debug remotely, make incremental changes, and have more time for tasks like communicating with colleagues. JRebel supports over 90 frameworks and works locally or remotely, improving productivity.
Similar to How we took our server side application to the cloud and liked what we got (20)
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April ...Baruch Sadogursky
The document discusses patterns and antipatterns for continuous software updates. It describes challenges with continuous updates including things that can go wrong with updates and solutions like local rollbacks, over-the-air updates, continuous rather than batch updates, automated deployments, frequent updates, state awareness, progressive delivery, observability, rollbacks, and feature flags. The goal is to transition to extremely tiny and frequent updates, called Liquid Software, to provide an illusion of software flowing continuously from development to the target.
So, you want to update the software for your user, be it the nodes in your K8s cluster, a browser on user’s desktop, an app in user’s smartphone or even a user’s car. What can possibly go wrong?
In this talk, we’ll analyze real-world software update fails and how multiple DevOps patterns, that fit a variety of scenarios, could have saved the developers. Manually making sure that everything works before sending an update and expecting the user to do acceptance tests before they update is most definitely not on the list of such patterns.
Join us for some awesome and scary continuous update horror stories and some obvious (and some not so obvious) proven ideas for improvement and best practices you can start following tomorrow.
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code NY...Baruch Sadogursky
In this talk, we’ll take you to a scaling journey, from 3 developers to a 100. We’ll talk about the challenges each milestone in this growth brings, both technological and methodological, and how to solve those challenges using the right mix of people, the right selection of tools and the correctly crafted process. The speakers excel in the different aspects of this triangle and went through this journey (more than once) themselves. And the fun and entertaining presentation as a Greek tragedy can’t hurt, can it?
Data driven devops as presented at QCon London 2018Baruch Sadogursky
Devops is usually viewed from a traditional perspective of a collaboration of Dev, Ops, and QA, driven by the change in Culture, People, and Process. But how do you know where you stand and where to move? As in almost any field, data and metrics give you the gauges and instruments. In this talk, we’ll talk about the key measurements for the DevOps transformation process and provide you with 3 metrics you can start measuring tomorrow.
A Research Study Into DevOps Bottlenecks as presented at Oracle Code LA 2018Baruch Sadogursky
We asked the Fortune 500 software delivery leaders what holds them back. This talk is the analysis of their insights on what bottlenecks they encountered in their DevOps journey.
You know what to expect by now: funny and puzzling questions about Java 8 and Java 9, JFrog t-shirts are airborne, the usual combo of learning and fun ahead!
Where the Helm are your binaries? as presented at Canada Kubernetes MeetupsBaruch Sadogursky
Do you always know what’s going on with your product artifacts since the moment they are built by the CI server from Git sources all the way to being deployed by Helm into Kuberenetes?
In this talk, we will show how to build a reliable and transparent pipeline from code to cluster using Git, Artifactory, Docker, Kubernetes, and Helm. We’ll show how you such a pipeline can help you answer the big questions: What to deploy, What is deployed, and what is this artifact that I am looking for. This kind of transparency is critical for today’s environments, and Kubernetes with Helm shouldn’t be an exception.
By Baruch Sadogursky
Devops is usually viewed from a traditional perspective of a collaboration of Dev, Ops and QA, driven by the change in Culture, People and Process. But how do you know where you stand and were to move? As in almost any field, data and metrics give you the gauges and instruments. In this talk we’ll talk about the key measurements for the DevOps transformation process and provide you with 3 metrics you can start measuring tomorrow.
A Research Study into DevOps Bottlenecks as presented at Codemash 2018Baruch Sadogursky
By Baruch Sadogursky
We asked the Fortune 500 software delivery leaders what holds them back. This talk is the analysis of their insights on what bottlenecks they encountered in their DevOps journey.
Best Practices for Managing Docker Versions as presented at JavaOne 2017Baruch Sadogursky
By Baruch Sadogursky
There are three hard things in computer science: cache invalidation, naming things, and off-by-one errors. This session tackles naming, especially Docker version naming. Labels, tags, checksums...how should you use them to keep track of Docker versions? What about dev versus prod images—how best to distinguish those? What about the “latest” tag? What about cleanup? Could we do more? Versioning often seems like a simple problem, but when you have a tool that gives you as much power and flexibility as Docker does, it often helps to develop guidelines. The presentation examines the tools available for managing Docker images and some simple patterns you can employ in various use cases for CI/CD to keep track of your containers.
Troubleshooting & Debugging Production Microservices in Kubernetes as present...Baruch Sadogursky
Debugging applications in production is like being the detective in a crime movie. Especially with microservices. Especially with containers. Especially in the cloud. Trying to see what’s going on in a production deployment at scale is impossible without proper tools! Google has spent over a decade deploying containerized Java applications at unprecedented scale and the infrastructure and tools developed by Google have made it uniquely possible to manage, troubleshoot, and debug, at scale.
Join this session to see how you can diagnose and troubleshoot production issues w/ out of the box Kubernetes tools, as well as getting insight from the ecosystem with Weave Scope, JFrog Artifactory & Stackdriver tools.
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017Baruch Sadogursky
As in a good Greek Tragedy, scaling devops to big teams has 3 stages and usually end badly. In this play (it’s more than a talk!) we’ll present you with Pentagon Inc, and their way to scaling devops from a team of 3 engineers to a team of 100 (spoiler – it’s painful!)
Amazon Alexa Skills vs Google Home Actions, the Big Java VUI Faceoff as prese...Baruch Sadogursky
In this session we will compare and contrast the experience of implementing voice user interface for the two market leader voice activated assistants. Both are extendable, both have Java APIs, but which is better? Two speakers, two laptops, two IDEs writing Java code to implement the same Alexa Skill and Google Home Action and you pick the winner!
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Days Be...Baruch Sadogursky
As in a good Greek Tragedy, scaling devops to big teams has 3 stages and usually end badly. In this play (it’s more than a talk!) we’ll present you with Pentagon Inc, and their way to scaling devops from a team of 3 engineers to a team of 100 (spoiler – it’s painful!)
Java Puzzlers NG S02: Down the Rabbit Hole as it was presented at The Pittsbu...Baruch Sadogursky
Moar puzzlers! The more we work with Java 8, the more we go into the rabbit hole. Did they add all those streams, lambdas, monads, Optionals and CompletableFutures only to confuse us? It surely looks so! And Java 9 that heads our way brings even more of what we like the most, more puzzlers, of course! In this season we as usual have a great batch of the best Java WTF, great jokes to present them and great prizes for the winners!
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...Baruch Sadogursky
As in a good Greek Tragedy, scaling devops to big teams has 3 stages and usually end badly. In this play (it’s more than a talk!) we’ll present you with Pentagon Inc, and their way to scaling devops from a team of 3 engineers to a team of 100 (spoiler – it’s painful!)
Developer relations strategy is often an afterthought. This session’s speaker asks whether that’s OK and gets the opinion of DevRel leaders from companies large and small.
In this talk, Baruch Sadogursky presents the challenges of a high demand SaaS product incident triage at scale, as well as discuss the sources of log items, including the platform, tenants and other types of log sources. He will show practical examples of collector and filters configuration and will take you through a number of real world examples of problems investigations using Artifactory and Sumo Logic.
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOpsBaruch Sadogursky
No relationship in DevOps is more important than that between your CI/CD server and your Binary Repository. Jenkins has long been the go-to server for CI/CD, and JFrog Artifactory has long been one of the most popular integrations with it. This webinar focuses on the new features of the integration, leveraging the Jenkins Pipeline DSL for infrastructure-as-code of your favorite artifactory features whether it be generic, maven, gradle or Docker, and will show an end-to-end example of pipelines across multiple technologies and how powerful these new capabilities are.
Patterns and antipatterns in Docker image lifecycle as was presented at DC Do...Baruch Sadogursky
While Docker has enabled an unprecedented velocity of software production, it is all too easy to spin out of control. A promotion-based model is required to control and track the flow of Docker images as much as it is required for a traditional software development lifecycle. New tools often introduce new paradigms. We will examine the patterns and the antipatterns for Docker image management, and what impact the new tools have on the battle-proven paradigms of the software development lifecycle.
17. Poll time!
I use binary repository:
Naturally,Artifactory!
Shame on me,
but still Nexus…
18. Poll time!
I use binary repository:
Naturally,Artifactory!
Shame on me,
but still Nexus…
I don’t like features, I use Archiva
19. Poll time!
I use binary repository:
Naturally,Artifactory!
Shame on me,
but still Nexus…
I don’t like features, I use Archiva
I am a caveman, binary what?
41. What you like about it:
– No need to maintain the server
42. What you like about it:
– No need to maintain the server
– Fanatic tech support
43. What you like about it:
– No need to maintain the server
– Fanatic tech support
– Always up to date!
44. What you like about it:
– No need to maintain the server
– Fanatic tech support
– Always up to date!
What you don’t like about it:
45. What you like about it:
– No need to maintain the server
– Fanatic tech support
– Always up to date!
What you don’t like about it:
– Can’t deploy your own plugins!
46. What you like about it:
– No need to maintain the server
– Fanatic tech support
– Always up to date!
What you don’t like about it:
– Can’t deploy your own plugins!
47. What you like about it:
– No need to maintain the server
– Fanatic tech support
– Always up to date!
What you don’t like about it:
– Can’t deploy your own plugins!
61. Controversial example ahead!
You might find it inaccurate.
If you are annoyed by that feeling,
try to remember – it’s just an
example.
62. GaaE: Google as an Example
Product Self
Service
Multi-
tenant
* aaS
63. GaaE: Google as an Example
Product Self
Service
Multi-
tenant
* aaS
Gmail
Not *aaS,
web-app
64. GaaE: Google as an Example
Product Self
Service
Multi-
tenant
* aaS
Gmail
Not *aaS,
web-app
Google Apps
SaaS
65. GaaE: Google as an Example
Product Self
Service
Multi-
tenant
* aaS
Gmail
Not *aaS,
web-app
Google Apps
SaaS
Google App
Engine
PaaS
66. GaaE: Google as an Example
Product Self
Service
Multi-
tenant
* aaS
Gmail
Not *aaS,
web-app
Google Apps
SaaS
Google App
Engine
PaaS
Google Compute Engine
Engine
IaaS
67. AaaE: Amazon as an Example
Product Self
Service
Multi-
tenant
* aaS
68. AaaE: Amazon as an Example
Product Self
Service
Multi-
tenant
* aaS
Amazon store
Not *aaS,
web-app
69. AaaE: Amazon as an Example
Product Self
Service
Multi-
tenant
* aaS
Amazon store
Not *aaS,
web-app
aStore
SaaS
70. AaaE: Amazon as an Example
Product Self
Service
Multi-
tenant
* aaS
Amazon store
Not *aaS,
web-app
aStore
SaaS
Amazon Elastic
Beantalk
PaaS
71. AaaE: Amazon as an Example
Product Self
Service
Multi-
tenant
* aaS
Amazon store
Not *aaS,
web-app
aStore
SaaS
Amazon Elastic
Beantalk
PaaS
Amazon Elastic Cloud
IaaS
105. GaaE for Multi Tenancy types
Product Multi-tenancy Type
106. GaaE for Multi Tenancy types
Product Multi-tenancy Type
Google Apps Data Separation
107. GaaE for Multi Tenancy types
Product Multi-tenancy Type
Google Apps Data Separation
Google App Engine Application Separation
108. GaaE for Multi Tenancy types
Product Multi-tenancy Type
Google Apps Data Separation
Google App Engine Application Separation
Google Compute Engine Process Separation
110. Strategy Pros Cons
Separating data Normal Java Application
Separating
application
Separating processes
Let’s compare!
111. Strategy Pros Cons
Separating data Normal Java Application Manual state separation
Complicated and critical
schema
Separating
application
Separating processes
Let’s compare!
112. Strategy Pros Cons
Separating data Normal Java Application Manual state separation
Complicated and critical
schema
Separating
application
Separating processes
Let’s compare!
113. Strategy Pros Cons
Separating data Normal Java Application Manual state separation
Complicated and critical
schema
Separating
application
Separating processes No shared state
Simple transition from existing
Let’s compare!
114. Strategy Pros Cons
Separating data Normal Java Application Manual state separation
Complicated and critical
schema
Separating
application
Separating processes No shared state
Simple transition from existing
JVM per tenant!
Let’s compare!
115. Strategy Pros Cons
Separating data Normal Java Application Manual state separation
Complicated and critical
schema
Separating
application
Separating processes No shared state
Simple transition from existing
JVM per tenant!
Let’s compare!
116. Strategy Pros Cons
Separating data Normal Java Application Manual state separation
Complicated and critical
schema
Separating
application
No shared state
Simple transition from existing
Separating processes No shared state
Simple transition from existing
JVM per tenant!
Let’s compare!
117. Strategy Pros Cons
Separating data Normal Java Application Manual state separation
Complicated and critical
schema
Separating
application
No shared state
Simple transition from existing
Separating processes No shared state
Simple transition from existing
JVM per tenant!
Let’s compare!
118. Strategy Pros Cons
Separating data Normal Java Application Manual state separation
Complicated and critical
schema
Separating
application
No shared state
Simple transition from existing
Stay tuned…
Separating processes No shared state
Simple transition from existing
JVM per tenant!
Let’s compare!
119. Separate WARs: Tomcat Root
┌── lib
├── webapps
│ ├── customer-name
│ ├── other-customer-name
│ └── many other customers
└── other dirs (bin, conf, log, etc)