Posts Tagged ‘emc dojo’

Creating Cloud Foundry Applications with Persistence Traditional & Cloud Native Applications with Persistence

Traditional & Cloud Native Applications with Persistence

Cloud Foundry and 12-Factor applications are great to create Cloud Native Applications and has become the standard. But you and I don’t just have to worry about our new 12 Factor apps, we also have legacy applications in our family.  Our position is that your traditional apps and your new cool 12-Factor apps should be able to experience the benefits of running on Cloud Foundry.  So, we have worked to create a world where your legacy apps and new apps can live together.

cf-logo

In the past, Cloud Foundry applications cannot use any filesystem or block storage. That totally makes sense, given that Cloud Foundry apps are executed in elastic containers, which can go away at any time. And if that happens, any data written to the local filesystem of the containers will be wiped.

If we can externalize persistent storage to be a service – and bind and unbind those services to Cloud Foundry applications – a lot more apps can run in Cloud Foundry. For example, heavy data access apps, like databases and video editing software, can now access extremely fast storage AND at the same time experience the scalability and reliability provided by Cloud Foundry.

Allowing Cloud Foundry applications to have direct persistence access opens a lot of doors for developers. Traditional applications that require persistence can migrate to Cloud Foundry a lot easier. Big Data Analytics applications can now use persistence to perform indexing and calculation.

Traditionally, a lot of data services consumed by Cloud Foundry applications, such as MySQL, Cassandra, etc, need to be deployed by Bosh as Virtual Machines. With Persistence, we can start looking bringing these services to run in Cloud Foundry or create the next generation of Cloud Native data services.

What can Developers Expect?

When developers come to the Cloud Foundry marketplace by using cf marketplace, they will see services that can offer their applications persistence:

Screen Shot 2016-05-20 at 10.37.37 AM

The details of the service plan can be seen by cf marketplace -s ScaleIO

Screen Shot 2016-05-20 at 10.57.04 AM

This is a plan that would offer 2GB of storage for your Cloud Foundry applications. Let’s sign up for it by running cf create-service scaleio small my-scaleio-service1

Screen Shot 2016-05-20 at 11.02.26 AM

By creating a service instance, the ScaleIO Service Broker goes into ScaleIO and creates a volume of 2GB. We are now ready to bind this new service to our app. To demonstrate the functionality, we have created a very simple application that will write and read to the filesystem:

Screen Shot 2016-05-20 at 11.09.51 AM

After a cf bind-service call, the storage will be mounted as a directory and the path will indicate an environment variable inside the service. For example:

Screen Shot 2016-05-20 at 11.35.07 AM

Based on the container_path variable, the application can read and write as if it’s a local filesystem.

 

UniK: Build and Run Unikernels with Ease UniK, Unikernels, Cloud Foundry, Docker, Kubernetes, Raspberry Pi, IoT

UniK, Unikernels, Cloud Foundry, Docker, Kubernetes, Raspberry Pi, IoT

Idit Levine

Idit Levine (@Idit_Levine), Office of the CTO & CTO of Cloud Platform Team, EMC

Unikernels are lightweight, immutable operating systems compiled specifically to run a single application. Unikernel compilation combines source code with the specific device drivers and operating system libraries necessary to support the needs of the application. The result is a machine image that can run directly on a hypervisor or bare metal, eliminating the need for a host operating system (like Linux). The unikernel represents the smallest subset of code required to run the application, giving us portable applications with smaller footprints, less overhead, smaller attack surfaces, and faster boot times than traditional operating systems. Together, I believe unikernels have the potential to change the cloud-computing ecosystem as well as to dominate the emerging IoT market.

However, compiling a unikernel is a challenging assignment. It requires rare expertise often absent in application developer’s toolkit. The difficulty of compiling Unikernels may significantly hamper their widespread adoption. I believe that the community will benefit from a straightforward way to build and manage unikernels.

This is why UniK was developed.

unik-logo

UniK (pronounced you-neek) is a tool for compiling application sources into unikernels — lightweight bootable disk images — rather than binaries. UniK runs and manages instances of compiled images across a variety of cloud providers as well as locally on Virtualbox. UniK utilizes a simple docker-like command line interface, making building unikernels as easy as building containers. UniK is built to be easily extensible, allowing – and encouraging – adding support for unikernel compilers and cloud providers.

UniK is fully controllable through a REST API to allow for seamless integration between UniK and orchestration tools such as Kubernetes or Cloud Foundry.

Docker Integration: Recognizing the open source community’s popular adoption of the Docker API, we extend UniK’s REST API to serve some of the same endpoints as Docker, allowing some Docker commands such as docker run, docker rm, and docker ps to control UniK, which we hope will make UniK easier to adopt for those already familiar with Docker.

Kubernetes Integration: To demonstrate the value of cluster management of unikernels, we implemented a UniK runtime for Kubernetes, making Kubernetes the first cluster manager to support unikernels. This integration allows UniK to take advantage of core Kubernetes features like horizontal scaling, automated rollouts and rollbacks, storage orchestration, self-healing, service discovery, load balancing and batch execution.

