Skip to main content
Category

Blog

Introducing Our Newest CDF Ambassador – Oscar Medina

By Blog, Staff

Hi Everyone,

My name is Oscar Medina, and I am thrilled to be part of this fantastic community. I have spent over 22 years in the technology industry, and have seen things come and go.

One thing that excites me these days (aside from the plethora of outdoor activities), is the paradigm shift I’ve seen throughout my career when it comes to systems architecture.  

Microservices and container orchestration is not going away as other things have. This is why I am committed to spreading the word and helping educate folks on what the Continuous Delivery Foundation is all about.

Over the past 4.5 years or so, I have spent a lot of time in the open-source world. I am currently a Developer Advocate for the Jenkins X project, which is also now under the CD Foundation umbrella along with other projects such as Spinnaker, Jenkins, Tekton, and Jenkins X, of course.

I look forward to meeting you at different organized events, virtual or hopefully in person in the future.

Standup Paddle Boarding on Lake Tahoe, California

My coding buddy, Ginger loves the outdoors too!

Cheers,
Oscar

Introducing Our Newest CDF Ambassador – BMK Lakshminarayanan

By Blog, Staff

Hello CDF Members,

I am BMK Lakshminarayanan from New Zealand. I am excited to join on the other great ambassadors’ line-up with Continuous Delivery Foundation (CDF) as a newly appointed CDF Ambassador.

About me:

I am a passionate Solutions Architect over 20 years of ICT experience working with Bank of New Zealand. I am a hands-on engineer, architect and worked on various challenging assignments ranging from desktop applications to distributed systems.

I am #DevOps #ContinuousDelivery advocate and evangelist for modern engineering & developer practices including helping developer productive, effective and efficient at the same time simple methods, approaches to software architecture.

I am passionate about sharing and learning with the community. Outside of my work, I run community groups and host CNCF New Zealand #meetup for Cloud-Native enthusiasts and The Future ICT to help students, people returning to work or looking for career opportunities in ICT.

I am also CNCF & DevOps Institue ambassador with a commitment to connecting the Humans of DevOps and Modern IT to advance the Skills, Knowledge, Ideas & Learning (SKIL). I am a frequent speaker at local meetups and international in-person & virtual conferences and also the Core organiser of DevOpsDays New Zealand and co-chair Cloud-Native Summit Wellington conferences. I am passionate about engaging, connecting & learning with various community members & leaders.

I am excited to associate with CDF as an Ambassador in promoting core values of CDF, open-source and vendor-neutral CI/CD tools. I am enthusiastic about the opportunity of contributing to and supporting the global community of CD Foundation & growing continuous delivery ecosystem.

Let us learn, share, care and grow together.

Please feel free to reach me out on LinkedIn or Twitter: @LBMKRISHNA

Introducing Our Newest CDF Ambassador – Eduardo Arango

By Blog, Staff

Carlos Eduardo Arango Gutierrez – Red Hat (carangog@redhat.com)

Eduardo is a performance engineer at Red Hat, working on the OpenShift performance & latency sensitive applications (PSAP) . Eduardo is also a Computer Science PhD student at Universidad del Valle, Cali, Colombia, working on containerized distributed systems for research computing, with high focus on automated workflows and GitOps.

His research interests include High Performance Computing, Distributed systems, Dependency management, Linux containers and most recently, Container orchestration. 

Over the past 5 years Eduardo has focused on enabling researchers to build and deploy performance sensitive applications with containers on distributed environments, by creating tutorials, talks and meetups around how to bridge Research computing and Cloud Native ecosystems.

Introducing Our Newest CDF Ambassador – Helen Beal

By Blog, Staff

Hello there! I’m Helen Beal, a new CD Foundation Ambassador from Chichester in the UK. I’m also Chief Ambassador at DevOps Institute so you can tell I’m a huge fan of the power of community. I’m also a DevOps coach, writer and speaker and strategic advisor. Books and words are a huge part of my life – I read constantly and have also written several novels with more in the pipeline. I also love playing Scrabble and Bananagrams.

This is me at home in Chichester, in the beautiful Priory Park. Behind me is the priory where William Blake was tried for sedition in 1803.

I’m really excited to have this opportunity to work closely with the Continuous Delivery community as it’s such an integral part of what we do in DevOps and I’ve been working with the software development lifecycle for my whole career, starting with Lotus Notes (remember that?!) in 1995! I write and speak about many different aspects of DevOps – recently I’ve been really focused on neuroscience in the workplace and value stream management. I also just did my first talk on the relationship between community and capitalism for TechStrongCon. Here’s a beautiful visual rendition of a recent talk by the wonderful MindsEyeCCF.

