push2cloud – Deploy complex microservice applications in style

push2cloud logo1 dark squareCloud Platforms allow development teams to bring application to production very fast.
In Cloud Foundry a simple ‘cf push’ can be used to deploy your application and bind it to the required services. This works incredibly well for small applications. But as the trend in Cloud Native Applications is going towards microservice architectures, which easily can grow to a large number of decoupled components, it is hard to keep the overview of all the applications and dependencies. It also can get cumbersome and expensive to maintain the deployment scripts and configuration of the applications and very often deployments will get slow and unreliable.

When dorma+kaba was developing exivo, their new trusted, on-demand access control solution for small enterprises, they where exactly facing these challenges, because they had to run and maintain more than 70 apps and 60 services  on the Swisscom Application Cloud. Continue reading

Cloud Application Development Tooling

Overview

Todays Application developer tooling is focusing on single (mostly monolithic) applications and local development on developer workstations. Modern “Cloud Native Applications” on the other hand are distributed, decoupled, resilient and highly scalable. Sometimes a Business Application consists 20+ so called Microservices.

In the cloud age, customers expect fast innovation and a downtime-free application provisioning. Modern cloud development tools, cloud automation and continuous delivery of software as a service makes this possible. This delivery model depends on a continuous service deployment functionality in the hosting environment, i.e. in the PaaS or IaaS stack, in combination with powerful version control systems and automated continuous testing and integration. To bring software to scale and avoid failures, decentralised stacks and systems are used to deploy the services. Once they are deployed, scalability and resilience are taken care of by run-time methods such as CNA.

Cloud Application Developer tooling and Continuous deployment on PaaS platforms is a particularly popular research topic with industrial relevance. Tools are being created to support CloudFoundry, OpenShift, Heroku, and Azure. The goal is to get the services running with a single button click and no more worries about dependencies, random breakage or interface incompatibilities.

Objectives

Innovation in the entire application development lifecycle: design, modelling, testing, packaging, deployment, debugging, publishing, running, monitoring. This initiative will therefore contribute open source tools to build application development ecosystems.

  • Provide advanced tooling to develop and operate large and complex cloud application.
  • Innovation along the whole DevOps process: design, coding, testing, continuous integration, continuous deployment, provisioning, operation,…
  • Enhancing techniques and tools to support multi-stage zero-downtime deployment of complex cloud service systems.
  • Multi-Service/Multi-Cloud support (PaaS & IaaS)
  • Focus on Cloud Native Applications, but also supporting complex scenarios, like service interdependencies, versioning and data migrations.

Although there are several continuous deployment approaches and quite a few comparisons, there is a lack of a detailed analysis of how to choose the best techniques for deploying services in cloud environments. The Cloud Application Developer Tooling research initiative of the Service Prototyping Lab is exploring ways to get more knowledge and findings on this topic.

Relevance to current and future markets

Automation is a massive cost cutter in the IT industry. By leveraging modern distributed development technologies, application developers and operators can streamline the application lifecycle, eliminate the downtime,  and governing it with a minimum effort required for testing and deployment resources.

 

Articles and Publications

 

Open Source Software

  • Continous Deployment Framework for complex cloud service systems
    • currently supporting CloudFoundry PaaS, goal to support other PaaS
    • flexible workflows, CI tool independent
    • coming soon

Contact

Christof Marti: mach(at)zhaw.ch

Cloud Foundry Summit 2015

Cloud-Foundry-Summit-2015-1024x201

The Cloud Foundry Summit 2015 (third Cloud Foundry conference in total) took place this year on May 11th and 12th at the Santa Clara Convention Center. Attending already the second time it was great to see how the community and ecosystem is growing and the products are maturing.

With more than 1500 attendees,  the event was about 50% larger than last year. But more interestingly the ratio of vendors to customers changed from about 80%/20% to approximately 60%/40%, which shows the raising momentum of Cloud Foundry and PaaS in general.