Cloud Foundry Integration: To provide the user with a seamless PaaS experience, we added UniK as a backend to the Cloud Foundry runtime, positioning Cloud Foundry as the first platform to run applications as unikernels. This adds the lightweight scalability of unikernels with the security and sophistication of vms (lightweight, immutable, performant), persistent storage, and the ability to run on bare metal.

ARM Integration: We believe the quintessential use case for unikernels is the advantage they give to smart devices in the Internet of Things. Their airtight security, immutable infrastructure, high performance and light footprint make them the ideal solution for deploying software on embedded devices. To demonstrate this vision for the future of unikernels, we implemented ARM processor support into UniK to run unikernels on the architecture used in most embedded devices such as the Raspberry Pi.

Today, we are thrilled to share the open source UniK under the Apache 2.0 license. We hope that the community will join us in making the Unikernel a first class citizen in the future cloud ecosystem and emerging market of IoT devices. Please visit our repository at https://github.com/emc-advanced-dev and try our Getting Started with UniK Tutorial https://github.com/emc-advanced-dev/unik/blob/master/docs/getting_started.md

Vegas Baby! EMC Dojo at EMC World 2016 EMC Dojo at EMC World 2016

EMC Dojo at EMC World 2016

EMC Dojo is at EMC World!

Come check out our sessions and play #Dojosnake! Scroll to see more!

What’s up at our Booth?

Come to booth #1051# to see what the EMC Dojo is up to! Learn more about persistence on Diego, UniK unikernel support for Cloud Foundry + Docker, RackHD CPI, & our other OSS Cloud Foundry projects!

Want to try pair programming? Give it a try at our booth! See how easy it is to $CF push apps to Cloud Foundry & pair with us on #Dojosnake! Won’t be able to make it to Vegas this year? Then see if you can beat the high score and play #Dojosnake! Make sure you tweet and follow @EMCdojo to get on the leaderboard 🙂

Screen Shot 2016-05-02 at 9.01.16 AM

If you will be in Vegas, come to one (or more!) of our sessions listed below.  Hope to see you there! (more…)

What If We Do A Little Less: Watch Dan Ward & The Simplicity Cycle #EMCDojo Meetup with Agile Expert and Author

#EMCDojo Meetup with Agile Expert and Author

“Simplicity is not the point, the point is not to reduce complexity. Goodness is the point. Goodness and value.”

 

Last week we were lucky enough to have Dan Ward come to the #EMCDojo to discuss the principles of his new book The Simplicity Cycle: A Field Guide to Making Things Better Without Making Them Worse. Watch the meetup below! If you don’t have time to watch right this second, read the Q&A for a teaser.

 

 

Q: How do you sort through customers’ different definitions of simplicity? Isn’t on customer’s complexity another customer’s value?

 

A: Different customers are going to have different definitions of goodness. Different customers will also have different levels of tolerance for complexity. For some customers, a certain level of complexity makes it less good and hard to use. for a super user, that same level of complexity is still okay. So part of the challenge is to understand with a large user community what goodness means. How do we mitigate that when you have users that want a lot of complexity and users that tolerate complexity less well? When you optimize a tool for the least capable user you improve its performance for all the users, including the most capable users. Simple tools tend to outperform their specs. Simple tools satisfy a broader range of interests and user sets than the designers and engineers might have anticipated. Simpler approaches tend to satisfy a broader range of users and customers. Which isn’t to say we shouldn’t provide a more complicated alternative for those users who want it – for whom goodness and complexity are directly proportional. And you only find that out if you’re engaged with your customers to get a sense of how they value complexity/simplicity. You have to talk to your customers to figure out what goodness means for them.

Q: What about modularity?

 

A: Modularity is a great strategy for mitigating and managing complexity. A modular design is one where you can plug and play, and let the users plug and play simpler or more complex modules. A modular design approach gives your users that optionality, the chance to engage and customize without complexifying things for those simpler users. Modularity is a simplifier and a goodifier. It improves the quality and flexibility of your design, but makes it robustly flexible. Complexity tends to increase fragility, and modularity is a way to combat that. 

 

Q: What about machine learning and AI? Does it change the vector position on the goodness and complexity graph?

 

A: Automation and machine learning take some of the burden of processing complexity from that user, and puts it below the screen/surface. Theres a man that coined the term the law of conservation of complexity: Complexity is neither created nor destroyed, we either move it above or below the surface, we let the automation or the users take care of it. I don’t know if I agree with that, but he has a point. There are ways to hide complexity and not expose the users to it, and automation and machine learning are a great way to simplify the user’s experience while still allowing the architecture to have some level of complexity. But all that being said, we still want to look for opportunities or instances where below the skin we’ve complexified things to the point where it becomes heavy and hard to debug/maintian. The back end matters too, its not just about the UX or UI.

 