When I’m not DevOpsing, I tend to be out enjoying the beautiful British countryside. I’m a volunteer warden at a local nature reserve, Kingley Vale, where I pick up litter, ask people to put their dogs on leads and monitor species like the Chalk Hill Blue butterfly and one of our two UK snake species, the (lightly venomous) adder. Here’s me with a baby tawny owl.

I’m excited to be contributing to this community and meeting new people and learning new things. You can follow me on InfoQ here and Medium here. Find me on LinkedIn here and Twitter here.

Introducing Our Newest CDF Ambassador – Alexander Raul

By Blog, Staff

My name is Alexander Raul – and I am extremely happy to join the Continuous Delivery Foundation as a Community Ambassador!  

I am the CEO of Rackner, which is a cloud native consultancy focused on Kubernetes and Open Source – so my day to day is really driven by projects in the ecosystem.  Continuous Delivery is a piece which doesn’t get as much credit as it deserves and where there’s still plenty of work to be done.  

I am looking forward to introducing projects like Spinnaker and Tekton to developers all over the globe – and let’s be clear, Continuous Delivery should make the developer’s job easier while improving operational capability.  If it only does one of the two, there’s probably a better solution.

A case for declarative configurations for ML training

By Blog, Community

Contributed by Benedikt Koller

Original article posted on May 17, 2020

No way around it: I am what you call an “Ops guy”. In my career I admin’ed more servers than I’ve written code. Over twelve years in the industry have left their permanent mark on me. For the last two of those I’m exposed to a new beast – Machine Learning. My hustle is bringing Ops-Knowledge to ML. These are my thoughts on that.

Deploying software into production

Hundreds of thousands of companies deploy software into production every day. Every deployment mechanism has someone who built it. Whoever it was (The Ops Guy™, SRE-Teams, “Devops Engineers”), all follow tried-and-true paradigms. After all, the goal is to ship code often, in repeatable and reliable ways. Let me give you a quick primer on two of those.

Infrastructure-as-code (IaC)

Infrastructure as code, or IaC, applies software engineering rules to infrastructure management. The goal is to avoid environment drift, and to ensure idempotent operations. In plain words, read the infrastructure configuration and you’ll know exactly how the resulting environment looks like. You can rerun the provisioning without side effects, and your infrastructure has a predictable state. IaC allows for version-controlled evolution of infrastructures and quick provisioning of extra resources. It does so through declarative configurations.

Famous tools for this paradigm are Terraform, and to a large degree Kubernetes itself.

Immutable infrastructure

In conjunction with IaC, immutable infrastructure ensures the provisioned state is maintained. Someone ssh’ed onto your server? Its tainted – you have no guarantee that it still is in the identical shape to the rest of your stack. Interaction between a provisioned infrastructure and new code happens only through automation. Infrastructure, e.g. a Kubernetes cluster, is never modified after it’s provisioned. Updates, fixes and modifications are only possible through new deployments of your infrastructure.

Operational efficiency requires thorough automation and handling of ephemeral data. Immutable infrastructure mitigates config drift and snowflake server woes entirely.

ML development

Developing machine learning models works in different ways. In a worst case scenario, new models begin their “life” in a Jupyter Notebook on someones laptop. Code is not checked into git, there is no requirements file, and cells can be executed in any arbitrary order. Data exploration and preprocessing are intermingled. Training happens on that one shared VM with the NVIDIA K80, but someone messed with the CUDA drivers. Ah, and does anyone remember where I put those matplotlib-screenshots that showed the AUROC and MSE?

Getting ML models into production reliably, repeatedly and fast remains a challenge, and large data sets become a multiplying factor. The solution? Learn from our Ops-brethren.

We can extract key learnings from the evolution of infrastructure management and software deployments:

  1. Automate processing and provisioning
  2. Version-control states and instructions
  3. Write declarative configs

How can we apply them to a ML training flow?

Fetching data

Automate fetching of data. Declaratively define the datasource, the subset of data to use and then persist the results. Repeated experiments on the same source and subset can use the cached results.

Thanks to automation, fetching data can be rerun at any time. The results are persisted, so data can be versioned. And by reading the input configuration everyone can clearly tell what went into the experiment.

Splitting (and preprocessing data)

Splitting data can be standardized into functions.

  • Splitting happens on a quota, e.g. 70% into train, 30% into eval. Data might be sorted on an index, data might be categorized.
  • Splitting happens based on features/colums. Data might be categorized, Data might be sorted on an index.
  • Data might require preprocessing / feature engineering (e.g. filling, standardization).
  • A wild mix of the above.

Given those, we can define an interface and invoke processing through parameters – and use a declarative config. Persist the results so future experiments can warm-start.

Implementation of interfaces makes automated processing possible. The resulting train/eval datasets are versionable, and my input config is the declarative authority on the resulting state of the input dataset.

Training

 

Standardizing models is hard. Higher-level abstractions like Tensorflow and Keras already provide comprehensive APIs, but complex architectures need custom code injection.