The two days where packed with very interesting presentations in the key-notes and break-out sessions. It was a nice mix of vendor presentations, customer / user experience reports and technical talks on development, operations and internals of Cloud Foundry. Beside the talks there was plenty of other activities like Open House or Birds of Feather (BoF) sessions, evening events and “the Foundry”, a large exhibition, meeting and recreation area, which was ideal to get in touch with vendors and customers. For the first time there was also a diversity BoF and Lunch with more than 100 female attendees addressing the diversity gaps in the Open Source community.

All the talks have been recorded on video and made available here.

IMG_1170

Sam Ramj (CEO of Cloud Foundry Foundation) opening the summit.

Continue reading

Announcing 2nd CloudFoundry UserGroup DACH Meetup

link to meetup

Join us at the second CloudFoundry User Group DACH Meetup on September 22nd in Zürich.

This time the focus is on CloudFoundry in general. Learn about the basic functionality in the CloudFoundry 101 session and pick up some lessons learned from Klimpr, a startup which switched its Application from Heroku to CloudFoundry.

Date & Time
Monday, September 22nd 2014, 18:00 CEST

Place
ZHAW School of Engineering, Lagerstrasse 41, 8021 Zürich,
Room ZL O6.10 (6th floor)

Agenda
18:00 – 18:15 > Welcome
18:15 – 19:15 > CloudFoundry 101
19:15 – 19:30 > Lessons learned from Klimpr
19:30 – 21:00 > Q&A with drink and sandwiches/pizza

Please register here

PaaS on OpenStack

Description

In this initiative we focus on bringing Platform as a Service (PaaS) to the ICCLab testbed, on top of OpenStack. We are investigating and evaluating all the requirements for running various open source PaaS solutions like Cloud Foundry (http://www.cloudfoundry.org), OpenShift (http://www.openshift.org) and Cloudify (http://www.cloudifysource.org) and extend the testbed for monitoring, rating, charging and billing on PaaS level.

Plattform as a Service (PaaS) is focusing on developers as customers by providing them a platform containing the whole technology stack to run applications and services supporting all the typical cloud characteristics like On-Demand Self-Service, Rapid Elasticity, Measured Service, Resource Pooling etc.  Typically these platforms consist of:

  • Runtime environments (Java, Ruby, Python, NodeJs, .Net, …),
  • Frameworks (Spring, JEE, Rails, Django, … ) and
  • Services like
    • Datastores (SQL, NoSQL, Key-Value-Stores, File-/Object-Storage,…),
    • Messaging (Queuing, PubSub, EventProcessing,…)
    • Management Services (authentication, logging, monitoring,…)

Our full PaaS (mid-longterm) mission is described in the PaaS research theme page

Problem Statement

PaaS technologies and offerings are still in early stages. Lot of hype and movement in the market. Standards are not yet established. Lots of the open source tools like CloudFoundry and OpenShift are still in beta stages and not mature. Moving the responsibility for the operation of runtimes, frameworks and services to the cloud provider creates many new challenges. First of all the deployment and operation has to be totally automated and tooling for operation and management is needed. New parameters for monitoring and rating are required and new charging models to be developed and evaluated.  Other challenges are the automated interfacing with the underlying infrastructure layer (in our case OpenStack), to provide and guarantee the requested performance and scalability. Last but not least we have to investigate how to extend the frameworks with new services and runtimes.

Articles and Info

There are a number of presentations about PaaS in general and CloudFoundry/BOSH specifically used in the ICCLab:

Contact Point

Christof Marti

Christof Marti is Senior Lecturer (Docent) and Researcher at Zurich University of Applied Sciences lecturing in the areas of Software Engineering, Programming, Web-Technologies, ICT-Infrastructure, Operating System Technologies and Cloud Computing. He is responsible for the PaaS research theme at the ICClab.

Christof is the ad interim head of the InIT Service Engineering Focus Area.

His intrests are on enabling ICT-Services and Enterprise Applications to run on modern cloud computing technologies and infrastructure.

He has FH-diploma degrees in Electrical Engineering (Electronics and Communications Engineering) and Software Engineering.

Prior to joining ZHAW he was IT director (CIO) at the Winterthur School of Polytechnic (TWI), which is a predecessor organization of ZHAW. He is also a co-founder of the Software Engineering Startup SENAG, which provides Information Management Systems with a special focus on semantic and genetic data analysis.