Join our meetup group to hear about our other events!

 

Tour the Cambridge #EMCDojo Take a Virtual Tour of the EMC Dojo, Brian Roche Sr Director of Engineering

Take a Virtual Tour of the EMC Dojo, Brian Roche Sr Director of Engineering

Brian Roche

Brian Roche - Senior Director, Cloud Platform Team at Dell EMC. Brian Roche is the Leader of Dell EMC’s Cloud Platform Team. He is based in Cambridge, Massachusetts, USA at the #EMCDojo.

The Dojo is “the place of the way,” the new way that we develop software in today’s world. It’s where we contribute to open source Cloud Foundry. It’s where we work with customers to build software.  It’s where we practice lean software development and continuously innovate to solve customer needs.


Why Open a Dojo?

The new EMC-Pivotal Dojo is our response to today’s rapidly changing world.  EMC has established an East and West coast presence to contribute to open source software (OSS), specifically Cloud Foundry.  We know firsthand the transition to devops and the cloud is not easy.  Visitors to our Dojo can see all of the steps involved in this new way of software development. They can see lean methodologies in practice every day. We employ XP (extreme programming) and TDD (test-driven development) to support continuous delivery. This enables us to innovate fast and learn quickly.  This rapid innovation and quick delivery is exactly what is needed to achieve a competitive advantage, and keep it.

 

If you can’t come visit the dojo, we’ve prepared the next best thing; a short video tour of the dojo for you.

 

 

TDD at the #EMCDojo Test Driven Development, Brian Roche Sr Dr Engineering

Test Driven Development, Brian Roche Sr Dr Engineering

Brian Roche

Brian Roche - Senior Director, Cloud Platform Team at Dell EMC. Brian Roche is the Leader of Dell EMC’s Cloud Platform Team. He is based in Cambridge, Massachusetts, USA at the #EMCDojo.

I work on a team where we practice pair programming and TDD every day. Pairing alone isn’t the key to our success, another important element is Test Driven Development or TDD.

Traditional Engineering Teams

Most engineering teams today, make changes to their code and often these changes break a whole bunch of ‘stuff’.  If you’re lucky, you find out which functionality was regressed prior to pushing code to production.  But more often than not, we’re not that lucky.  The breaking change isn’t caught because automation does not exist.  So the code gets into the hands of the customer long after it’s been written and results in an escalation.  This leads to frustration and increased customer dissatisfaction.  But it doesn’t just lead to frustration and inefficiencies for our customers, it results in Increased TCO for everybody involved.  The cost of working this way is ENORMOUS.

(more…)

2 Heads Are Better Than 1: Pair Programming at the #EMCDojo Pairing at the EMC Dojo, Brian Roche Sr Director of Engineering

Pairing at the EMC Dojo, Brian Roche Sr Director of Engineering

Brian Roche

Brian Roche - Senior Director, Cloud Platform Team at Dell EMC. Brian Roche is the Leader of Dell EMC’s Cloud Platform Team. He is based in Cambridge, Massachusetts, USA at the #EMCDojo.

I work on a team where we practice ‘pairing’ and pair programming every day.  Before joining this team I had only a passing experience with pair programming. And now, after many months of pairing, I have a much better understanding of why we pair.


Pair Programming Explained
Pair programming is a technique in which 2 programmers work as a pair at one workstation.  One, the driver writes code and focuses on the tactical aspects of syntax and task completion.  Two, the observer considers the strategic direction of the code they’re writing together.  In our case, each developer has their own monitor, keyboard and mouse but is connected to one IDE.  The two programmers switch roles often.

(more…)

Digital Transformation – Learn by doing Brian Gallagher, President EMC Cloud Foundry Dojo

Brian Gallagher, President EMC Cloud Foundry Dojo

Last week we held the official opening of the EMC Cloud Foundry Dojo in Cambridge, Massachusetts. The term ‘dojo’ is a Japanese word that translates to ‘the place of the way’. In our dojo, software developers learn and contribute to Cloud Foundry, the leading open source platform for Cloud Native Applications. Dojo 1The Cambridge dojo is also co-located with Pivotal Labs to help customers develop these applications via modern software practices. The pairing of cloud software and cloud platforms are key ingredients in leading businesses through their digital transformation journey.

Why is the dojo opening a significant milestone for EMC? First, it underscores EMC’s commitment to open source software. Open source is a key purchasing criteria for 3rd platform applications and infrastructure. During the second half of 2015, EMC emerged from a non-participating company to one of the top contributors to the Cloud Foundry open source. EMC is helping to enhance the governance, risk, and compliance requirements of Cloud Foundry for enterprise businesses.

Second, it demonstrates EMC’s ability to transform itself via a DevOps model. Cloud Foundry’s methodology is a combination of the ‘best-of-the-best’ modern software development practices including Agile, Lean, Extreme Programming, and CI/CD. All contributors to the open source community follow this ‘way’ of development everyday.

(more…)

Follow Us on Twitter

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.