A declarative config will, at least, state which version-controlled code was used. Re-runs on the same input will deliver the same results, re-runs on different inputs can be compared. Automation of training will yield a version-controllable artefact – the model – of a declared and therefore anticipatable shape.

Evaluation

Surprisingly, this is the hardest to fully automate. The dataset and individual usecase define the required evaluation metrics. However, we can stand on the shoulders of giants. Great tools like Tensorboard and the What-If-Tool go a long way. Our automation just needs to account for enough flexibility that a.) custom metrics for evaluation can be injected, and b.) raw training results are exposed for custom evaluation means.

Serving

Serving is caught between the worlds. It would be easy to claim that a trained model is a permanent artifact, like you might claim that a Docker container acts as an artifact of software development. We can borrow another learning from software developers – if you don’t understand where your code is run, you don’t understand your code.

Only by understanding how a model is served will a ML training flow ever be complete. For one, data is prone to change. A myriad of reasons might be the cause, but the result remains the same: Models need to be retrained to account for data drift. In short, continuous training is required. Through the declarative configuration of our ML flow so far we can reuse this configuration and inject new data – and iterate on those new results.

For another, preprocessing might need embedding with your model. Automation lets us apply the same preprocessing steps used in training to live data, guaranteeing identical shape of input data.

Why?

Outside academia, performance of machine learning models is measured through impact – economically, or by increased efficiency. Only reliable and consistent results are true measures for the success of applied ML. We as a new and still growing part of software engineering have to make sure of this success. And the reproducibility of success hinges on the repeatability of the full ML development lifecycle.

Introducing Our Newest CDF Ambassador – Shlomo Bielak

By Blog, Staff

Shlomo Bielak here. I am a CTO at a boutique SI in Canada trying to help anyone and everyone understand how to implement Continuous Deployment.

I think we have got down Continuous Delivery and Integration. Not-so-much the auto-deploy to production; that **** is complicated. I enjoy sharing on our webinars or with customers our Star-Trek approach to governance and CI/CD pipeline fitness.

Demo…Demo…Demo = Believe. I am all about sharing the practicing side of DevSecOps within CI/CD. Having invented governance engineering which is the operating model for security within CI/CD we know the complexities of making security fast within a DevOps mode. I share the model, process, milestones, and clear tasks to achieve those milestones, using an inner-source training plan to simplify your CI/CD journey.

I love publishing whitepapers and archetypes/exemplars to the market to better understand CI/CD which is their thought-leadership’s starting point – knowing your goal.I have been the keynote at CDF sponsor companies where they are looking to understand what the enterprise requires to be successful. I make sure my content hits the pain points and some self-deprecating laugh-points.

Today my desk is set for COVID. Tomorrow it is ready for conferences. Happy to be here supporting the CDF. Its business goal is at the core of our practice.

Introducing Our Newest CDF Ambassador – Tiffany Jachja

By Blog, Staff

Hi Readers,

2020 has been a crazy year, yet the opportunities remain to connect, learn, and share throughout our communities, and so I’m thrilled to join the Continuous Delivery Foundation. As a newly minted member of the CDF Ambassadors program, I look forward to getting to know everyone. 

A little bit more about me: my name is Tiffany Jachja. I’ve lived in Maryland almost all my life (go Old Bay!). One of my goals is to become a catalyst for better software delivery. 

Me, the one time I decided to leave Maryland and live 2,000 miles away from home. 

I work as an evangelist at Harness. This is my team.

We believe in empowering developers to move fast without breaking things.

I joined at the start of 2020, excited to travel, connect, and share my experiences around software delivery. 

Of course with the shelter in place policies, the travel bit did not pan out. But I’m grateful and fortunate for the opportunities to contribute to digitally! 

Observe2020 was a day-long conference held in April about Observability. 

ONUG Digital Live was ONUG’s first virtual event held in May 2020. 

I’ve been enjoying the fact that many industry events and sessions are now free to attend. It gives people who normally would not be able to attend an event, the opportunity to grow new skills and learn more about specific topics.

As you can tell, I do enjoy being on stage.I look forward to a healthier and safer time. 

I’m grateful for all the had opportunities I’ve had to help organizations and teams accelerate their DevOps journeys. It’s very rewarding to be a part of a team that’s hit their stride and can deliver effectively.

Before joining Harness, I was a consultant at Red Hat. I focused on cloud-native application development, so helping enterprises adopt and work with applications living in the cloud. I spent the latter half of my time at Red Hat, focusing on DevOps practices and culture. 

It’s important to work with your people, processes, and technology properly when going on transformation journeys.

An area we can improve on within the tech space is sharing stories and leveraging the experiences of others. 

I believe becoming a CDF Ambassador gives me the opportunities to help drive that mission further. 

Stay passionate, caring, and safe during these times. 

Cheers,

-Tiffany