Using "Grails" and utilizing SpringSource, we shall offer a hands-on demo introducing a typical "Grails" development environment and a classical cloud computing application deployed and managed on top of Amazon CC services.
Martin Lippert introduces Eclipse Orion, an open source platform for cloud-based software development. Orion provides a lightweight and ultra-fast editor, file navigation, search, and running unit tests within a web browser. It is built entirely with JavaScript and supports features like content assist, folding, and Git integration. Orion is modular and reusable - for example, Scripted is a lightweight JavaScript editor that can run in browsers. Orion addresses innovation happening on the web but also faces challenges of offline use and transferring existing tooling to the browser.
Run-through of key patterns and approaches for applying software engineering practices and microservice design to infrastructure. Infrastructure as Code is the "A" (Automation) in the "CAMS" model for DevOps.
How to model Infrastructure as Code as part of CI / CD, incorporating it into your standard application development lifecycle, execute infrastructure changes in your CI/CD pipeline, and get additional benefits, such as reducing configuration errors and provisioning faster. All this leveraging IaC Tools on AWS like AWS CloudFormation, AWS SAM & AWS CDK
Session Presented @IndicThreads Cloud Computing Conference, Pune, India ( http://u10.indicthreads.com ) ------------ One of the big hurdles for an enterprise to move to the cloud is the fear of getting locked into a specific cloud implementation. This is one of the big reasons apart from security of data that keeps most of the enterprises out of the cloud space. Currently each vendor provides their unique set of API to interact with their Cloud services. This mandates a need to recode and refactor when moving from one cloud provider to the other. jClouds is a multi cloud framework which allows connection to multiple clouds such as Amazon, VMWare, Azure, and Rackspace. jClouds provides portable abstractions for cloud specific features, thus allowing the application to move from one cloud vendor to the other with relative ease. jClouds also had a simulators to operate in restricted environments like Google App Engine and Android. Unit testing and mocking is made easy through stub connections which simulate the cloud. Takeaways from the session * Understand the need for a multi cloud framework * showcase of abstractions for different cloud environments. * Introduction to capabilities of jClouds * Hands on application development using jClouds on GAE
Cloud Foundry is an open source Platform as a Service (PaaS) that was developed and published by VMware in 2011. It allows developers to build, deploy, and run applications on the cloud. Cloud Foundry uses buildpacks to define application environments and supports various programming languages, frameworks, and services. It provides tools for developers like vmc command line, Eclipse integration, and Maven/Gradle plugins. Scaling in Cloud Foundry can be done at the infrastructure level by the PaaS operator or at the application level by the app developer.
Shows how to abstract Cloud specific infrastructure in AWS, Azure and own DC using a demo application written in Vertx.
This document discusses Contentful Engineering's migration from using AWS alone to using Kubernetes on AWS. Some key points: 1) Contentful migrated to take advantage of Kubernetes' focus on application delivery and open source development model over their previous Chef-based deployment platform. 2) They use Kops to manage Kubernetes clusters on AWS, deploying clusters in the same VPC and using kubenet networking and kube2iam to integrate with AWS services. 3) The migration process involved moving services to Kubernetes deployments and exposing them via LoadBalancer services, and updating service discovery in Route53. 4) Lessons learned include staying up to date with Kubernetes and Kops releases, customizing Kops outputs
Bootstrapping a Kubernetes cluster is easy, rolling it out to nearly 200 engineering teams and operating it at scale is a challenge. In this talk, we are presenting our approach to Kubernetes provisioning on AWS, operations and developer experience for our growing Zalando Technology department. We will highlight in the context of Kubernetes: AWS service integrations, our IAM/OAuth infrastructure, cluster autoscaling, continuous delivery and general developer experience. The talk will cover our most important learnings and we will openly share failure stories. Presented on 2017-09-28 at AWS Tech Community Days in Cologne.
share why and when 42 Labs use Heroku or Dockerized Server Docker Hong Kong Meetup - Docker Hack Day 2014 Sharing
It's one thing for developers to write a Connect add-on. It's a whole different thing to run it in a production mode. When you consider both development and production, a series of questions emerges: - How do I reduce the cost and overhead of administering environments (servers)? - How can I build in scalability from the start? - How can I enable continuous deployment? The 12-factor application principles are often cited as the solution. Using the principles of 12-factor applications, it is much easier to go from rapid development iterations into production. And then to keep the pace of rapid iteration, even as each goes into production. From this talk, you will learn what the 12 factors are and how they can supercharge your Atlassian Connect add-on. Peter Van de Voorde, Community Developer, Atlassian
This document discusses using Infrastructure as Code with Terraform and Azure. It begins with an introduction to Terraform and how it can be used to manage Azure infrastructure in a declarative way. The document then covers the Terraform workflow including editing configuration files, running a plan, and deploying infrastructure. It demonstrates Terraform through a live demo and discusses how it can benefit operations, security, and development teams. It concludes by discussing the partnership between Microsoft and HashiCorp to further integrate Terraform with Azure.
Global Integration Bootcamp 2018 Melbourne/Australia Visual Studio Connected Environments for Kubernetes revelead
Why write two add-ons when you can write one and deploy it to both Server and Cloud? Charles Gutjahr from ThinkTilt shares how they brought their Connect add-on to different clouds. Learn how he packaged the add-on in a Docker container to offer it behind the firewall. Hear about the implications for installation, data storage, security, and functionality. By the end of the talk, you'll be able to decide whether Dockerization is the right choice for your add-on. Charles Gutjahr, Co-Founder and Technology Architect, ThinkTilt
>>Watch the Codefresh Live webinar at Codefresh.io/events Creating and using custom Helm charts for internal consumption is incredibly powerful. In this edition of Codefresh Live we'll go through best practices for creating, testing, and deploying Helm Charts. We'll mix custom and community charts into our application and show best practices for promoting charts into ACR Chart Repositories. You'll be surprised just how effective Helm Charts can be in a streamlined DevOps workflow.
Andrew Spyker presented on the Netflix Cloud Platform and ZeroToDocker project. The following key points were discussed: - ZeroToDocker provides Docker images of Netflix OSS projects like Eureka, Zuul and Asgard to more easily evaluate the technologies. However, the images are not intended for direct production use. - A demo showed running a microservices application and supporting Netflix OSS services like Eureka and Zuul using Docker containers on a single machine. - While Docker aids development and evaluation, additional tooling is needed to operationalize containers at production scale across multiple hosts for tasks like networking, security, logging and scheduling. Competing ecosystems are emerging to address these needs.
A presentation on the Netflix Cloud Architecture and NetflixOSS open source. For the All Things Open 2015 conference in Raleigh 2015/10/19. #ATO2015 #NetflixOSS
Here's a story that might sound familiar... A couple years ago, you implemented a modest P2 add-on. It did just what you needed. Now, this little add-on isn't so little anymore! You long for a way to make it lean and nimble again. Oh: and your instance is behind a firewall, so you can't use Atlassian Connect. (or can you?...) Join Matej for a walk-through on how to rewrite a "P2-like" add-on as a Dockerized microservice that can communicate with an instance using webhooks and entity properties. He'll discuss the differences between Atlassian Connect and "pure" usage of webhooks, as well as show you what to watch out for. Matej Konecny, Senior Software Developer, Atlassian
The Amazon Elastic Compute Cloud (EC2) is a virtualized computing environment where you rapidly provision and manage servers via a web services API. It is ideally suited to running Java applications because it allows you to develop applications using standard software packages such as Glassfish and MySQL. However, because it is a cloud, some aspects of EC2 are very different than a traditional, physical computing environment, which impacts how you handle security, networking, storage and availability.
Some slides that I used when giving a demo of Cloud Foundry (www.cloudfoundry.com) at SD Forum Cloud Services Sig. Feb 2009
Cloud computing isn't just about application deployment. There are also a growing number of cloud-based web services that you can use to develop your application. One of the most well known is Amazon's Simple Storage Service. But there are many others including web services for messaging, relational and NoSQL databases, email and telephony. Using these services allows you to build highly scalable applications without the pain and cost of having to develop and operate your own infrastructure. In this presentation, you will learn about the benefits and drawbacks of these Web services; their typical use cases and how to use them. We will describe a location aware, telephony application that is built using cloud services. You will learn about strategies for building resilient, fault tolerant applications that consume cloud services.
NoSQL databases such as Redis, MongoDB and Cassandra are emerging as a compelling choice for many applications. They can simplify the persistence of complex data models and offer significantly better scalability and performance. However, using a NoSQL database means giving up the benefits of the relational model such as SQL, constraints and ACID transactions. For some applications, the solution is polyglot persistence: using SQL and NoSQL databases together. In this talk, you will learn about the benefits and drawbacks of polyglot persistence and how to design applications that use this approach. We will explore the architecture and implementation of an example application that uses MySQL as the system of record and Redis as a very high-performance database that handles queries from the front-end. You will learn about mechanisms for maintaining consistency across the various databases.
GORM is Grails' object relational mapping tool that provides a simpler and easier to use API for working with databases compared to Hibernate. It leverages Hibernate under the hood but uses conventions over configuration, allowing database access and relationships to be defined directly in domain classes without additional mapping files or DAOs. While powerful, GORM has some limitations like lack of support for multiple data sources and disadvantages of programming in a dynamic language.
Test code needs to be as clean and as simple as production code. However, when writing tests there is the ever present temptation to not be as disciplined as you should be. As a result, test code quality gradually decays over time and becomes difficult to maintain and brittle. For example, a common problem is bloated and duplicated test fixture logic. Another problem is tests that are written at too low-level, which makes them difficult to understand and change. If you are not careful, you run the risk of your test code falling into disrepair and being ignored, which defeats the purpose of having tests. In this talk you will learn how to make tests easier to develop and maintain by using a coding style that abstracts away the details and eliminates code duplication. We describe how to simplify test fixtures by designing domain objects with fluent interfaces, and centralizing test object creation in object mothers. You will also learn how to simplify verification logic with custom assertions. We describe how to improve web tests by writing them in terms of test utility methods, instead of calling Selenium RC directly. These utility methods form an internal domain-specific language that hides low-level details, such as mouse and button clicks.
The document discusses using Groovy and Grails for developing applications on Google App Engine. It provides an overview of Groovy, including Groovlets and templates. It also discusses the Grails framework and how the App Engine plugin allows Grails applications to be deployed to App Engine. The presentation concludes with a high-level summary of how Groovy and Grails simplify application development for the Google cloud and takes questions from the audience.
This document discusses the roadmap for Grails 2.3, 2.4, and 3.0. Some of the key points discussed include: - Grails 2.3 focuses on REST support, async programming, data binding improvements, and other features. - Grails 2.4 will include upgrades to Spring 4.0, Groovy 2.3, improved @CompileStatic support, and an asset pipeline plugin. It also plans modularization of the codebase. - Grails 3.0 aims to fully embrace Gradle, support different application profiles beyond servlet containers, improve packaging/deployment, reduce dependencies, and allow for microservice architectures. It will deprecate the existing
Building a "recommended books" application on Google App Engine for Java "early look", using Groovy to help out on the XML processing.
Presentation to IASA Atlanta about cloud computing topics and advice for architects on how to incorporate these new technologies and approaches into their systems
This document provides best practices for startups using AWS. It recommends taking an MVP approach, focusing on core features and offloading non-differentiating tasks to AWS services. It also emphasizes loose coupling between services using techniques like message queues, idempotent interfaces, and circuit breakers to enable scalability and resiliency. Finally, it discusses automating infrastructure provisioning and management using tools like AWS CloudFormation, OpsWorks and Elastic Beanstalk.
This document summarizes several Apache Java cloud projects: CloudStack, jclouds, and Whirr. It discusses how they work together and what each can do. CloudStack is an open source IaaS cloud platform. jclouds provides a common Java API to interact with multiple cloud providers. Whirr is a tool built on jclouds that allows deploying distributed systems on clouds. Specifically, Whirr can deploy Hadoop clusters on CloudStack using jclouds in an automated and cloud-agnostic way. The document demonstrates using Whirr to deploy a Cloudera Hadoop cluster managed by Cloudera Manager.
I presented to the Georgia Southern Computer Science ACM group. Rather than one topic for 90 minutes, I decided to do an UnConference. I presented them a list of 8-9 topics, let them vote on what to talk about, then repeated. Each presentation was ~8 minutes, (Except Career) and was by no means an attempt to explain the full concept or technology. Only to wake up their interest.
Presentation to the CSix Cloud Computing Group. Hello Cloud Project was a project that explored, developed, and deployed in The Cloud. Project Team consisted of CSIx Cloud Computing Members. Project Manager, Julie McDaniel; Dan Levin.
Slides for an introductory workshop on cloud computing for a web app developer audience at FOWA Miami 09 (http://events.carsonified.com/fowa/2009/miami/workshops#workshop_36)
1) The document discusses deploying a Java MVVM sample application called ZkToDo2 to two Platform as a Service (PaaS) clouds: Heroku and Openshift. 2) The application uses ZK, Spring, and JPA with a relational database and follows the MVVM pattern. Data bindings in ZK allow the view to be updated automatically based on changes to the view model. 3) Maven build profiles are used to swap Spring configurations to deploy the same codebase to different platforms like JBoss or clouds. The document demonstrates committing changes locally and deploying to both clouds with a single command.